フォーマットをwavとすると内部が比較的単純なのでちょっと工夫すると自前のプログラムでも作ってしまえると思います。
フォーマットについてはネット上で「wav フォーマット」で探すとそれらしいページが出てきます。例えば
http://d.hatena.ne.jp/uppudding/20071223/1198420222
何もないところからファイルを生成するのは多少面倒ですが、もし何かのソフトを使い元データとして
- サンプリングレート8000Hz
- singed/8bit
- モノラル(1チャンネル)
のwavファイルが作ることができれば、(何か都合のよい言語を使って)そのファイルを読み込んみ、一部だけを書き換え、別のファイルへ出力することでサンプリングレート2000Hzのものができると思います。
wavファイルのフォーマットをみると書き換えなければならないのは以下です。
先頭からのオフセット | 書き換えるバイト数 | 内容 |
---|
0x04 | 4 | ファイル全体のサイズ(byte)-8 (A) |
0x18 | 4 | サンプリング周波数=>2000にするなら0xD0 0x07 0x00 0x00 |
0x1C | 4 | データ速度 (Byte/sec)=>2000 x 1bytes/sample x 1channel=0xD0 0x07 0x00 0x00 |
0x28 | 4 | 波形データ部分の全サイズ(byte) (B) |
0x2C | N | これ以降は2000Hzの波形データをこしらえて詰める(C) |
元のファイルがサンプリングレート8000Hzだとすると、とりあえずそれを単純に間引きして(C)のデータを作れます。つまり元の(C)の部分にあるデータを1バイトそのまま新ファイルへ出力し、3バイトをスキップして、・・・の繰り返しですね。(4バイトごとの平均を取ってもいいと思います)
なお、(C)がNバイトだとすると(B)にはNが、(A)にはN+0x2C-8が入ります(リトルエンディアンで格納することに注意)
もし望みのソフトが見つからない場合はこんな方法も可能ということでコメントしてみました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。