1

私は iPhone OS でオーディオを扱っていますが、少し混乱しています。

現在、オーディオ バッファから -32767 ~ 32768 の範囲の pcm 値の形式で入力を取得しています。式 20LOG10(p/pref) を使用して dbSPL 変換を実行したいと考えています。

pRef が .00002 パスカルであることは認識しており、pcm 値をパスカルに変換したいと考えています。

私の質問は、a) これらの pcm 値が正確に何を表しているかです。b) これらの値をパスカルに変換するにはどうすればよいですか。

本当にありがとう

4

3 に答える 3

2

追加情報がなければ、この変換を行うことはできません。PCM 値の圧力の物理単位 (パスカル) へのマッピングは、音量設定、出力デバイスの特性 (イヤホン? PA システム?)、および出力デバイスに対する観察者の位置 (デバイスのすぐ隣) によって異なります。スピーカー? 100 メートル離れた?)。

質問の最初の部分に答えるには、たとえば 1 kHz の正弦波トーンの音圧と時間の関係をグラフにすると、サンプル時間での線形量子化された PCM 値は、次の音圧の変動にほぼ比例します。その瞬間の周囲。(入力デバイスと出力デバイスがオーディオ周波数範囲全体で完全にフラットな応答曲線を持つことはめったにないため、「大まかに」。)

于 2010-07-23T23:17:08.093 に答える
1

あなたの質問は「iphone」、「objective-c」、「objective-c++」のいずれでもありません。しかし、それは非常に簡単に答えることができます:http: //en.wikipedia.org/wiki/Pulse-code_modulation

ご挨拶

于 2010-07-24T00:14:43.953 に答える