Python 是否有计算长期平均频谱 (LTAS) 的软件包?

Is there a package to calculate the Long-Term-Average-Spectrum (LTAS) in Python?

我在Python中搜索了一个类似于https://de.mathworks.com/matlabcentral/fileexchange/55212-long-term-average-spectrum的包 3. 我找到了 https://homepage.univie.ac.at/christian.herbst/python/index.html#praatUtilDemo,但它似乎不适用于 Python 3,我无法得到它 运行。 另外,我尝试自己实现它,但频谱看起来很奇怪。 我的步骤是:

  1. 从我的波形文件中获取 SPL。
  2. 将音频序列分成 20 毫秒的间隔(不重叠)
  3. 使用 numpy 计算每个时间帧的傅里叶变换timeframe = np.fft.rfft(timeframe-np.mean(timeframe))
  4. 使用np.abs(timeframe)处理结果的虚部。
  5. 计算所有间隔的平均频谱。

Welch 方法可用于计算时间序列的平均谱。它执行您在步骤 2-5 中打算执行的操作。

检查 SciPy 信号包和 welch 方法: https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.welch.html