Here's an example of clarinet patch based on physmodels lib.
process = pm.clarinetModel(freq : pm.f2l, pressure, reedStiffness, bellOpening)
freq = hslider("Frequency[OWL:PARAMETER_A]",440,50,1000,0.01);
reedStiffness = hslider("Reed stiffnes[OWL:PARAMETER_B]",0.5,0,1,0.01);
bellOpening = hslider("Bell opening[OWL_PARAMETER_C]",0.5,0,1,0.01);
breathGain = hslider("Breath gain[OWL:PARAMETER_D]", 0.1,0,1,0.01)*0.05;
pressure = hslider("pressure[OWL:PARAMETER_E]", 0, 0, 1, 0.01) : si.smoo;
blow = pm.blower(pressure, 0.05, breathGain,vibratoFreq,vibratoGain);
// Don't bother with vibrato - we can modulate frequency instead
vibratoFreq = 0.1;
vibratoGain = 0.1;
I plan to convert all instruments from that lib to OWL (15 in total, although 6 of them are different bell models). Then I'll look into creating custom firmware (I've understood how to do it from reading docs). I will consider porting some from faust-stk code as well, but it doesn't have a very a proper model separation and may require some refactoring .