NFFT=NFFT,Fs=framerate,window=np.hanning(M=framesize), noverlap=overlapSize)什么意思
时间: 2024-06-04 07:11:58 浏览: 20
这是一个用于计算短时傅里叶变换(STFT)的函数,其中:
- NFFT:表示进行STFT的窗口大小,通常是2的幂次方,例如1024、2048等等。
- Fs:表示采样率,即每秒采样的样本数。
- window:表示窗函数,通常使用汉宁窗(Hanning Window)进行加窗处理,以减少频谱泄漏(Spectral Leakage)现象。
- noverlap:表示重叠的样本数,即相邻两个窗口之间的重叠部分。通常取窗口大小的一半。
这个函数的作用是将时间域的信号转换为频域信号,以便进行频谱分析、滤波等操作。
相关问题
Pxx, freqs, bins, im = plt.specgram( y, NFFT=nfft, Fs=sr, window=window, noverlap=nfft // 2 )
在这段代码中,`plt.specgram()` 函数的参数解释如下:
- `y`:要计算功率谱的音频信号。
- `NFFT`:FFT 窗口大小,默认为 256。
- `Fs`:音频信号的采样率。如果未指定,则默认为 2 * max(`freqs`)。
- `window`:FFT 窗口函数。默认为矩形窗口。
- `noverlap`:相邻窗口之间的重叠量,以样本数为单位。默认为 `NFFT // 2`。
这个函数的返回值包括四个值:
- `Pxx`:音频信号的功率谱,是一个二维数组,其中每一行表示一个频率通道,每一列表示一个时间窗口。
- `freqs`:每个频率通道的中心频率。
- `bins`:每个时间窗口的开始时间。
- `im`:绘制的谱图对象。
import librosa import numpy as np import matplotlib.pyplot as plt path = "Actions - Devils Words/mixture.wav" # sr=None声音保持原采样频率, mono=False声音保持原通道数 data, fs = librosa.load(path, sr=None, mono=False) L = len(data) print('Time:', L / fs) #0.025s framelength = 0.02 #NFFT点数=0.025*fs framesize = int(framelength * fs) print("NFFT:", framesize) #画语谱图 plt.specgram(data, NFFT=framesize, Fs=fs, window=np.hanning(M=framesize)) plt.ylabel('Frequency') plt.xlabel('Time(s)') plt.title('Spectrogram') plt.show()
在这段代码中,用于计算和绘制语谱图的参数如下:
- framelength:帧长度,表示每个窗口的持续时间。在这里,它被设置为 0.02 秒(20 毫秒)。
- framesize:NFFT 点数,表示进行快速傅里叶变换时使用的点数。在这里,它的值是根据帧长度和采样率计算得到的。
根据代码中的注释,帧长度为 0.02 秒,对应的 NFFT 点数为 `framesize`。接下来,使用 `plt.specgram` 函数来计算和绘制语谱图。其中:
- `data` 是音频数据。
- `NFFT` 参数指定进行 FFT 计算时使用的点数,即 `framesize`。
- `Fs` 参数指定采样率,即 `fs`。
- `window` 参数指定窗口函数,这里使用的是汉宁窗。
最后通过调用 `plt.ylabel`、`plt.xlabel` 和 `plt.title` 来设置坐标轴和标题,然后使用 `plt.show()` 展示语谱图。
您可以根据需要调整帧长度和 NFFT 点数来获得所需的时间和频率分辨率。此外,还可以尝试不同的窗口函数来观察语谱图的变化效果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)