2016-12-02 6 views
-1

アンドロイドでオーディオを録音し、実行時に特定の周波数をピックアップしたいと考えています。典型的な例は、ギターチューナーアプリです。 私は、ギターがチューニングされているか、どのようにチューニングされているかを私に知らせるために、アプリがオンになっている間、オーディオを継続的に聴いていると思われる「Guitartuna」を使用します。 でも、Googleは「OK Google」を引き続き聴いていますが、この段階ではそれはあまりにも進んでいます。 私の目的は今のところ周波数を拾うことです。 私は経験豊富なアンドロイドの開発者ですが、オーディオを扱うのに全く新しいです。 助けていただければ幸いです。Androidでのオーディオ解析

+1

あなたの質問は広すぎます。しかし、Googleの主題には、「デジタル信号処理チュートリアル」、「ピッチ検出」、「ピッチ推定」、「アンドロイドリアルタイム録音」、「アンドロイド低遅延オーディオ」などがあります。 – hotpaw2

答えて

1

TarsosDSPと呼ばれるライブラリがあります。hereにチェックしてください。

コードは次のようになります。

// create a detector using the FastYin algorithm 
    PitchDetector pitchDetector = new FastYin(SAMPLE_FREQ, BUFF_SIZE); 
    // ... 
    float dataBuffer[] = ... 
    float pitch = pitchDetector.getPitch(dataBuffer).getPitch(); 

テーラは(マイクとデフォルトのプレーヤーを使用して)も、Androidの中でオーディオを読み書きするためのいくつかの機能です。