waveファイルフォーマットの現状

C++ でサウンドプログラミングに挑戦したいなぁとおもって、かなりの時間が経過。
しばらく前に着手はしたのだけど、クラスの設計に悩んだりしているうちに仕事が忙しくなって中断していた。

まぁ基本はやっぱり wave ファイルフォーマットだなぁと思っていろいろ調査した。
んー正式な仕様書って見つからない。
wave ファイルフォーマットは Microsoft が策定したんだとおもうんだけど。
ISO とかの標準化されているのかなぁ。

フォーマットの仕様書は見つからなかったけど、昔 MSDN で公開されていたとおぼしきものは探し出した。

当然英語です。
別に英語に対するアレルギーはないので、まったく問題ないのだけど。
ただ、日本語よりは調べつつになるから理解するのに時間はかかる。
技術系の文書とか論文だと論理構造もはっきりしているし、多少なりとも予備知識がある状態で読むので楽なんだけど。
ま、日本語でも理解不能なものもあるし(著者の日本語の問題とかで)。

wave ファイルフォーマットと AIFF ファイルフォーマットについて書かれているものだったのだけど、AIFF ファイルは別にいいだろうということで、wave ファイルフォーマット部分は一通り読んだ。
もう今更感は自分でも感じているが、その普及率に比べると、wave ファイルフォーマットの解説はネットでも書籍でも少ない気がする。

必須である、RIFF チャンクと、フォーマット(fmt )チャンク、data チャンクについて書かれているwebページなんかは見つかるのだけど、結局編集するようなものとかになると情報がすぐに圧倒的に不足する。
(波形編集するには、他のチャンクも重要。サウンドプログラミング的には不要ではあるけど、波形編集ソフトウェアではよく使うので)

そのような基本部分についてだけであれば、以下のサイトが参考になる。

waveファイルフォーマットはそれなりに古いもので、データ構造も時代を反映している。
例えば、データの量子化ビット数は、8bitか16bitが基本だ。
しかし、現在では安価なサウンドカードでも24bitに対応しているものも多い。
実際に最近の波形編集ソフトなら、8bit、16bit、24bit、32bit(整数型)、32bit(浮動小数点型)、64bit(浮動小数点型)に対応している。
フリーの波形編集ソフトとしては、Soundengine free が有名で、これはサウンドカードのドライバを選ぶようだが、24bitまで対応している。
また、日本語版はないが、秀逸な波形編集ソフトとして、Wavosaur があり、これは上記量子化bitすべてに対応している。

しかし、waveファイルフォーマットは先述の通り、8bitか16bitが基本である。
ではどうやって24bit以上を表すのか?そういうことはやっぱり分からない。
まぁファイルを解析してみればいいのだが、それにしても当たりを付けるための情報は欲しい。

そんな感じなので、自分の勉強用にやった成果をまとめていければと思っている。
とりあえず、wave ファイルフォーマットについては、Microsoftで配布されていた解説ファイルとその日本語訳をきちんとまとめて公開したいと考えている。
現在は意味を一通りとるために読んだ段階で、人様に見せるためにきちんとした日本語化していないので、その辺をやらないといけないかな。
それ以外も解説としてある程度まとまったら単一ページに落とし込んで公開したいところ。

まぁ今更必要とする人がどれだけいるのか分からないが(苦笑
カテゴリ: ,

関連する記事

この記事に関連する記事は、0 件です。

トラックバック

このブログ記事に対するトラックバックURL
http://fakelife.info/mt/system/mt-tb.cgi/37

コメントする


画像の中に見える文字を入力してください。