35

私はAndroidスマートフォンを使用したオーディオ録音から始めています。

音声録音をPCMファイルに正常に保存しました。データを解析して符号付きの16ビット値を出力すると、次のようなグラフを作成できます。しかし、y軸に沿った振幅値がわかりません。

  1. 振幅値の単位は正確には何ですか?値は16ビットで署名されているため、-32Kから+32Kの範囲である必要があります。しかし、これらの値は何を表していますか?デシベル?

  2. 8ビット値を使用する場合、値の範囲は-128〜+128である必要があります。それは16ビット値のボリューム/「ラウドネス」にどのようにマッピングされますか?16対1の量子化マッピングを使用しますか?

  3. なぜ負の値があるのですか?完全に無音になると、値は0になると思います。

何が記録されているかについての情報が掲載されているウェブサイトを誰かに教えてもらえれば幸いです。PCMファイル形式のWebページが見つかりましたが、データ値がわかりませんでした。

ここに画像の説明を入力してください

4

5 に答える 5

24

マイクの表面を考えてみてください。静かなとき、サーフェスはゼロの位置で静止しています。話すと、口の周りの空気が振動します。振動はバネのようなもので、前後、上下、内外の両方向に動きます。空気中の振動により、マイクの表面も上下に振動します。下に移動すると、正の値が測定またはサンプリングされる可能性があります。上に移動すると、負の値としてサンプリングされる可能性があります。(または、その逆かもしれません。) 話すのをやめると、サーフェスはゼロの位置に戻ります。

PCM 録音データから得られる数値は、システムのゲインによって異なります。一般的な 16 ビット サンプルでは、​​範囲は -32768 ~ 32767 で、歪み、クリッピング、またはオーバーフローなしで記録できる振動の可能な限り最大のエクスカーションです。通常、ゲインは少し低く設定されているため、最大値は歪みの端にありません。

追加した:

多くの場合、8 ビット PCM オーディオは符号なしのデータ型で、範囲は 0..255 で、値 128 は「無音」を示します。したがって、このバイアスを加算/減算し、約 256 でスケーリングして、8 ビットと 16 ビットのオーディオ PCM 波形を変換する必要があります。

于 2011-05-04T23:44:32.583 に答える
7

生の数値は、アナログ オーディオ信号をデジタルに変換するために使用される量子化プロセスのアーティファクトです。オーディオ信号を 0 付近の振動と考えたほうが理にかなっています。信号のエクスカーションを最大にするために、+1 と -1 まで拡張します。それ以外では、クリッピングが発生し、ハーモニクスが歪んでひどく聞こえます。

ただし、コンピューターは分数に関してはそれほどうまく機能しないため、0 から 65536 までの個別の整数を使用してその範囲をマッピングします。このようなほとんどのアプリケーションでは、+32767 がマイクまたはスピーカーのダイアフラムの最大の正の偏位と見なされます。録音(または再生)回路の特性を考慮に入れない限り、サンプルポイントと音圧レベルの間に相関関係はありません。

(ちなみに、16 ビット オーディオは非常に標準的で、広く使用されています。これは、S/N 比とダイナミック レンジのバランスが取れています。8 ビットは、ファンキーな非標準スケーリングを行わない限りノイズが多くなります。)

于 2011-05-05T00:32:14.070 に答える
3
Why are there negative values? I would think that complete silence

値は0になります

マイクロフォンのダイアフラムは両方向に振動し、その結果、正と負の電圧が発生します。値0は、ダイヤフラムが動いていないことを示すため、無音です。マイクの仕組みを見る

小さな説明:横隔膜の位置が記録されています。振動がないとき、変化がないときに沈黙が発生します位置している。つまり、あなたが見ている振動は、空気を押し出し、時間の経過とともに気圧の変化を引き起こしているものです。振動の上下のピークで空気が押し出されなくなったため、ピークは無音が発生したときです。信号の最も大きな部分は、ピークの中央のどこかで位置が最も速く変化するときです。ダイヤフラムがあるピークから別のピークに移動する速度によって、ダイヤフラムによって生成される圧力の量が決まります。上部と下部のピークがゼロ(またはそれらが共有する他の数値)に減少すると、振動も音もまったく発生しません。また、ダイヤフラムが遅くなり、ピーク間の時間間隔が長くなるため、生成または記録される音圧が少なくなります。

詳細については、 Yamaha SoundReinforcementHandbookをお勧めします。微積分の考え方を理解することは、音声と振動の理解にも役立ちます。

于 2011-08-26T17:36:35.963 に答える
3

ここには多くの優れた回答がありますが、読みやすい方法で質問に直接対処していません.

振幅値の単位は正確には何ですか? 値は符号付き 16 ビットであるため、-32K から +32K の範囲である必要があります。しかし、これらの値は何を表しているのでしょうか? デシベル?

値に単位はありません。それらは、アナログからデジタルへのコンバーターから出力された数値を単に表します。A/D コンバーターからの数値は、マイクとプリアンプの特性の関数です。

8 ビット値を使用する場合、値は -128 から +128 の範囲でなければなりません。16ビット値のボリューム/「ラウドネス」にどのようにマッピングされますか? 16対1の量子化マッピングを使用しますか?

この質問がわかりません。8 ビット オーディオを録音している場合、値は 8 ビットになります。8 ビット オーディオを 16 ビットに変換していますか?

なぜ負の値があるのですか?完全な沈黙は値が0になると思います

マイクロホンの振動板は両方向に振動し、その結果、正と負の電圧が発生します。横隔膜が動いていないことを示すため、値 0 は無音です。マイクの仕組みを見る

サウンドをデジタルで表現する方法の詳細については、こちらを参照してください。

于 2011-05-11T01:02:51.027 に答える
3

16 ビットの数値は、マイクからの A/D コンバーターの値です (ご存じのとおり)。また、マイクと A/D コンバーターの間のアンプには自動ゲイン コントロール (AGC) があることにも注意してください。AGC は、マイク信号の増幅をアクティブに変更して、A/D コンバーターに過度の電圧がかかるのを防ぎます (通常、DC 2 ボルト未満)。また、入力信号を A/D コンバータの範囲の中央 (1 ボルト DC など) に設定する DC 電圧デカップリングもあります。

そのため、マイクに音が届かない場合、AGC アンプはフラット ラインの 1.0 ボルト DC 信号を A/D コンバーターに送信します。音波がマイクに当たると、対応する AC 電圧波が発生します。AGC アンプは、AC 電圧波を受け取り、1.0 Vdc を中心にして、A/D コンバーターに送信します。A/D はサンプリングし (例えば、毎秒 44,000 で DC 電圧を測定します)、電圧の +/-16 ビット値を吐き出します。したがって、-65,536 = 0.0 Vdc および +65,536 = 2.0 Vdc です。+100 = 1.00001529 Vdc および -100 = 0.99998474 Vdc の値が A/D コンバーターに到達します。

+ 値は 1.0 Vdc を超えています。 - 値は 1.0 Vdc 未満です。

ほとんどのオーディオ システムでは、対数式を使​​用してオーディオ波を対数的にカーブさせるため、人間の耳がよりよく聞こえるようになっていることに注意してください。デジタル オーディオ システム (ADC を使用) では、デジタル信号処理によってこの曲線が信号に適用されます。DSP チップは大きなビジネスです。TI は、オーディオ処理だけでなく、あらゆる種類のアプリケーションに DSP チップを使用して大金を稼ぎました。DSP は、非常に複雑な計算をリアルタイムのデータ ストリームに適用して、iPhone の ARM7 プロセッサを停止させる可能性があります。256 個の超音波センサー/レシーバーのアレイに 2MHz のパルスを送信しているとします。

于 2014-04-11T14:01:09.613 に答える