faust-dsp
Faust DSP Development
Faust is a functional programming language designed for real-time audio signal processing. A Faust program describes a block diagram of signal processors using five composition operators, and the compiler generates highly optimized C++ (or C, Rust, WebAssembly, etc.) that runs at sample level.
Core Workflow
- Analyze the requirement — identify inputs, outputs, parameters (with ranges), and the signal flow
- Sketch the block diagram — think in terms of the five composition operators
- Write the
.dspfile — import libraries, declare metadata, defineprocess - Add UI elements — sliders, buttons, groups for parameters
- Compile and test — use
faustCLI, Faust Online IDE, orfaust2xxscripts
Language Essentials
Every Faust program must define process — the main signal processor (like main in C). Programs are lists of statements: metadata, imports, definitions, and comments.
File Template
More from shortwavlabs/agent-skills
plugdata-patch
Create, modify, and generate Pure Data / plugdata audio patches (.pd files) programmatically. Use this skill whenever the user wants to build synthesizers, audio effects, MIDI processors, DSP patches, or any audio signal processing in Pure Data or plugdata — even if they just say "make a synth" or "create an audio effect" without naming plugdata explicitly. Also use when the user mentions .pd files, Pure Data, patching, or visual audio programming.
3vcv-rack-plugin
Build VCV Rack v2 plugins and modules in C++. Covers scaffolding, DSP implementation, panel design, widget construction, polyphony, expanders, build system, cross-compilation, and CI/CD. Use this skill whenever the user mentions VCV Rack, Rack plugins, Rack modules, eurorack simulation, modular synthesizer plugins, or wants to create audio DSP modules for VCV Rack — even if they just say "Rack plugin" or "make a module". Also applies when users are working in an existing VCV plugin codebase (files like plugin.hpp, plugin.json, Makefile with plugin.mk include, src/ with Module/ModuleWidget structs).
3juce-plugin
Build JUCE audio plugins (VST3, AU, AAX, Standalone, LV2) in C++ with CMake. Covers the full development workflow from project scaffolding to multi-format builds, including AudioProcessor lifecycle, parameter management with APVTS, DSP module chains, custom editor GUIs, state serialization, real-time audio safety, and cross-platform CI/CD. Use this skill whenever the user mentions JUCE, audio plugins, VST plugins, AU plugins, audio effects, synthesizers, MIDI processors, AudioProcessor, AudioProcessorEditor, Projucer, or wants to create audio software — even if they just say "make a plugin" or "audio plugin". Also applies when users are working in an existing JUCE codebase (files like PluginProcessor.cpp, PluginEditor.cpp, CMakeLists.txt with juce_add_plugin).
3vult-dsp
Write DSP algorithms in the Vult language for audio plugins, VCV Rack modules, embedded audio, and real-time signal processing. Vult transcompiles to C/C++ with zero-cost abstractions for stateful DSP. Use this skill whenever the user mentions Vult, vultc, Vult DSP code generation, writing audio DSP for VCV Rack plugins with Vult, embedded audio on Teensy/Arduino with Vult, fixed-point audio DSP, or any task involving transcompiling DSP to C/C++. Also use when the user asks about implementing filters, oscillators, envelopes, effects, or synthesizers using the Vult language.
2dsp
Digital signal processing algorithms and techniques for real-time audio. Covers filter design (biquad, Moog ladder, SVF, FIR, Linkwitz-Riley), audio effects (delay, reverb, dynamics, modulation, distortion, stereo processing), sound synthesis (oscillators, bandlimited waveforms, FM/PM, noise generation, envelopes), spectral analysis (FFT, envelope detection, beat detection), and DSP utilities (fast math, interpolation, denormal prevention, dithering). Use this skill whenever implementing audio DSP in C/C++, building synthesizers or effects, writing filter code, generating waveforms, or any task involving digital audio processing — even if the user doesn't explicitly mention "DSP.
2