VST
関数型プログラミング
Faust

Faust : 初めてのVSTプラグイン

結論:独特。だけど使える。

Faust勉強会私的メモを読んでなかなか良さげな感じがしたので、さっそくいじってみました。

お仕事でよく使うnyquistスクリプトがあるのですが、これがVSTプラグインだったらもっと捗るのになあ、と思っていたのです。
今回はそれに 挑戦してみました。

元になるnyquistスクリプト:

(allpass2 (allpass2 (allpass2 (allpass2 s 250 1.5) 700 4.5) 1250 6.3) 1600 15)

中域だけ約2msのディレイがかかるという微妙なエフェクトです。

これをFaustに移します。
FaustLive.appの例からAPFのを持ってきてちょこっと修正。

declare name "APFDelay";

import("maxmsp.lib");

APFSt(F,Q) = APF(_,F,0,Q),APF(_,F,0,Q);

process = APFSt(250,1.5):APFSt(700,4.5):APFSt(1250,6.3):APFSt(1600,15);
  • 名前をつけて、
  • APFが入ってるライブラリを読み込み、
  • ステレオのAPFを作り、
  • 決った値で四つ直列でかける

できた!
で、VSTでエクスポートして、と...
動いた!
Audacityでnyquistかけるのとほんのちょっと微妙に違ってるけど、十分です。使える。

確かに文法は独特ですが、グラフにして見せてくれるので、別の意味で分りやすい。
なによりこんなに簡単にVSTプラグインが作れるなんてすごすぎます。