ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:kkk311 WAVEファイルのヘッダー等について
困り度:
  • 困っています
現在WAVEファイルをバイナリで読み込み、チャンネルごとの情報(16進数)を配列に分けて入れたいと思っています。

サンプリングレートやデータサイズを読み込んだときに
サンプリングレートなら44.1kHz ならば "44 AC 00 00"(16進数)
とヘッダではなっていますよね?
でも、実際は、44.1kHz = 44100Hz(10進数) = "00 00 AC 44"
と逆です、ではチャンネルでもそうなのでしょうか?
チャンネルはもしも3チャンネルだった場合(あまりないと思いますが。)
112233 112233…と並んでいるのでしょうか?
それとも1111 2222 3333?でしょうか。

現在手元にソースがなく詳細を書けないのですが、WAVEファイルの全体構造について詳細なサイトや書籍等をご存知でしたら教えていただけると助かります。
よろしくお願いいたします。
質問投稿日時:08/04/21 19:54
質問番号:3965589
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:Tacosan サンプリングレートについては「エンディアン」が影響してます. つまり x86 系だと複数バイトのデータは「下位バイトが先にくる」ことになっています. 従って「44 AC 00 00」というデータは「最下位バイトが 44, 下から 2番目のバイトが AC, ...」ということを意味していて, 結局普通の表現に直すと 0x0000AC44 = 44100 となります. 複数バイトで表されるものは全てこのようになっています.
で, 実際の音声データは各チャンネルのデータがインターリーブされます. 3チャンネルなら「112233 112233 ...」という並び方になります.
種類:回答
どんな人:経験者
自信:参考意見
回答日時:08/04/21 20:01
回答番号:No.2
参考URL: http://www.kk.iij4u.or.jp/~kondo/wave/
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

良回答10pt

回答者:alphion ここはどうでしょう?
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/04/21 19:57
回答番号:No.1
参考URL: http://www.kk.iij4u.or.jp/~kondo/wave/#data
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示良回答のみ表示