2011-01-31 9 views
4

ギターの音の周波数を取得する必要があるプログラムに取り組んでいます。私はaurioTouchの例を変更して、最高の大きさの周波数を使用して周波数を出力しました。それは高い音ではうまくいくが、低い音では非常に不正確である。私はそれが倍音によるものだと信じています。私は、この問題をCepstrum分析などの方法で解決する方法を研究しましたが、例のコード内でこれを実装する方法が分かりません。どのような助けても大変感謝します、ありがとう!りんごのオーロタッチの例で周波数を計算する

+0

aurioTouchの例では、すでにオーディオをキャプチャしたり、FFTを実行してスペクトルを表示する機能があるため、FFTなどの部分を見つけてその時点で必要な機能を実行するように変更することは難しくありません、確かに? –

+0

も参照してください:http://stackoverflow.com/questions/4501089/fft-pitch-detection-for-guitar-string –

+0

あなたがiosの解決策を見つけた場合は、私を助けてください。 – dreamBegin

答えて

4

あなたが発見したように、音楽のピッチはピークの周波数と同じではありません。

しかし、リアルタイムオーディオで作業しようとする際にアルゴリズムを調べようとするのは簡単ではありません。

問題を分けることをお勧めします。 Mac上のいくつかの音楽サウンド(ギター弾きなど)を生のサウンドファイルに録音します。これらの録音サンプルセットで、選択したピッチ推定アルゴリズムを試してみてください。この作業が終わったら、コードをiOSオーディオとAccelerate(FFT用)フレームワークに統合する方法を理解してください。

+0

悪い考えではない、私はそのショットを与える – johnm

+0

こんにちは..私はまた、私のアプリでauriotouchプロジェクトを統合しようとしています。私は非常に長い間試みてきましたが、まだ私はそれを把握することができませんでした。だから、私はこの問題を整理するのに役立つことができますか? –

関連する問題