我通过麦克风输入一些音频。我将它录制在Audacity中,它看起来如下所示。
我想实时处理此音频。我主要想这样做:
查看实时音频幅度与时间的关系图。
根据事件执行一些操作,例如,如果看到类似于某些预定义波形图案的波形图案,则调用一个函数。
在图像的上半部分,您可以看到四个干扰。我希望每当看到这种干扰时,脚本应该调用一个函数,否则,当信号几乎是直的时,不要只是继续分析信号。
是否有允许我这样做的Python模块或C库?
答案 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包,它提供了一个高级对象模型并允许它 用户可以轻松编写使用语音的脚本,宏和程序 识别。
speech.py是一个Python模块,提供了一个干净的界面 Windows的语音识别和文本到语音功能。这是很 易于在需要侦听特定短语的程序中使用 或一般性发言,或需要发言。
无论如何,这两个python模块看起来像处理实时音频,可能会给你一些提示......
答案 3 :(得分:0)
对于点 1 ,您可以使用Pure Data。
点 2 是非常不明确的但是你可以试试PythonInMusic的运气(在Mason Hemmel回答之后)