wav file

なんかすごい久しぶりな気がする。というのはおいといて wav file ( RIFF WAV linear PCM ) の header を読み書きする C++ header を書いてみた。 fmt sub-chunk の拡張部分とか考え気すらないので bug とかなければこれで fix 。

RIFF 的には header ていう概念はないんだけど取り扱うのにそういう考え方したほうが楽なのでそういう風に書いている感じ。あと継承とか使ってなければ class も POD 型として扱えるというところに気付いたあたりで ( operator << と operator >> ) 。

使い方は sample 参照なんだけどガンガン data を処理する ( channel 抽出とか normalize とか ) わけでないならとりあえず header_type::validate() と header_type::elements() あたりを使っておけば問題ないはず。