python读取音频显示波形
时间: 2023-07-10 19:19:51 浏览: 166
要读取音频文件并显示波形,你可以使用Python中的`wave`和`matplotlib`模块。以下是一个简单的示例代码:
```python
import wave
import numpy as np
import matplotlib.pyplot as plt
# 打开音频文件
wav_file = wave.open('audio.wav', 'r')
# 读取音频数据
data = wav_file.readframes(-1)
data = np.frombuffer(data, dtype=np.int16)
# 获取音频参数
sample_rate = wav_file.getframerate()
num_channels = wav_file.getnchannels()
duration = wav_file.getnframes() / float(sample_rate)
# 关闭音频文件
wav_file.close()
# 绘制波形图
time = np.arange(0, len(data)) * (1.0 / sample_rate)
plt.plot(time, data)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.show()
```
在这个例子中,我们使用`wave`模块打开音频文件并读取音频数据。然后,我们使用`numpy`将数据转换为`int16`类型的数组,并使用`matplotlib`绘制波形图。最后,我们展示了波形图。请注意,这个例子只适用于单声道的音频文件。如果你有多声道的音频文件,你需要对每个通道分别进行处理。
阅读全文