2009-08-06 15 views
1

AVAudioRecorderのpeakPowerForChannelメソッドとaveragePowerForChannelメソッドの違いは何ですか?AVAudioRecorder:ピ​​ーク電力と平均電力

なぜ、返される値が負であるのですか?音がなくなると0になるのではなく、音の振幅が上がったときに上がるのでしょうか?もっと「読みやすい」形式に変換するにはどうしたらいいですか?

ありがとうございました。

答えて

2

私はこれらの値を見ていませんが、オーディオボリュームに関連しているので、デシベルの変化として測定されていると思います。

0は最大ラウドネスであり、それよりも静かなものはすべて、デシベル単位で表されます。

肯定と否定は関係ありません。ラウドネス(またはラウドネスを知覚する)の違いを測定している対数スケールであることを覚えておいてください。

13

ピークパワーは、すべてのサンプルのすべての絶対値の最大値を取ることを意味します。オーディオのクリッピングを防ぐのに便利です。

平均パワーは、サンプルのRMS(平方根)です。これは、人間の耳にどの程度の大きさの音を出すかを決めるのに便利です。

この値は、0 dBがオーディオシステムの最大値と等しいデシベルで表されるため、負の値です。これはlog10のスケールだと、変換のための式は:DBはデシベルレベルで

db = 10 * log10 (level); 

が0.0から1.0までの範囲のスカラー値です。したがって、レベルが0.0(サイレント)の場合、結果は負の無限大になります。

"読み取り可能な"形式が必要な場合は、レベルメーター(UIProgressViewまたは独自の)を使用できます。最大値は0.0、最小値は-60.0です(ノイズフロアに応じて調整できます)。デシベルに慣れたら、線形レベルよりも理にかなっています。