0

オーディオを録音するアプリケーションを持っていますが、組み込みのレコーダー アプリケーションと比較すると品質が悪いです。

他のオーディオ レコーダーをダウンロードしてみましたが、確かに私のアプリよりも優れた音質です。

アプリケーションで最高品質のオーディオを得るにはどうすればよいですか?

4

1 に答える 1

2

録音環境が合理的である(つまり、重大なバックグラウンドノイズがない)と仮定すると、オーディオの品質に影響を与える2つの主な要因があります。

  • 録音されたオーディオのフォーマット
  • もしあれば、後処理は何をしますか

録音形式の場合、最高の品質が必要な場合は、MP3などの非可逆形式ではなく、非可逆形式(リニアPCMなど)を使用します。を使用する場合android.media.AudioRecord.AudioRecordは、コンストラクターで録音されたサウンドデータのビット深度とサンプルレートを指定できます。

AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)

一般的に、サンプルレートが高いほど、品質は高くなります。ビット深度はaudioFormatパラメータによって制御され、またはのいずれかを指定できAudioFormat.ENCODING_PCM_8BITますAudioFormat.ENCODING_PCM_16BIT。16ビットは一般的に高品質であり、ほとんどのデバイスがこれを処理すると思います。最大サンプリングレートはデバイスによって異なりますが、このサンプルレートはすべてのデバイスで「保証」されているため、44.1kHz(16ビット@ 44.1kHzは標準のCD形式)を取得できるはずです(AudioRecordを参照) 。

後処理に関しては、取得したデジタルオーディオサンプルに対してエコーキャンセレーション、ノイズリダクション、オーディオ圧縮、フィルタリングなどを実行できますが、妥当な品質のオーディオを実現するためにこれは必要ありません。

録音したオーディオ品質を他のアプリケーションの音質と比較する場合は、最初に、比較対象のアプリケーションと同じ形式でオーディオを録音/保存していることを確認する必要があります。その場合、後処理段階で違いが生じる可能性があります。

于 2012-04-22T22:18:54.430 に答える