python - 是否有用于在Python中计算长期平均频谱(LTAS)的软件包?

标签 python audio fft wave

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

  • 从我的wave文件中获取SPL。
  • 将音频序列分为20 ms间隔(不重叠)
  • 使用numpy为每个时间范围计算傅立叶变换timeframe = np.fft.rfft(timeframe-np.mean(timeframe))
  • 使用np.abs(timeframe)处理结果的虚部。
  • 计算所有间隔的平均频谱。
  • 最佳答案

    韦尔奇(Welch)方法可用于计算时间序列的平均频谱。它可以执行您在步骤2-5中要做的事情。
    检查SciPy信号包和 Weld 方法:
    https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.welch.html

    关于python - 是否有用于在Python中计算长期平均频谱(LTAS)的软件包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63791529/

    相关文章:

    python - 有什么方法可以将单击的单词(来自 html)存储在服务器中的单独文件中吗?

    ios - 如何以编程方式检测存储在文档目录中的音频文件是否可播放 Xcode iPhone

    python - 看门狗-on_modified事件不会在编解码器文件更改时触发

    javascript - Web 音频 API 中 analyser.getByteFrequencyData 返回值的范围是多少?

    python - 从列表中提取时间值并添加到新列表或数组

    python - 在 cloudml 上使用部署的模型时,在 base64 中发现无效字符

    ios - 如何在 iOS 中使用 AVPlayer 缓冲音频?

    algorithm - 您究竟如何计算快速傅里叶变换?

    python - 现有数据帧上的快速傅里叶变换显示出意想不到的结果

    javascript - 多阶段范围验证