将音频文件转换成频谱图,然后将频谱图的数据保存到txt文件

时间:2019-12-12 21:26:56

标签: python artificial-intelligence spectrogram saving-data

我正在做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)

0 个答案:

没有答案