2010/06/07

コンプに必要な情報

JAVAでエフェクト・コンプレッサー自作の記録 4

バイナリーファイルの読み書き
WAVファイルを直接バイナリとして読み込んで処理することにした。Javaを調べてみると、音声ファイルを扱えるクラスもあるようだが、かなり調べた後に気づいたので、直接バイナリ処理をしようと思う。

WAVファイルは2バイトでひとつの値を表現するので、1バイトずつ読み込んだデータを結合して処理して、またバイトに戻して、バッファ出力させる。

入力はBufferedInputStreamクラスのreadメソッドを使うと実現できそうだ。
出力はBufferedOutputStreamクラスのwriteメソッドを使用。

テストしてみたが、33MBのWAVファイルを読み込んで出力するのに10秒かからない。これなら期待できる。

正規表現 (Regular Expression)
ファイル名を処理するのに必要なのでちょっと勉強。

配列
アルゴリズムを考えていると、どうしても配列がほしくなるので調べてみたが、Javaの配列は固定で、配列の長さを臨機応変に変化させるにはテクニックが必要なようだ。必要に応じて配列を伸ばすせるようにしてみた。


コンプ製作の記録
1 Java 具体的に作ってみる
2 WAVについて
3 dBについて
4 コンプに必要な情報
5 Eclipseの導入
6 Nimbus
7 コンプの原理
8 コンプレッサーベータ版完成
9 NAMAGI Compressor