如何实时处理音频?

时间:2013-06-26 15:13:15

标签: audio signal-processing

我通过麦克风输入一些音频。我将它录制在Audacity中,它看起来如下所示。

Audio waveform

我想实时处理此音频。我主要想这样做:

  1. 查看实时音频幅度与时间的关系图。

  2. 根据事件执行一些操作,例如,如果看到类似于某些预定义波形图案的波形图案,则调用一个函数。
    在图像的上半部分,您可以看到四个干扰。我希望每当看到这种干扰时,脚本应该调用一个函数,否则,当信号几乎是直的时,不要只是继续分析信号。

  3. 是否有允许我这样做的Python模块或C库?

4 个答案:

答案 0 :(得分:3)

我建议首先介绍FFT,这样你就可以实时分析和控制音频处理。

1#正向FFT将为您提供时域内的幅度,从您的频域转换(音频数据本身) 2#根据时间/频率内的振幅模式 - 您可以决定调用额外的线程或功能;例如 - 当您在某个频率仓或时间段上没有振幅时 - 做某事,否则跳过。

有很多开源C库可以对音频数据执行FFT,例如http://aubio.org/https://github.com/zaphire/Monocle-Engine/blob/master/Core/Audio/fft.cpp还有很多。但在继续之前,请务必让您了解FFT和声音分析。我个人没有使用任何这些C库 - 而是使用iOS音频分析做了很多,但工作原理应该类似

答案 1 :(得分:0)

赔率PythonInMusic有你正在寻找的东西,但很难说你的目标任务是“基于某些事情执行一些行动”

答案 2 :(得分:0)

如果我们在这里谈论语音识别,您可以查看dragonfly,其中描述为

  

一个Python包,它提供了一个高级对象模型并允许它   用户可以轻松编写使用语音的脚本,宏和程序   识别。

pyspeech

  

speech.py​​是一个Python模块,提供了一个干净的界面   Windows的语音识别和文本到语音功能。这是很   易于在需要侦听特定短语的程序中使用   或一般性发言,或需要发言。

无论如何,这两个python模块看起来像处理实时音频,可能会给你一些提示......

答案 3 :(得分:0)

对于点 1 ,您可以使用Pure Data

2 是非常不明确的但是你可以试试PythonInMusic的运气(在Mason Hemmel回答之后)