FaustVst
Load/edit Faust dsp effects in a VST
Install / Use
/learn @mikeoliphant/FaustVstREADME
FaustVst
FaustVst is a VST3 plugin that allows you to dynamically load/compile/edit Faust effects from source dsp files.
It is lets you do quick iteration (make a change and reload it nearly instantly), all while running integrated in your DAW.
Here is an example of a simple gain/pan plugin with output level meters:
and this is the source Faust dsp code that generated it:
import("stdfaust.lib");
gain_pan(x, y) = sp.constantPowerPan(pan, x, y) : gainxy
with {
gainxy(x, y) = x * gain, y * gain;
gain = vslider("[0] Gain [unit:dB] [style:knob]", 0, -40, 40, 1) : ba.db2linear;
pan = vslider("[1] Pan [style:knob]", 0.5, 0, 1, .01);
};
left_meter(x) = attach(x, ba.linear2db(x) : vbargraph("Left [unit:dB]", -96, 10));
right_meter(x) = attach(x, ba.linear2db(x) : vbargraph("Right [unit:dB]", -96, 10));
process = hgroup("Stereo Gain/Pan", hgroup("Gain/Pan", gain_pan) : hgroup("Output", (left_meter, right_meter)));
Installation and requirements
You can download the VST plugin from the releases section here.
To install, unpack the .zip file and copy the "FaustVst" folder to your VST3 folder - usually "C:\Program Files\Common Files\VST3".
FaustVst is currently Windows-only.
FaustVst requires that you have Faust installed. It expects the Faust compiler to be located at "C:\Program Files\Faust\bin\faust.exe".
To edit files, just make sure that the ".dsp" extension is assocated with your editor of choice.
Current limitations
- Maximum of 2 input/output audio channels.
- No MIDI support (yet).
- Not all UI metadata is supported.
Performance
FaustVst is intended to provide a quick-iteration framework for working on Faust effects. While it does produce relatively well optimized code that is suitable for realtime testing, performance will be not as good as a compiled C++ effect.
How does it work?
FaustVst uses the faust compiler to create C# code, which is then dynamically compiled into an assembly and run in the plugin (using AudioPlugSharp).
The plugin UI is done using UILayout, a lightweight UI library that runs on top of MonoGame.
Related Skills
node-connect
349.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
