13

現在、WAVファイルを解読しようとしています。ヘッダーからPCMデータまで。

WAVファイルの構造を詳しく説明したPDF(http://www.tdt.com/T2Support/technical_notes/tn0132.pdf)を見つけました。これを使用して、適切なヘッダーデータを抽出して理解することができました。 Ghex2。しかし、私の質問は次のとおりです。

整数バイトが逆方向に格納されるのはなぜですか?つまり、12月 20は、0x00000014ではなく0x14000000として格納されます。

PCMデータの整数も逆方向に保存されていますか?

4

2 に答える 2

14

WAV ファイルはリトル エンディアン (最下位バイトが最初) です。この形式は、リトル エンディアン形式を使用して数値を格納するインテル プロセッサ ベースのマシンで実行されているオペレーティング システム用に作成されたものです。

長い整数を短い整数または文字にキャストしたい場合、開始アドレスは同じままで、バイト数を減らすだけなので、考えてみると理にかなっています。

したがって、16 ビット以上のエンコーディングでは、PCM にもリトル エンディアン形式が使用されます。整数として取り込めるので、これは非常に便利です。16 ビットの場合は 2 の補数の符号付き整数として格納されますが、8 ビットの場合は格納されないことを忘れないでください。(詳細については、 http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.htmlを参照してください)

于 2010-09-11T20:31:28.543 に答える
3

「後ろ向き」は主観です。ビッグエンディアンのマシンもあれば、リトルエンディアンのマシンもあります。ファイル形式やネットワーク プロトコルなどのバイト指向のコンテキストでは、順序は任意です。ビッグ エンディアンまたはリトル エンディアンを指定するのが好きな形式もあれば、どちらの形式を使用しているかを示すフラグを付けて柔軟に受け入れる形式もあります。

リトルエンディアンのような WAV ファイルのように見えます。

于 2010-09-11T20:08:09.933 に答える