लिब्रोसा एक पायथन पैकेज है जो ऑडियो और संगीत फ़ाइलों का विश्लेषण करने में मदद करता है। यह पैकेज संगीत पुनर्प्राप्ति सूचना प्रणाली बनाने में भी मदद करता है। इस लेख में, हम देखेंगे कि लिब्रोसा स्पेक्ट्रोग्राम प्लॉट को विशिष्ट आकार की छवि के रूप में कैसे सहेजा जाए।
कदम
-
फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें..
-
एक आकृति और सबप्लॉट का एक सेट बनाएं।
-
तीन अलग-अलग चर प्रारंभ करें, hl , नमस्ते , वाई , छवियों के स्पेक्ट्रोग्राम, ऊंचाई और चौड़ाई में प्रति बार नमूने संग्रहीत करने के लिए।
-
एक डेमो ट्रैक लोड करें।
-
एक विंडो बनाएं , यानी, ऑडियो समय श्रृंखला के लिए एक सूची ..
-
मेलस्पेक्ट्रोग्राम() . का उपयोग करके मेल-स्केल्ड स्पेक्ट्रोग्राम की गणना करें विंडो . के साथ और चरण 3 डेटा।
-
power_to_db() का उपयोग करके पावर स्पेक्ट्रोग्राम (आयाम वर्ग) को डेसीबल (dB) इकाइयों में बदलें विधि..
-
स्पेक्ट्रोग्राम को img . के रूप में प्रदर्शित करें (हम इसे यहां सहेज सकते हैं)।
-
savefig() . का उपयोग करके img सहेजें ।
-
plt.show() . का उपयोग करके छवि प्रदर्शित करें विधि।
उदाहरण
import numpy as np import matplotlib.pyplot as plt import librosa.display plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig, ax = plt.subplots() hl = 512 # number of samples per time-step in spectrogram hi = 128 # Height of image wi = 384 # Width of image # Loading demo track y, sr = librosa.load(librosa.ex('trumpet')) window = y[0:wi*hl] S = librosa.feature.melspectrogram(y=window, sr=sr, n_mels=hi, fmax=8000, hop_length=hl) S_dB = librosa.power_to_db(S, ref=np.max) img = librosa.display.specshow(S_dB, x_axis='time', y_axis='mel', sr=sr, fmax=8000, ax=ax) plt.savefig("out.png") plt.show()
आउटपुट