gpt4 book ai didi

python - 计算 .wav 文件窗口上的功率谱图

转载 作者:行者123 更新时间:2023-11-30 22:57:43 25 4
gpt4 key购买 nike

我正在尝试计算声音文件一部分的功率谱图。目前我正在使用librosa为此。

我正在按 20*1e-3*samplerate 计算窗口大小。我想知道的是结果(特别是 t 的长度),如下面的示例所示:

44.1kHz 的采样率与 20ms 的时间帧相结合产生 882 个样本的窗口。

In [2]: D = np.abs(librosa.stft(y[:882]))**2

In [3]: np.shape(D)
Out[4]: (1025, 2)

我得到的结果是 2 毫秒的时间范围,这不是我的预期。有人可以帮助我/指出我做错了什么吗?

最佳答案

默认librosa.stft使用 FFT 大小 n_fft 2048,输出的第一维与实际输入信号的非冗余频率分量的数量匹配(即 1+n_fft/2,在本例中为 1025)。

第二个维度由时间片的数量决定,我想这就是您感到有点困惑的地方,您期望从 882 个样本中得到一个时间片。然而librosa.stft计算重叠时间片的输出。每个切片使用的样本数默认设置为 win_length/4,由于您没有指定 win_length,因此设置为 n_fft/4 或 512。充分利用 882 个样本(并根据需要进行填充),这将为您提供两个切片:

  • 一个用于样本 0 到 2047;
  • 另一个用于示例 512 至 881,并添加了零填充。

如果您不希望有任何重叠,可以设置 hop_length 参数来匹配 n_fft

关于python - 计算 .wav 文件窗口上的功率谱图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36505089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com