python计算wav文件功率谱并画图代码,读取方式为y, sr = librosa.load('/home/zhaobw21/prunetry/noise.wav', sr=16000)
时间: 2023-12-23 14:05:54 浏览: 29
下面是使用 `librosa` 库计算 WAV 文件功率谱并绘制图像的代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
import librosa
# 读取WAV文件
y, sr = librosa.load('/home/zhaobw21/prunetry/noise.wav', sr=16000)
# 计算功率谱
nfft = 1024 # FFT窗口大小
window = np.hanning(nfft) # 汉宁窗函数
Pxx, freqs, bins, im = plt.specgram(
y, NFFT=nfft, Fs=sr, window=window, noverlap=nfft // 2
)
# 绘制功率谱图
plt.xlabel("Time [s]")
plt.ylabel("Frequency [Hz]")
plt.colorbar()
plt.show()
```
在这个示例中,我们使用 `librosa` 库的 `load` 方法读取 WAV 文件,并将采样率设置为 16000。然后,我们使用 `matplotlib` 的 `specgram` 函数计算音频信号的功率谱并绘制图像。注意,我们在计算功率谱时,使用的是 `y` 变量作为音频信号,而不是 `frames` 变量。最后,我们设置了 x 轴和 y 轴的标签,并添加了一个颜色条。
相关问题
y, sr = librosa.load怎么批量处理文件
你可以使用 Python 的 for 循环来批量处理文件,例如:
```
import librosa
import os
# 设置文件夹路径
folder_path = '/path/to/folder'
# 获取文件夹中所有音频文件的路径
audio_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.wav')]
# 遍历所有音频文件并处理
for file_path in audio_files:
y, sr = librosa.load(file_path)
# 在这里添加你的处理代码
```
这段代码会遍历指定文件夹中所有以 .wav 结尾的音频文件,并使用 librosa.load() 函数加载每个文件。你可以在 for 循环中添加你的处理代码,以对每个文件进行批量处理。
python计算wav文件功率谱并画图代码
下面是Python计算wav文件功率谱并绘制图像的代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
import wave
# 打开WAV文件
with wave.open("test.wav", "rb") as wav_file:
# 读取音频采样率
framerate = wav_file.getframerate()
# 读取音频数据
frames = wav_file.readframes(-1)
signal = np.frombuffer(frames, dtype="int16")
# 计算功率谱
nfft = 1024 # FFT窗口大小
window = np.hanning(nfft) # 汉宁窗函数
Pxx, freqs, bins, im = plt.specgram(
signal, NFFT=nfft, Fs=framerate, window=window, noverlap=nfft // 2
)
# 绘制功率谱图
plt.xlabel("Time [s]")
plt.ylabel("Frequency [Hz]")
plt.colorbar()
plt.show()
```
这段代码中,我们首先使用 `wave` 模块打开 WAV 文件,并读取音频采样率和数据。然后,我们使用 `matplotlib` 中的 `specgram` 函数计算音频信号的功率谱,并绘制图像。在绘制图像之前,我们还设置了 x 轴和 y 轴的标签,并添加了一个颜色条。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)