poly~ problems with note release

acsmith's icon

Hey all,

Here's my issue: I've got a pretty basic synth set up using with the
microtuner object, and I can't seem to get the vel 0 messages sent to
the right spots. It (Logic Pro) sends my vel 80 message to the
synth, which works, but the sustain part of my function (using a
function as a cheaper ADSR, basically) never gets shut off by the [0
100] --> [line~] message. I think it's because I have the notein
going to [target $1] (on poly~), but then the release (vel 0) is going
to the next available voice--so noteon goes to voice 1, noteoff goes
to voice 2, etc. There has got to be an obvious way to fix this.
I'll post my two patches, but be warned that they don't sound very
good and the synth patch uses the [microtuner] object with Partch's
43-note scale, if you don't have it. Thanks for the best free
education I could ever want.

Andrew

Adam Murray's icon

To get poly~ to handle note offs properly you need to send it messages "midinote " (where and are the numerical midi values). Then poly~ will make sure that the velocity 0 will go to the voice that recieved a note on for the same pitch.

More info in the reference file for poly~

Basically, it looks like you just need to [prepend midinote] to your pitch/velocity list coming in from [notein]. And get rid of the [poly] and "target $1" message at the top of your patch. You don't need to use those when using "midinote" with [poly~]

If you need to see an example, you can check out Chris Muir's StupidSynth over here: http://www.xfade.com/max/examples/

Luke Hall's icon

If you [pack] your midi note number and velocity then prepended it with the word "midinote" and send it to the first inlet of your [poly~] then all note offs are automatically sent to the correct instance. You could also just use [sprintf] to do the formatting. Have a look at the [poly~] reference page for more details.

lh

acsmith's icon

Genius, you guys are the best.

On Fri, Dec 5, 2008 at 10:42 AM, Luke wrote:
>
> If you [pack] your midi note number and velocity then prepended it with the word "midinote" and send it to the first inlet of your [poly~] then all note offs are automatically sent to the correct instance. You could also just use [sprintf] to do the formatting. Have a look at the [poly~] reference page for more details.
>
> lh
>