【发布时间】:2019-08-14 05:02:49
【问题描述】:
我想将频谱图用于 CNN 的音频文件分类。问题是我的音频文件有不同的长度(在 2 秒到 17 秒之间)以及我生成频谱图的时间。它们都具有相同的大小,这意味着较短的音频文件的频谱会变宽。如何生成频谱图以不改变信号?
我尝试使用 matplotlib.pyplot 库来创建频谱图,但所有图像都是 640 x 480。
这是我使用的代码
import matplotlib.pyplot as plt
from scipy.io import wavfile
samplingFrequency, signalData = wavfile.read('dia0_utt0.wav')
plt.title('Spectrogram')
plt.specgram(signalData,Fs=samplingFrequency,NFFT=512)
plt.xlabel('Time')
plt.ylabel('Frequency')
plt.savefig('fig11.png')
我不知道如何根据它们的长度获取可变维度的频谱图,或者让它们具有相同的维度但在没有信息的情况下填充其余部分直到最大长度。 例如,如果我有一个 3 秒的文件,并且最大长度为 17 秒,则生成 3 秒的频谱图,然后在没有噪声的情况下填充频谱图的其余部分,使其达到 17 秒。
【问题讨论】:
标签: python audio signal-processing