2012/03/19 (2012年03月 のアーカイブ)
Faustに衝撃を受けた・・・
Faustという音響処理を記述する言語があるんですが、これはちょっと凄い。ちなみにFaustは「Functional AUdio STream」の略だそうです。
音響処理系の言語自体はSuperColliderもあるし、グラフィカルな環境だとMaxとかReaktorとかSynthEditとか・・・それなりに種類もあるわけですがこいつはちょっとびっくりしたぞ。
まずここがオンラインのサンプルがある場所:
http://faust.grame.fr/index.php/online-examples
サンプルから「Effect」-「Band Filter」っていうのを選んでみると下にFaustのコードが表示されます。私もFaustの文法をちゃんと理解しているわけではないのですが、フィルター処理っぽい事をやってるなというのはなんとなくわかります。
隣の「C++ Code」というタブを選択するとC++ソースが表示されます。おー。Linux / Windows / OSXが選択できて、完全なVSTプラグインとかのソースになっています。OSXはAUは無いみたいですけどVSTなら選択できます。
処理の肝の部分は mydsp クラスの compute ってあたりに入ってそうですね。
更に右の方のタブではダイアグラムが表示できたり、ドキュメントが自動作成されたりします。とまあここまででも大したものなんですが、一番右のタブを見て衝撃を受けました。「Exec File」、これを選ぶと、プラグインの実体が生成されてダウンロードできてしまう!!
なんとこれはブラウザだけで Win / Mac / Linux のクロスなプラグイン開発ができてしまうではないか。Faustコードで書く必要があるけど。
オンラインコンパイラって数年前からあるにはあったと思うのだけどこれは見事。
※待てよ、VSTのユニークIDはどうなってんの?て思ったらどうやらハッシュで適当に作ってるぽい。運が悪いと困った事になりそうだけど、まあしょうがないか。
Posted by g200kg : 2012/03/19 18:16:55