Librosa একটি পাইথন প্যাকেজ যা অডিও এবং সঙ্গীত ফাইল বিশ্লেষণ করতে সাহায্য করে। এই প্যাকেজ সঙ্গীত পুনরুদ্ধার তথ্য সিস্টেম তৈরি করতে সাহায্য করে. এই নিবন্ধে, আমরা দেখব কীভাবে একটি লিব্রোসা স্পেকট্রোগ্রাম প্লটকে নির্দিষ্ট আকারের একটি চিত্র হিসাবে সংরক্ষণ করা যায়৷
পদক্ষেপ
-
চিত্রের আকার সেট করুন এবং সাবপ্লটের মধ্যে এবং চারপাশে প্যাডিং সামঞ্জস্য করুন..
-
একটি চিত্র এবং সাবপ্লটের একটি সেট তৈরি করুন৷
-
তিনটি ভিন্ন ভেরিয়েবল শুরু করুন, hl , হাই , wi , চিত্রের বর্ণালীগ্রাম, উচ্চতা এবং প্রস্থে প্রতি সময় নমুনা সংরক্ষণ করতে।
-
একটি ডেমো ট্র্যাক লোড করুন৷
৷ -
একটি উইন্ডো তৈরি করুন৷ , অর্থাৎ, অডিও টাইম সিরিজের জন্য একটি তালিকা..
-
মেলস্পেকট্রোগ্রাম() ব্যবহার করে একটি মেল-স্কেল করা স্পেকট্রোগ্রাম গণনা করুন উইন্ডো সহ এবং ধাপ 3 ডেটা।
-
power_to_db() ব্যবহার করে পাওয়ার স্পেকট্রোগ্রাম (এম্পলিটিউড বর্গ) কে ডেসিবেল (dB) ইউনিটে রূপান্তর করুন পদ্ধতি..
-
বর্ণালীকে img হিসাবে প্রদর্শন করুন (আমরা এটি এখানে সংরক্ষণ করতে পারি)।
-
savefig() ব্যবহার করে img সংরক্ষণ করুন .
-
plt.show() ব্যবহার করে ছবিটি প্রদর্শন করুন পদ্ধতি।
উদাহরণ
npimport librosa.displayplt.rcParams["figure.figsize"] =[7.50, 3.50]plt.rcParams["figure.autolayout"] =Truefig, axplotlib.pyplot হিসাবে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()
আউটপুট