Faust: Compile for SuperCollider

Faust can be used to compile SuperCollider extensions. For the sine.dsp example in the introduction:

$ faust2supercollider sine.dsp

This will produce two files:

  • the class file sine.sc
  • the binary sine.so

Both files need to be placed in the system's SuperCollider extension directory and the class library needs to be recompiled. The class name in SuperColldier is generated by Faust:

FaustSine : UGen
{
*ar { | frequency(100.0), gain(0.0) |
^this.multiNew('audio', frequency, gain)
}

*kr { | frequency(100.0), gain(0.0) |
^this.multiNew('control', frequency, gain)
}

name { ^"FaustSine" }


info { ^"Generated with Faust" }
}

The new class can be used like this:

{FaustSine.ar(100,1)}.play;


Contents © Henrik von Coler 2020 - Contact