解决Python语音信号频域谱线绘制报错:x和y维度不一致
这个报错提示是在绘制语音信号频域谱线时出现的,提示x轴和y轴的维度不一致。通过查看代码,发现是因为在计算频域谱线时,使用了fft函数,该函数会对输入的语音信号长度进行补零以提高计算效率,导致计算出来的频域谱线长度和原始语音信号长度不一致。因此需要在绘制频域谱线时,对计算出来的频域谱线进行截取,使其长度和原始语音信号长度一致。具体做法是将计算出来的频域谱线的长度截取为原始语音信号的长度,即:
magnitude1 = np.absolute(ft1)[:len(x1)//2+1]
magnitude2 = np.absolute(ft2)[:len(x2)//2+1]
将displaySpectrum函数中的ft1和ft2的计算方式修改为以上代码即可。
原文地址: https://www.cveoy.top/t/topic/nCEn 著作权归作者所有。请勿转载和采集!