May 28, 2009

Waves

Cheetah3D のフォーラムで質問があがっていたので、ちょっと息抜きに。

http://www.cheetah3d.de/forum/showthread.php?t=4252

最初は外部ライブラリを使えるのかどうか?という質問で、Todd さんの解答が書き込まれてます。 Cheetah3D の JavaScript から、OS.system() 関数で外部のコマンド/プログラムが起動できるので、その仕組みを使えば可能ですね。
追加質問として、wave ファイルを読み込むにはどうすればいいのか?という質問だったので、ちょっと試してみた。

シンプルなバイナリデータなので、直接フォーマット通りに読み込んでやればすんなり波形はとれますね。.wav ファイルからスプラインオブジェクトを生成するサンプルを上げておいたので、興味のある方はチェックしてみて下さい。

ch_20090528_wave.jpg

Modeling & Rendering: Cheetah3D 4.6.4

ここからフーリエ変換?とかやってやれば、波形スペクトラムをとれるのかな?
Perl や Ruby でこの辺を操作するライブラリがありそうなので、ややこしい部分は外部のスクリプト・プログラムにやってもらうのが簡単だよなぁとか思いつつ。おもしろそうなので、時間が出来たら調べてみようと思ってます。