ChucK で BGM を生成

ChucK で BGM 生成プログラムを作成していた。あらかじめ録音しておいた音源を分断して 5 x 5 の升目に並べ、ある規則に従い一筆書きの要領で踏んだ順に鳴らすというものである。それをまずサブ環境の Linux 上で作成したのだが、ループすると突然 wav ファイルの作成速度が異常に速くなる現象に悩まされた。しかも、なぜかセッションが2つ起動しているようである。そのソースコードをメイン環境の Windows 機に移したところ、正常に動作する。

Windows 機に移すまでは ChucK の仕様(バグ?)だと思って、それを回避するべくウェイトをかましたり再生時のパラメータを明示するなどしたのだが、ことごとく退けられた。それが、同じソースコードWindows 機で動いたとなると、ピンと来たのが ChucK 本体のコンパイルオプションである。

Linux 機では ChucK をソースからコンパイルしてインストールしている。その際、make linux-alsa としてコンパイルしていたのだが、make linux-oss としたところ前記の現象が解消した。alsa が不安定なのか、alsa をターゲットにした場合の ChucK がいけないのか、そこまでは私にはわからない。