簡単なオーディオトラックを再生するアプリを作成しており、トラックの再生中に近くにノイズがないかどうかを知らせてください。これは、iPhoneのスピーカーで曲が再生されている間にマイクからライブ録音を行うことによって行われます。音楽の再生の一部ではない音は、ノイズとして定義されます。
この機能を実装する最も簡単な方法は何でしょうか?
私はそれをオンラインでかなり広範囲に調査しましたが、この特定の問題の解決策を示すものを見つけることができませんでした。それは私が読んださまざまな技術の組み合わせかもしれませんが、最終的には解決策になります。
すでに実装
している曲の再生とオーディオの録音を同時に行います。
私が試したこと
注:すでに試したことを追加することをお勧めしますので、次の部分を追加します。しかし、これが問題を解決する正しい方法であると言っているわけではありません。それは私が試したものにすぎません。
私はaurioTouch2サンプルアプリケーションをハッキングしました。私が行ったのは、曲を1回再生し、高速フーリエ変換値を記録することでした(記録されるデータの量を低く抑えるためにかなり低いサンプルレートで)。次に、トラックが再度再生されたときに、基本的に、ライブ再生fftデータと記録されたfftデータを使用して作成された出力グラフ間の相関係数を(タイムステップごとに)計算します(したがって、 fftモードのアプリ)。
この「一種の」作品。過剰な音/ノイズが部屋にある場合、相関係数は明らかに低くなりますが、感度はそれほど高くなく、fftデータの記録時に使用された音量レベルにも依存します。結局、これは最善のアプローチではないかもしれないと私は考えています。
誰かがこれが可能だと思いますか?もしそうなら、最善のアプローチは何でしょうか?
さらに詳しい説明が必要かどうかお尋ねください。