使用 Python 2.6 对音频文件进行快速频谱分析?

Posted

技术标签:

【中文标题】使用 Python 2.6 对音频文件进行快速频谱分析?【英文标题】:Rapid spectral analysis of audio file using Python 2.6? 【发布时间】:2010-06-13 13:56:24 【问题描述】:

我想要做的是有一个子程序,它每 200 毫秒分析一次给定的声音文件,并将特定频率范围的频率强度值(从 0 到 1 作为浮点数)吐出到数组中我后来保存。然后,该值将继续用作应该“频闪”到音频文件的图形的不透明度值。

问题是,我以前从未涉足音频分析,也不知道从哪里开始。我看过 pymedia 和 scipy/numpy 认为我可以使用 FFT 来实现这一点,但我不确定如何操纵这些数据以得到预期的结果。 pymedia 的 SpectrAnalyzer 类的文档几乎不存在,并且网站上的示例实际上不适用于该库的最新版本 - 这并没有让我的生活更轻松。

我将如何开始这个项目?我完全不知道我应该使用哪些库。

【问题讨论】:

您可能会在这里找到有用的代码:swharden.com/blog/… 【参考方案1】:

您首先需要了解采样是如何工作的,然后您应该使用 Scipy FFT 例程(它们非常快)来输出频率强度值,然后您可以使用 Matplotlib 绘制此类图形。 有关使用 Python 分析声音文件的文章,请参阅 here,here 是有关 Python 中的 FFT 和 Spectograms 的类似问题。

【讨论】:

在使用 scipy.io.wavfile 加载我的音频文件的信号和 matplotlib 的 specgram 函数对其进行分析之后,我得到了我认为现在需要的数据,但我不知道至于如何处理这些数据。它似乎是我需要的一切——我只是不知道让它变得有形。有什么想法吗?

以上是关于使用 Python 2.6 对音频文件进行快速频谱分析?的主要内容,如果未能解决你的问题,请参考以下文章

在 Java 中使用 FFT 算法进行音频频谱分析

谁知道如何在python中用处理wav文件,并且对他的频谱进行分析的程序

Python音频处理——信号,波形与频谱

在将数据输入 FFT 用于音频频谱分析仪之前,使用 python 将 wav 文件转换为 csv 文件 [关闭]

matlab怎样进行频谱分析

如何使用python实现wave音频文件回放