matploblib显示wav音频波形图
时间: 2024-09-20 16:10:50 浏览: 48
Matplotlib是一个强大的数据可视化库,在Python中常用于创建各种图表,包括音频波形图。如果你想展示WAV音频文件的波形,可以使用`mplot3d`模块中的`specgram`函数,它能生成频率谱图。以下是基本步骤:
1. 首先,你需要安装matplotlib以及pydub这个处理音频的库,可以使用pip安装:
```bash
pip install matplotlib pydub
```
2. 导入所需的库并加载WAV文件:
```python
import matplotlib.pyplot as plt
from pydub import AudioSegment
# 加载WAV音频
audio = AudioSegment.from_wav("your_audio_file.wav")
```
3. 将音频转换成适合绘制的数据:
```python
# 提取音频帧和幅度
frames = audio.get_array_of_samples()
frame_rate = audio.frame_rate
time_stamps = [i / frame_rate for i in range(len(frames))]
```
4. 使用`specgram`函数创建波形图:
```python
fig, ax = plt.subplots(figsize=(10, 4))
Sxx, freqs, t, im = ax.specgram(frames, Fs=frame_rate, NFFT=512, noverlap=256)
plt.colorbar(im, ax=ax) # 显示颜色条
ax.set_xlabel('Time (seconds)')
ax.set_ylabel('Frequency (Hz)')
ax.set_title('Audio Spectrogram')
plt.show()
```
阅读全文