ちょっと思いついたのでぱっと作ってみました。
描画フレーム時点の音の波形を高速フーリエ変換で周波数スペクトラムに変換し、その中の22.5Hz(A1)から1320Hz(A7)までを取りだして、常用対数スケールにした値をHSV色空間の彩度にマッピングした色で矩形を描画しています……何のことかわからないかもしれませんが、大丈夫、書いている本人もよくわかっているわけではありません(<-おい)。
今回はIn Closed Blue Roomの反省を元に、再生しながら描画するのではなく、一度必要な情報を記録して、動画を作成するときは再生音楽に頼るのではなく記録した情報を元に描画するようにしてみました。描画量が少ないことも奏功してか、これで720P(1280*720)で15フレーム/秒の動画作成に成功。ずれてるような気もしますがまあ細かいことは気にしないにかぎります。
本当はProcessingの動画作成機能がもうすこし融通がきけばいいんですけどねえ。たぶんわかりやすさを重視して動画記録が描画と同期するかたちでしかできないようになっていますが、別に非同期でも問題ないはず。GSVideoというライブラリを使えばできそうな気がしたんですが、どうもOgg TheoraなどWindowsでは一般的でないコーデックしか使えないようで……
あ、ミックスもちょっとだけ変えました。