2012-03-05 148 views
1

因此,我試圖檢測從麥克風錄製的聲音的平均頻率。可以假定這個聲音是以mp3或者wav的形式出現的。我的最終目標是要做到這一點(或足夠接近),但現在只需找到mp3或wav的平均頻率即可。麥克風音高/頻率檢測(尤其是動作3.0)

我有一個令人難以置信的困難時間找到任何類的動作3.0可以幫助我完成這項任務。任何人都可以通過建議AS3.0中的類或算法來幫助我解決這個特定任務嗎?

感謝所有提前。

+0

谷歌更多... http://stackoverflow.com/questions/1803671/how-to-calculate-frequency-amplitude-in-flash-as3-with-flash-player-9 – 2012-03-06 04:14:51

回答

0

最佳方法因您所分析的音頻而異。對於單聲道輸入,如歌手,長笛或小號,自相關方法可以很好地工作。這裏的想法是,你試圖通過在不同的時間間隔比較它自己以找到最佳匹配來找到波形的週期。想象一下,你有一個聲波,每隔400個樣本開始一段時間。如果你要迭代一些樣本數量,總是比較索引i處的樣本和索引處的樣本(i + 400),也許通過從另一個樣本中減去另一個樣本並將該結果添加到運行總數中,您會發現您的如果波形在這個400的間隔內完全匹配,那麼總數將爲0.當然,您不知道400是您的幻數,因此您需要檢查各種可能範圍內的間隔。您可以排除會導致頻率不可能很低或較高的間隔。你顯然不期望找到一個完美的比賽,但一般來說,比賽最接近的時間間隔是你的單音音調的頻率。

對於復調音源或帶有音色非常豐富的樂器(如小提琴或吉他)的樂器,您可能需要使用不同的方法。基於FFT的方法被廣泛用於此目的,以便將音頻段分解爲它們的諧波音調內容。然後,應用一些規則來決定從FFT中產生哪些頻率是最佳選擇。