Python画一个频谱图
时间: 2024-03-06 22:21:23 浏览: 76
Python 编程 图谱
以下是用Python绘制频谱图的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.io import wavfile
# 读取音频文件
rate, data = wavfile.read('test.wav')
# 计算音频信号的快速傅里叶变换(FFT)
fft_out = np.fft.fft(data)
# 计算FFT输出的实部和虚部
fft_mag = np.abs(fft_out)
# 计算频率轴
freq_axis = np.fft.fftfreq(data.size, 1/rate)
# 绘制频谱图
plt.plot(freq_axis, fft_mag)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Magnitude')
plt.show()
```
在这个示例中,我们首先使用`wavfile.read()`函数读取一个音频文件(`test.wav`),然后使用`np.fft.fft()`函数计算其快速傅里叶变换。我们可以使用`np.abs()`函数计算FFT输出的幅度谱,并使用`np.fft.fftfreq()`函数计算频率轴。最后,我们使用`plt.plot()`函数绘制频谱图。
运行这段代码后,你应该可以看到一个频谱图窗口,显示音频文件的频率成分。
阅读全文