我有一些通過麥克風的音頻輸入。我將它錄製在Audacity中,看起來如下所示。如何實時處理音頻?
我想實時處理這段音頻。我主要想這樣做:
查看實時音頻幅度與時間的關係圖。
根據事件執行一些操作,如看到類似於某種預定義波形的波形,然後調用函數。
在圖像的上半部分,您可以看到四個干擾。我希望每當看到這種干擾時,腳本應該調用一個函數,否則,當信號幾乎是直的時候,不要做任何事情,只是繼續分析信號。
是否有任何Python模塊或C庫可以讓我做到這一點?
我有一些通過麥克風的音頻輸入。我將它錄製在Audacity中,看起來如下所示。如何實時處理音頻?
我想實時處理這段音頻。我主要想這樣做:
查看實時音頻幅度與時間的關係圖。
根據事件執行一些操作,如看到類似於某種預定義波形的波形,然後調用函數。
在圖像的上半部分,您可以看到四個干擾。我希望每當看到這種干擾時,腳本應該調用一個函數,否則,當信號幾乎是直的時候,不要做任何事情,只是繼續分析信號。
是否有任何Python模塊或C庫可以讓我做到這一點?
賠率是PythonInMusic有你要找的東西,但它是相當難以判斷何時
對於點可以使用Pure Data。
點是非常不具體但你可以嘗試用PythonInMusic你的運氣
我會推薦給讓自己推出第一個FFT(梅森Hemmel答案之後),這將使你能夠對音頻的處理進行實時分析和控制。
1#正向FFT會給你在時域內的幅度,從你的頻域(音頻數據本身)轉換爲 2#根據時間/頻率內的幅度模式 - 你可以決定調用額外的線程或函數;例如 - 當你在某個頻率箱或時隙上沒有振幅時 - 做一些事情,否則跳過。
有很多開源C庫可以對音頻數據執行FFT,比如http://aubio.org/或https://github.com/zaphire/Monocle-Engine/blob/master/Core/Audio/fft.cpp還有很多。但在繼續之前,一定要讓你瞭解FFT和聲音分析。我個人沒有使用這些C庫中的任何一個 - 而是在iOS音頻分析方面做了很多工作,但工作原理應該是類似的
獲取FFT與OP問題有關。 FFT是許多算法的基礎,可能是OP的一個很好的起點。 – Paul