FAUST MIDI support

I was at the Programmable Audio Workshop at GRAME this weekend which prompted me to bring up to date the FAUST integration.

As promised, you can now write MIDI synths for the OWL very easily in FAUST. Just declare a freq, gain and gate parameter, and the system will take care of translating incoming Note On and Note Off messages for you.

Here’s an example (sounds great by the way):

At the moment we have tied pitch bend to the freq parameter, but after discussing with the FAUST team I no longer think this is the best thing to do. While it means you don’t have to handle pitch bend in the patch (turning the pitch bend wheel will simply update the internal freq parameter), the problem is that you can’t easily do smoothing on the resulting value. The result can be a bit steppy and skippy, unless you smooth the freq parameter, but then you will also smooth the note changes and get a portamento effect, which is not always what you want.

The solution they have arrived at looks like this:
bend = nentry(“bend[midi:pitchwheel]”,1,0,10,0.01) : si.polySmooth(gate,0.999,1);

(from this example)

Next step we will add this support, along with the ability to receive arbitrary MIDI CC messages. And send CV out!

1 Like

Thanks for this, I guess MIDI support is actually polyphonic instrument support yes? Note that polyphonic is still mono-timbral for now (the MIDI channel value is not taken in account at all). We (with Albert Graef who did multi-timbral and MTS support is his FAUST/LV2 and FAUST/VSTi) are working on having this extended support.

1 Like

This is still monophonic to run on the hardware.
For polyphonic we need to decide how to instruct the compiler with how many voices it should generate.