私はポケットフィンクスを使用して、誰かが話すときに Android アプリケーションの単語を認識しています。ポケットフィンクスが記録する声の最大振幅を返す機能を実装したいと考えています。私が単語を話す場合、代わりにサウンドレベルを取得する必要があります(単語が認識されるか、デコーダからではないかのいずれか)。私がやったこと:ポケットフィンクスのコードを調べます->ソースファイルで現在コメントされているSpeechRecognizer:
/* while (!interrupted()
&& ((timeoutSamples == NO_TIMEOUT) || (remainingSamples > 0))) {
int nread = recorder.read(buffer, 0, buffer.length);
if (-1 == nread) {
throw new RuntimeException("error reading audio buffer");
} else if (nread > 0) {
decoder.processRaw(buffer, nread, false, false);
int max = 0;
for (int i = 0; i < nread; i++) {
max = Math.max(max, Math.abs(buffer[i]));
}....
この最大値はバッファから計算されているようです。完全な記録からこれを計算するにはどうすればよいですか。誰かが私にヒントを与えることができますか?