繁体   English   中英

一个wav音频文件的情节谱图

[英]Plot Spectrogram of a wav audio file

我想在wav中绘制30s音频文件的频谱图。 但是我在python中这样做时遇到错误。 我如何实现我的目标?

    import scipy
    import matplotlib.pyplot as plt
    import scipy.io.wavfile
    sample_rate, X = scipy.io.wavfile.read('595.wav')
    print (sample_rate, X.shape )
    plt.specgram(X, Fs=sample_rate, xextent=(0,30))

和错误

    ValueError: only 1-dimensional arrays can be used

错误非常清楚: ValueError: only 1-dimensional arrays can be used 在您的情况下, X不是一维的。 您可以通过打印X.shape来查找。

虽然我不能没有一个完整的例子是某些这里,最好的猜测是,你有一个立体声wav文件,其中有2个通道。 所以,你需要选择,如果你想绘制左或右声道的频谱。 例如,用于左声道:

plt.specgram(X[:,0], Fs=sample_rate, xextent=(0,30))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM