我正在做CNN来调和鸟类声音,我知道如何从wav音频中获取频谱图的图像并将其保存,但是绘制46k图像花费的时间太长,有人告诉我要将频谱图的数据保存到一个txt文件,它可以用相同的方式训练AI,我进行了一些搜索,但找不到任何方法,如果你们有任何建议,我也将不胜感激。
此处是代码:
def get_spectrogram(wav):
D = librosa.stft(wav, n_fft=1080, hop_length=160,win_length=1080, window='hamming')
spect, phase = librosa.magphase(D)
return spect
for roots, directories,files in os.walk(path):
for filename in files:
if filename.endswith(".wav"):
wav, sr = librosa.load(filename, sr=None)
ipd.Audio(wav, rate=sr)
log_spect = np.log(get_spectrogram(wav))
plt.tick_params(top='off', bottom='off', left='off', right='off', labelleft='off', labelbottom='off')
ax = plt.axes()
ax.set_axis_off()
plt.imshow(log_spect, aspect='auto', origin='hight')
plot_name = f"{filename[:-4]}.png"
plt.savefig(outputdir + "/" + plot_name, dpi=1000, bbox_inches='tight', transparent=True)