Separating note ons and offs (beginner question)

Hi! I’m just getting into some basic patching and after doing the C&G tutorial “Basic Synth” I decided to try and figure out how to escape the problem of a “note off” from a previous note (when playing legato) from changing the pitch of the note that was played after it.

I had a look at Thery Scary patch, and see how that solution works, with [swap] [route 0] and [==] and so on, but I’m wondering if there are other ways that this is typically dealt with, as it’s always nice to have multiple solutions for a problem. Thanks for any help!

I Didn’t try that synth, bull wil give it ago. But note off should not change the pitch of any already playing note.

By separating the two, you mean simply have a function for both note on and note off?

Screen Shot 2020-07-22 at 17.09.28

That will do it.

1 Like

Hey thanks for the reply! That definitely makes sense as far as separating note on/off. I should have been more specific. The problem in this particular case is that notes, after [mtof], are being sent straight to the oscillator which updates to the value of the previously held note when it is released.
Basic Synth
I found looking at orac’s Basic Mono module that this can be overcome using the poly object [poly 1 1], but I’m still curious to know if there are other solutions or if using the poly object that way is typically how a mono synth is built.

Yeah for that issue you have to use swap. Try this:

Screen Shot 2020-07-22 at 18.55.11

1 Like

Thanks, this is great, similar to Thery Scary, but super helpful to see another way of doing it :slight_smile:

Different question, but still related to note on/off:
I’ve wanted to make a gate length orac module for a long time. Started experimenting with adding gate length parameter to a simple synth (same one shown above). Problem is the [makenote] object doesn’t reset its delay when it receives a new note. So any two notes played faster than the gate length, the second one gets cut shorter than the desired gate length. Perhaps I should be experimenting with a poly synth in this case anyway and the poly object will help?

I had a look at the arper module in orac, but this uses things like arrays and some rather complex patching- is there a simpler way? Or maybe is this not a “beginner-friendly” problem…