使用 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 对音频文件进行快速频谱分析?的主要内容,如果未能解决你的问题,请参考以下文章
谁知道如何在python中用处理wav文件,并且对他的频谱进行分析的程序