web-dev-qa-db-ja.com

Androidでのリアルタイム音声処理

私は、その場でオーディオモールス信号をデコードできるアプリを書く方法を見つけようとしています。 このドキュメント を見つけました。これは、Androidのマイクから音声を録音する方法を説明しています。私が知りたいのは、マイクから生の入力にアクセスできるかどうか、またはファイルへの書き込み/読み取りが必要かどうかです。

ありがとう。

33
Jeremy Logan

MediaRecorder (上記の例)を使用すると、圧縮されたオーディオがファイルに保存されます。

AudioRecord を使用すると、オーディオサンプルを直接取得できます。

はい、あなたがやりたいことは可能であるべきです。

24
dmazzoni

MIT funfと呼ばれるメディアラボからのセンシングフレームワークがあります。 http://code.google.com/p/funf-open-sensing-framework/
既に音声入力と分析(FFTなど)のクラスを作成し、ファイルへの保存やアップロードも実装されています。これらは、携帯電話で使用可能なセンサーのほとんどを処理します。また、彼らが書いたコードからインスピレーションを得ることもできますが、これはかなり良いと思います。

6
Andrei

AudioRecordの使用は過剰です。大きな音と無音の有無について、1000ミリ秒ごとにMediaRecorder.getMaxAmplitude()を確認するだけです。

本当に波形を分析する必要がある場合は、AudioRecordが必要です。生データを取得し、関心のある生バイトの一部の二乗平均のようなものを計算して、ボリュームの感覚を取得します。

しかし、MediaRecorder.getMaxAmplitude()が非常に使いやすいのに、なぜそんなことをするのでしょうか。

この答えから私のコードを参照してください: この質問

6
gregm