python绘制声音的频谱图
时间: 2023-06-30 11:25:30 浏览: 176
使用Python进行FFT傅里叶变换并绘制频谱图
要绘制声音的频谱图,可以使用Python中的librosa库和matplotlib库。以下是一个简单的例子:
```python
import librosa
import librosa.display
import matplotlib.pyplot as plt
# 加载音频文件
audio_file = 'audio.wav'
y, sr = librosa.load(audio_file)
# 计算短时傅里叶变换
D = librosa.stft(y)
# 转换成分贝
DB = librosa.amplitude_to_db(abs(D))
# 绘制频谱图
librosa.display.specshow(DB, sr=sr, x_axis='time', y_axis='log')
plt.colorbar()
plt.title('Spectrogram')
plt.show()
```
在这个例子中,我们首先使用librosa库加载音频文件,并使用stft()函数计算短时傅里叶变换。然后,我们将变换结果转换成分贝,并使用specshow()函数绘制频谱图。最后,使用matplotlib库中的colorbar()和title()函数添加颜色条和标题,并使用show()函数显示图形。
阅读全文