我正在做一个CNN来重新识别鸟类的声音,我知道如何从wav音频中获取光谱图的图像并保存它,但是绘制46k图像太长了,有人告诉我把光谱图的数据保存到一个txt文件中,它可以用同样的方法训练人工智能,我做了一些搜索,但找不到任何方法来做到这一点,如果你们有什么建议我也会很感激的
代码如下:
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)
目前没有回答
相关问题 更多 >
编程相关推荐