1

そこで、マイクから録音された音の平均周波数を検出しようとしています。このサウンドは mp3 または wav 形式であると想定できます。私の最終的な目標は、これをライブで (またはそれに近い形で) 行うことですが、今のところは、mp3 または wav の平均周波数を見つけるだけで十分です。

このタスクに役立つ actionscript 3.0 のクラスを見つけるのに信じられないほど苦労しています。AS3.0 のクラスや、この特定のタスクを調べるためのアルゴリズムを提案してくれる人はいますか?

事前にすべてに感謝します。

4

1 に答える 1

0

最適なアプローチは、分析しているオーディオによって異なります。歌手、フルート、トランペットなどのモノフォニック入力の場合、自己相関アプローチがうまく機能します。ここでの考え方は、さまざまな間隔でそれ自体と比較して最適な一致を見つけることにより、波形の周期を見つけようとしているということです。400 サンプルごとに最初から始まる周期の音波があるとします。インデックス i のサンプルとインデックス (i + 400) のサンプルを常に比較し、おそらく別のサンプルから 1 つを減算し、この結果を現在の合計に加算して、いくつかのサンプルを反復処理する場合、次のことがわかります。この 400 の間隔で波が完全に一致した場合、total は 0 になります。もちろん、400 があなたのマジック ナンバーであることはわかりませんが、そのため、可能な範囲内に収まるさまざまな間隔を確認する必要があります。信じられないほど低いまたは高い頻度になる間隔を除外できます。また、完全に一致することを期待していないことは明らかですが、一般的に言えば、一致が最も近い間隔がモノフォニック ピッチの周波数です。

ポリフォニック ソース、またはバイオリンやギターのような高調波が非常に豊富な音色を持つ楽器の場合は、別のアプローチを使用する必要がある場合があります。オーディオ セグメントをハーモニック ピッチの内容に分解するために、FFT ベースのアプローチが広く使用されています。次に、FFT から出力されるどの周波数が最善の策であるかを決定するために思いついたいくつかのルールを適用することが重要です。

于 2012-05-09T02:37:55.960 に答える