faust2[...]
Tools
While in its most primitive form, Faust is distributed as a command-line compiler, a wide range of tools have been developed around it in the course of the past few years. Their variety and their function might be hard to grab at first. This description provides an overview of their role and will hopefully help you decide which one is better suited for your personal use.
The Faust tools is a set of scripts that take a dsp file as input to generate various output for a lot of architectures and platforms. All the tools names are in the form faust2xx
where xx
is the target architecture.
Use -h
or -help
to get more information on each specific script options, the supported platforms and possibly the required packages. Additional Faust compiler options (like -vec -lv 0 -I /path/to/lib
) can be given. For scripts that combines Faust and the C++ compiler, you can possibly use the CXXFLAGS
environment variable to give additional options to the C++ compiler.
Note that some of the tools are somewhat meta tools when they are based on a framework that itself can generate several formats later on. This is the case of the faust2juce
script for instance.
Note that using -inj <f>
option allows to inject a pre-existing C++ file (instead of compiling a dsp file) into the architecture files machinery. Assuming that the C++ file implements a subclass of the base dsp
class, the faust2xx
scripts can possibly be used to produce a ready-to-use application or plugin that can take profit of all already existing UI and audio architectures.
The template-llvm.cpp
file that uses libfaust + LLVM backend to dynamically compile a foo.dsp file is an example of this approach. It has be used with the -inj option in faust2xx
tools like:
faust2cagtk -inj template-llvm.cpp faust2cagtk-llvm.dsp
(a dummy DSP) to generate a monophonicfaust2cagtk-llvm
application.
or:
faust2cagtk -inj template-llvm.cpp -midi -nvoices 8 faust2cagtk-llvm.dsp
to generate a polyphonic (8 voices), MIDI controllablefaust2cagtk-llvm
application.
Note that libfaust and LLVM libraries still have to be added at the link stage, so a -dyn : create libfaust + LLVM backend dynamic version option has been added to the faust2cagtk
tool and some others.
faust2alqt
Usage: faust2alqt [options] [Faust options] <file.dsp> Target platform: Linux Require: Alsa, QT Compiles Faust programs to ALSA and QT Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -qrcode : activates QR code generation -poly : produces a polyphonic DSP, ready to be used with MIDI events Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2alsa
Usage: faust2alsa [options] [Faust options] <file.dsp> Target platform: Linux Require: Alsa Compiles Faust programs to ALSA and GTK Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -qrcode : activates QR code generation -poly : produces a polyphonic DSP, ready to be used with MIDI events Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2alsaconsole
Usage: faust2alsaconsole [options] [Faust options] <file.dsp> Target platform: Linux Require: Alsa Compiles Faust programs to CLI and ALSA Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -arch32 : compiles a 32 bits binary -arch64 : compiles a 64 bits binary Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2android
Usage: faust2android [options] [Faust options] <file.dsp> Target platform: Android Require: Android SDK Compile a Faust program to an Android app (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/android) Options: -osc : activates OSC control -source : creates an eclipse project of the app in the current directory. -swig : regenerates the C++ and the JAVA interface for the native portion of the app. -faust : only carries out the Faust compilation and install the generated C++ file in the JNI folder. -reuse : preserves build directory and reuse it to speedup compilation. -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -install : once compilation is over, installs the generated apk on the Android device connected to the computer -debug : activates verbose output Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2androidunity
Usage: faust2androidunity [options] [Faust options] <file1.dsp> [<file2.dsp>] Target platform: Android Unity Require: Android SDK Make sure the ANDROID_HOME environment variable is set to the sdk folder. Creates android libraries (armeabi-v7a and x86) for faust unity plugin. If you need other android architectures, open architecture/unity/Android/Application.mk and modify APP_ABI. See architecture/unity/README.md for more info (also available from the compile folder) Options: -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -android : creates also the c# and JSON files Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2api
Usage: faust2api [options] [Faust options] <file.dsp> faust2api can be used to generate Faust based dsp objects for various platforms (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/api): Output options: -ios : generates an iOS API -android : generates an Android API -coreaudio : generates an OSX CoreAudio API -alsa : generates an ALSA API -jack : generates a JACK API -portaudio : generates a PortAudio API -rtaudio : generates an RTAudio API -of : generates an openFrameworks API -juce : generates a JUCE API -dummy : generates a dummy audio API -teensy : generates a Teensy API -esp32 : generates a ESP32 API Global options: -opt native|generic : activates the best compilation options for the native or generic CPU -nvoices <num> : creates a polyphonic object with <num> voices -effect <effect.dsp> : adds an effect to the polyphonic synth (ignored if -nvoices is not specified) -effect auto : adds an effect (extracted automatically from the dsp file) to the polyphonic synth (ignored if -nvoices is not specified) -nodoc : prevents documentation from being generated -nozip : prevents generated files to be put in a zip file -target <target> : sets a name of the target folder or the zip file. Defaults to "dsp-faust" Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation. Android specific options: -package : set the JAVA package name (e.g. '-package mypackage' will change the JAVA package name to 'mypackage.DspFaust'). The default package name is 'com.DspFaust.' -soundfile : add built-in Soundfile support to the API Options supported by iOS, CoreAudio, ALSA, JACK, PortAudio, openFrameworks and JUCE -midi : add built-in RtMidi support to the API -osc : add built-in OSC support to the API -soundfile : add built-in Soundfile support to the API JACK specific options -build : build a ready to test binary -dynamic : add libfaust/LLVM dynamic DSP compilation mode
faust2bela
Usage: faust2bela [options] [Faust options] <file.dsp> Target platform: Bela Compiles Faust programs to the BELA board Options: -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events Polyphonic mode means MIDI instrument with at least 1 voice. Use no arguments for a simple effect. -gui : activates a self-hosted GUI interface. Requires to have libmicrohttpd and libHTTPDFaust installed. -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI -tobela : to send C++ file into bela, and to run it Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2bench
Usage: faust2bench [Faust options] <file.dsp> Compiles Faust programs to a benchmark executable Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2caconsole
Usage: faust2caconsole [options] [Faust options] <file.dsp> Target platform: MacOS Compiles Faust programs to CLI and CoreAudio Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -dyn : create libfaust + LLVM backend dynamic version -resample : to resample soundfiles to the audio driver sample rate. -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -preset <directory> : add a preset manager on top of GUI and save the preset files in the given directory -preset auto : add a preset manager on top of GUI and save the preset files in a system temporary directory Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2cagtk
Usage: faust2cagtk [options] [Faust options] <file.dsp> Target platform: MacOS Require: GTK Compiles Faust programs to CoreAudio and GTK Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -dyn : create libfaust + LLVM backend dynamic version -resample : to resample soundfiles to the audio driver sample rate. -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -preset <directory> : add a preset manager on top of GUI and save the preset files in the given directory -preset auto : add a preset manager on top of GUI and save the preset files in a system temporary directory Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2caqt
Usage: faust2caqt [options] [Faust options] <file.dsp> Target platform: MacOS Require: QT Compiles Faust programs to CoreAudio and QT Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -qrcode : activates QR code generation -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -opt native' to activate the best compilation options for the native CPU : -opt generic' to activate the best compilation options for a generic CPU : -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -resample : to resample soundfiles to the audio driver sample rate -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -preset <directory> : add a preset manager on top of GUI and save the preset files in the given directory -preset auto : add a preset manager on top of GUI and save the preset files in a system temporary directory -me : to catch math computation exceptions (floating point exceptions and integer div-by-zero or overflow) -debug : to print all the build steps -nodeploy : skip self-contained application generation (using 'macdeployqt') -I include-path : add an include-directory to the generated Qt project for finding ffunction headers and such Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2cmajor
Usage: faust2cmajor [options] [Faust options] <file.dsp> Compiles Faust programs to Cmajor (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/cmajor) Options: -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -juce : to create a JUCE project -dsp : to create a 'dsp' compatible subclass -test : to test the resulting patch with 'cmaj render' -play : to start the 'cmaj' runtime with the generated Cmajor file Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2comparator
Usage: faust2comparator [options] [Faust options] <file.dsp>
faust2csound
Usage: faust2csound [options] [Faust options] <file.dsp> Target platform: any Require: CSound Dev Kit Compiles a Faust program into a Csound opcode Options: -arch32 : generates a 32 bit architecture. -arch64 : generates a 64 bit architecture. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2csvplot
Usage: faust2csvplot [options] [Faust options] <file.dsp> Compiles Faust programs to plotters, additional control parameters depend of the DSP, the following 5 options are given at runtime: -dyn : create libfaust + LLVM backend dynamic version -s <n> : start at the sample number <n> (default is 0) -n <n> : render <n> samples (default is 16) -r <rate> : change the sample rate (default is 44100 Hz) -bs <buffer> : change the buffer size (default is 512 frames) Options: -arch32 : generates a 32 bit architecture. -arch64 : generates a 64 bit architecture. -double : generates code with samples of type 'double'. -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2daisy
faust2daisy [-patch] [-midi] [-nvoices <num>] [-sr <num>] [-bs <num>] [-source] [Faust options (-vec -vs 8...)] <file.dsp> Compiles Faust programs to Daisy boards (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/daisy) Options: -patch : to compile for 4 ins/outs Patch (knob[1,2,3,4]) -pod : to compile for 2 ins/outs Pod (knob[1,3]) -patchsm : to compile for the Pod.init eurorack module -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -sr <num> : to specify sample rate -bs <num> : to specify buffer size -source : to only create the source folder Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2dplug
Usage: faust2dplug [options] [Faust options] <file.dsp> Require: Dplug Compiles Faust programs to Dplug plugins Options: -vendor <My Company Name> : -vendorid <FaUs> : -pluginid <PlUg> : -homepage <https://faust.grame.fr/> : -effectType <effectDynamics> : Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2dssi
Usage: faust2dssi [options] [Faust options] <file.dsp> Compiles Faust programs to dssi plugins Options: -osc : activates OSC control -arch32 : generates a 32 bit architecture. -arch64 : generates a 64 bit architecture. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2esp32
Usage: faust2esp32 [options] [Faust options] <file.dsp> <file.dsp> faust2esp32 can be used to fully program the ESP32 microncontroller and to generate DSP objects that can be integrated into any ESP32 project (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/esp32) Options: -gramophone : generates for GRAME Gramophone -multi : generate for GRAME Gramophone in multi DSP mode -lib : generates a package containing an object compatible with any ESP32 project -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -main : add a 'main' entry point -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -wm8978, -es8388 or -ac101 : to choose codec driver Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2faustvst
Usage: faust2faustvst [options ...] <file.dsp> Require: VST SDK Compiles Faust programs to VST plugins Options: -gui : build the plugin GUI. -keep : retain the build directory. -nometa : ignore metadata (author information etc.) from the Faust source -nomidicc : plugin doesn't process MIDI control data. -notuning : disable the tuning control (instruments only). -novoicectrls : no extra polyphony/tuning controls on GUI (instruments only) -nvoices N : number of synth voices (instruments only; arg must be an integer) -qt4, -qt5 : select the GUI toolkit (requires Qt4/5; implies -gui). -style S : select the stylesheet (arg must be Default, Blue, Grey or Salmon). Environment variables: FAUSTINC: specify the location of the Faust include directory Default: /usr/local/include FAUSTARCH: specify the location of the Faust VST library files Default: /usr/local/share/faust QMAKE: specify the location of the qmake binary Default: qmake SDK: specify the location of the VST SDK Default: /usr/local/src/vstsdk SDKSRC: specify the location of the VST SDK sources Default: /usr/local/src/vstsdk/public.sdk/source/vst2.x
faust2feh
Usage: faust2feh <file.dsp> Compiles Faust programs to SVG and opens them with feh
faust2gen
Usage: faust2gen [options] <file.dsp> Require: Max/MSP SDK Compiles Faust programs to a fausgen~ patch Options: -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events
faust2ios
Usage: faust2ios [options] [Faust options] <file.dsp> Target platform: iOS Compiles Faust programs to iOS applications Options: -midi : activates MIDI control -osc : activates OSC control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -xcode : to compile and keep the intermediate Xcode project -xcodeproj : to produce the intermediate Xcode project -archive : to generate the archive for Apple Store -32bits : to compile 32 bits only binary -noagc : to deactivate audio automatic gain control Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2jack
Usage: faust2jack [options] [Faust options] <file.dsp> Target platform: Linux Require: Jack Compiles Faust programs to JACK and GTK Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -dyn : create libfaust + LLVM backend dynamic version -resample : to resample soundfiles to the audio driver sample rate. -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -preset <directory> : add a preset manager on top of GUI and save the preset files in the given directory -preset auto : add a preset manager on top of GUI and save the preset files in a system temporary directory Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2jackconsole
Usage: faust2jackconsole [options] [Faust options] <file.dsp> Require: Jack Compiles Faust programs to CLI and JACK Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2jackrust
Usage: faust2jackrust [-source] [Faust options] <file.dsp> Compiles Faust programs to JACK and Rust binary Options: -source : only generates the source project. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2jackserver
Usage: faust2jackserver [options] [Faust options] <file.dsp> Require: Jack, QT Compiles Faust programs to JACK and QT (server mode) Options: -httpd : activates HTTP control -osc : activates OSC control -qrcode : activates QR code generation Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2jaqt
Usage: faust2jaqt [options] [Faust options] <file.dsp> Require: Jack, QT Compiles Faust programs to JACK and QT Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -qrcode : activates QR code generation -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -preset <directory> : add a preset manager on top of GUI and save the preset files in the given directory -preset auto : add a preset manager on top of GUI and save the preset files in a system temporary directory -resample : to resample soundfiles to the audio driver sample rate. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2jaqtchain
Usage: faust2jaqtchain [options] [Faust options] <file.dsp> Require: Jack, QT Compiles several Faust programs to JACK and QT Options: -httpd : activates HTTP control -osc : activates OSC control Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2juce
Usage: faust2juce [options] [Faust options] <file.dsp> Require: Juce Compiles Faust programs to JUCE standalones or plugins (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/juce) Options: -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -standalone : to produce a standalone project, otherwise a plugin project is generated -vst2sdkdir <folder> : to set directory to VST 2 SDK. -jucemodulesdir <folder> : to set JUCE modules directory to <folder>, such as ~/JUCE/modules -disable-splash-screen : to disable the JUCE splash screen (license is required). -jsynth : to use JUCE polyphonic Synthesizer instead of Faust polyphonic code -llvm : to use the LLVM compilation chain (OSX and Linux for now) -magic : to generate a project using the PluginGuiMagic GUI builder Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2ladspa
Usage: faust2ladspa [options] [Faust options] <file.dsp> Target platform: Linux Compiles Faust programs to LADSPA plugins Options: -arch32 : generates a 32 bit architecture. -arch64 : generates a 64 bit architecture. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2linuxunity
Usage: faust2linuxunity [options] [Faust options] <file.dsp> Target platform: Linux Require: Jack, Unity Compiles Faust programs to Linux x86_64 libraries suitable for the Unity environment Options: -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2lv2
-std=c++11 -fvisibility=hidden -O3 Usage: faust2lv2 [options ...] <file.dsp> Require: QT Compiles Faust programs to lv2 plugins Options: -dyn-manifest : use dynamic manifests (requires LV2 host support). -gui : build the plugin GUI (requires LV2 UI host support). -keep : retain the build directory. -nometa : ignore metadata (author information etc.) from the Faust source -nomidicc : plugin doesn't process MIDI control data. -notuning : disable the tuning control (instruments only). -novoicectrls : no extra polyphony/tuning controls on GUI (instruments only) -nvoices N : number of synth voices (instruments only; arg must be an integer) -osx : -osx to compile on OSX -qt4, -qt5 : select the GUI toolkit (requires Qt4/5; implies -gui) -style S : select the stylesheet (arg must be Default, Blue, Grey or Salmon). Environment variables: FAUSTINC: specify the location of the Faust include directory Default: /usr/local/include/faust FAUSTLIB: specify the location of the Faust LV2 library files Default: /usr/local/share/faust QMAKE: specify the location of the qmake binary Default: qmake
faust2mathdoc
Usage: faust2mathdoc [options] <file.dsp> Require: svg2pdf pdflatex breqn Generate a full Faust documentation in a '*-mdoc' top directory Options: -l LANG : LANG is usually a 2-lowercase-letters language name, like en, fr, or it. -utf8 : force file.dsp to be recoded in UTF-8 before being processed
faust2max6
Usage: faust2max6 [options] [Faust options] <file.dsp> Require: Max/MSP SDK Compiles Faust programs to Max6 externals using double precision samples (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/max-msp) Options: -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -soundfile-dynamic : similar to -soundfile, but using the installed libsndfile (so possibly using dynamic link). -opt native|generic : activates the best compilation options for the native or generic CPU. -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -us <factor> : upsample the DSP by a factor -ds <factor> : downsample the DSP by a factor -filter <filter> : use a filter for upsampling or downsampling [0..4] -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -mc : to activate multi-channels model -native : to compile for the native CPU (otherwise the 'generic' mode is used by default) -universal : to generate a universal (arm/intel) external -nopatch : to deactivate patch generation -nopost : to disable Faust messages to Max console Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2minimal
Usage: faust2minimal [options] [Faust options] <file.dsp> Compiles Faust programs to a minimal executable Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2netjackconsole
Usage: faust2netjackconsole [options] [Faust options] <file.dsp> Require: Jack Compiles Faust programs to NetJack Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2netjackqt
Usage: faust2netjackqt [options] [Faust options] <file.dsp> Require: Jack, QT Compiles Faust programs to NetJack and QT Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2nodejs
Usage: faust2nodejs [driver] [Faust options] <file.dsp> Generate Faust-based nodejs native addons. The generated addons can embed most of the audio engines supported by Faust: ALSA, JACK, CoreAudio, RtAudio, PortAudio, etc. Since faust2nodejs essentially acts as a wrapper to faust2api, it offers the same features than this system (MIDI and OSC support, polyphony, separate effect file, etc.). The following drivers are available: -coreaudio // -alsa // -jack // -portaudio // -rtaudio // -dummy. For example, to create a native nodejs addon with a JACK audio engine, run: faust2nodjs -jack faustFile.dsp The following options are inherited directly from faust2api and can be used with faust2nodejs: Options: -osc : activates OSC control -midi : activates MIDI control -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -source : generates the source of the addon without compiling it -electronv <VERSION> : allows to specify the current version of electron if generating an addon for this framework -debug : prints compilation output Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2osxiosunity
Usage: faust2osxiosunity [options] [Faust options] <file.dsp> Target platform: MacOSX Require: Unity Compiles Faust programs to OSX/iOS libraries suitable for the Unity environment Options: -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -ios : create an iOS static library -universal : generate a 64/32 bits external Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation. See architecture/unity/README.md for more info.
faust2paconsole
Usage: faust2paconsole [options] [Faust options] <file.dsp> Require: PortAudio Compiles Faust programs to PortAudio Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2paqt
Usage: faust2paqt [options] [Faust options] <file.dsp> Require: PortAudio, QT Compiles Faust programs to PortAudio and QT Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -qrcode : activates QR code generation -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -nodeploy : skip self-contained application generation (using 'macdeployqt') Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2plot
Usage: faust2plot [options] [Faust options] <file.dsp> Compiles Faust programs to plotters, additional control parameters depend of the DSP, the following 4 options are given at runtime: -dyn : create libfaust + LLVM backend dynamic version -s <n> : start at the sample number <n> (default is 0) -n <n> : render <n> samples (default is 16) -r <rate> : change the sample rate (default is 44100 Hz) Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2portaudiojulia
Usage: faust2portaudiojulia [options] [Faust options] <file.dsp> Require: PortAudio Compiles Faust programs to PortAudio and Julia binary -osc : to activate OSC control on 5000 and 5001 ports -play <num> : to start the 'Julia' runtime with <num> threads and the generated file.jl Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2portaudiorust
Usage: faust2portaudiorust [-source] [Faust options] <file.dsp> Require: PortAudio Compiles Faust programs to PortAudio and Rust binary Options: -source : only generates the source project. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2raqt
Usage: faust2raqt [options] [Faust options] <file.dsp> Require: QT Compiles Faust programs to RtAudio and QT Options: -httpd : activates HTTP control -osc : activates OSC control -midi : activates MIDI control -qrcode : activates QR code generation -poly : produces a polyphonic DSP, ready to be used with MIDI events -nodeploy : skip self-contained application generation (using 'macdeployqt') Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2rnbo
Usage: faust2rnbo [options] [Faust options] <file.dsp> Compiles Faust programs to RNBO patches Options: -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC -effect auto : generates a polyphonic DSP connected to a global output effect defined as 'effect' in <file.dsp>, ready to be used with MIDI or OSC -compile : to trigger C++ compilation at load time -test : to generate special 'RB_XX' prefix for parameters (for testing) -sp : to generate codebox subpatcher as a file.rnbopat file -cpp_path <path> : to set C++ export folder -cpp_filename <filename> : to set C++ export filename Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2rpialsaconsole
Usage: faust2rpialsaconsole [options] [Faust options] <file.dsp> Target platform: RaspberryPi Require: Alsa Compiles Faust programs to RaspberryPi - alsa console architecture Options: -osc : activates OSC control -httpd : activates HTTP control -arch32 : generates a 32 bit architecture. -arch64 : generates a 64 bit architecture. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2rpinetjackconsole
Usage: faust2rpialsaconsole [options] [Faust options] <file.dsp> Target platform: RaspberryPi Require: NetJack Compiles Faust programs to RaspberryPi - netjack-console architecture Options: -osc : activates OSC control -httpd : activates HTTP control Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2sam
Usage: faust2sam [options] [Faust options] <file.dsp> Target platform: ADI SHARC Audio Module board Generates inline Faust objects for the ADI SHARC Audio Module board Options: -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -effect <effect.dsp> : generates a polyphonic DSP connected to a global output effect, ready to be used with MIDI or OSC Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2smartkeyb
FAUST2SMARTKEYB - MUSICAL MOBILE APP GENERATOR faust2smartkeyb takes a Faust code as its main argument and convert it into a ready-to-use app for Android or iOS. The only two required arguments of faust2smartkeyb are a Faust file and the target platform (-android or -ios): Usage: faust2smartkeyb [options] [Faust options] <file.dsp> Target platform: iOS, Android Options: -android : generates an Android app -ios : generates an iOS app -osc : activates OSC control -debug : activate debug mode -effect : allow to specify an effect Faust file (e.g., -effect myEffect.dsp) -install : install the app on the connected device (Android only) -nvoices : specify the max number of voices -reuse : reuse the same project source -source : only generate the source (no compilation) Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation. More information and tutorials at: https://ccrma.stanford.edu/~rmichon/smartKeyboard
faust2sndfile
Usage: faust2sndfile [Faust options] <file.dsp> Require: libsndfile Process audio files with Faust DSP Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2stratus
Usage: faust2stratus [options] [Faust options] <file.dsp> ... [<file.cpp> ...] Target platform: Chaos Audio Stratus pedal Compiles Faust programs for the Chaos Audio Stratus pedal with optional c++ compile for, and effect install to, the pedal Unlike most other faust2xxx scripts, this can also be used to compile effect c++ code that has been constructed elsewhere, or has been modified after being generated by the Faust compiler (e.g. where the algorithm c++ code has been 'tweaked' after generation) The script can be used to build and install multiple different effects in one go Running this script with no options except input files will result in effect libraries built for the platform upon which the script is executed, not for the pedal Options: -nocppc : Do not compile the generated c++ source files -nodocker : Do not use docker for pedal builds even if it is available -stratusbuild : Generates the c++ code locally, then builds the effect library for the Stratus pedal -stratusinstall : Generates the c++ code locally, then builds and installs the effect library for the Stratus pedal Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation. the script automatically uses '-i -scn FaustDSP -light -nvi' -O and/or -o can be used, otherwise all output is in the same folder as the corresponding input
faust2teensy
faust2teensy [-lib] [-midi] [-nvoices <num>] [Faust options (-vec -vs 8...)] <file.dsp> Options: -lib : generates a package containing an object compatible with the Teensy audio library (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/teensy) -midi : activates MIDI control -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.
faust2unity
Usage: faust2unity [options] [Faust options] <file.dsp> Target platform: Android, Linux, MacOSX, iOS, Windows Require: Unity Generates a unity package (compressed .unitypackage folder) with all available architecture libraries for faust unity plugin and the C# files required. Use arguments to generate specific architectures (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/unity) Options: -w32 : generates a Windows 32 bits library -w64 : generates a Windows 64 bits library -osx : generates a macOS library -ios : generates an iOS library -android : generates Android libraries (armeabi-v7a and x86). -linux : generates a Linux library -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -source : generates the source files (uncompressed folder) -unpacked : generates an unpacked folder with files organized like the Unity Asset hierarchy. Use this options to add specific files in the unity package (in the Assets folder, then use 'encoderunitypackage <folder>' to compress and pack it. Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation. See architecture/unity/README.md for more info.
faust2vcvrack
faust2vcvrack [-soundfile] [-source] [-nvoices <num>] [Faust options] <file.dsp> Compiles Faust programs to VCV Rack modules (see https://github.com/grame-cncm/faust/tree/master-dev/architecture/vcvrack) -soundfile : when compiling a DSP using the 'soundfile' primitive, add required resources -source : to only create the source folder -nvoices <num> : produces a polyphonic DSP with <num> voices, ready to be used with MIDI events -version <1|2> : to set the plugin version, 2 by default Faust options : any option (e.g. -vec -vs 8...). See the Faust compiler documentation.