既存の音声認識と同様に動作するアプリケーションを作成していますが、音声データを独自のWebサービスに送信して、音声認識部分を実行します。音声認識に最適な標準のMediaRecord(AMR-NBエンコード)を使用しています。これによって提供される唯一のデータは、getMaxAmplitude()メソッドを介したAmplitudeです。
人が話し始めたときを検出して、人が約2秒間話しなくなったときに、音声データをWebサービスに送信できるようにしようとしています。現在、振幅のしきい値を使用しています。振幅が値(つまり、1500)を超えると、その人が話していると想定します。私の懸念は、振幅レベルがデバイス(つまり、Nexus One v Droid)によって異なる可能性があることです。そのため、振幅値から導き出すことができる、これに対するより標準的なアプローチを探しています。
PS私はグラフ化-振幅を見ましたが、それは振幅だけでそれを行う方法を提供していません。