WAVE (.WAV) file format
- 4バイト 'R' 'I' 'F' 'F'
- 4バイト これ以下のバイト数 (= ファイルサイズ - 8)
- 8バイト 'W' 'A' 'V' 'E' 'f' 'm' 't' ' '(←スペース)
- 4バイト WAVEfmt欄のバイト数
- 2バイト データ形式 (PCM: 01 00) [RFC 2361]
- 2バイト チャネル数 (モノ: 01 00 ステレオ: 02 00)
- 4バイト サンプリングレート (44100Hz なら 44 AC 00 00)
- 4バイト バイト/秒 (44100Hz ステレオ 16ビット なら 10 B1 02 00)
- 2バイト バイト/サンプル×チャネル数 (ステレオ 16ビット なら 04 00)
- 2バイト ビット/サンプル (16ビット なら 10 00)
- 「WAVEfmt欄のバイト数」-16バイト 拡張部分
- 4バイト 欄の名前 ('d' 'a' 't' 'a','f' 'a' 'c' 't' など)
- 4バイト この欄のバイト数 n
- nバイト 欄の内容
欄は 'd' 'a' 't' 'a' だけが必須。
欄 'd' 'a' 't' 'a' の内容には次の形式でデータが入っている。
- ステレオなら L R L R ... の順
- 8ビットデータは 0〜255 (無信号は 128)
- 16ビットデータは -32768〜+32767 (無信号は 0)
数値はすべて Intel バイトオーダで並べる。
- WAVE ファイルの内容を調べる拙作プログラム
dumpwave.c
[2009-06-12] Windowsの「サウンドレコーダー」の形式に対応しました。ヘッダ情報は標準エラー出力にしました。標準出力に出るのは音のPCMデータだけで,左右チャンネルの区切りはタブにしましたので,Excelへの取り込みが多少楽になったと思います。
[2009-06-19] バグフィックス。
[2015-02-02] 24ビット,32ビットに対応。