Hi @Ade
I did a comparison to piz sostenuto and it does the same - introduces a note off before retriggering the note.
Cantabile (with fixes):
Piz:
Let me know if there’s a different case you’d like me to test.
Hi @Ade
I did a comparison to piz sostenuto and it does the same - introduces a note off before retriggering the note.
Cantabile (with fixes):
Piz:
Let me know if there’s a different case you’d like me to test.
My bad @brad.
You’re absolutely right. In the context I’m using it, the resissued note on is barely noticeable. My particular use case ‘gets away with it’ using Piz, which is why I missed that note offs are issued when a sounding note is reintroduced.
On a regular midi piano sound however, it kills the held notes, which is not viable.
Testing with a regular midi piano results in sounding notes being cut off as soon as those notes are reissued.
The question becomes whether there is an alternative protocol which performs as I thought it was operating, which is that note ons for sostenuto’d notes would be filtered out if replayed.
Notes would only shut down if the sostenuto and held notes are both released.
This would provide seamless transition between the sostenuto’d condition , the introduction of new notes into the sostenuto’d condition, and the off condition, while allowing non sos’d notes to be played anywhere except on currently sos’d notes.
It’s understood that no real piano can ignore replayed notes but, as it stands, a midi piano which only understands note ons/offs and sustain does not perform under current piz sostenuto protocol.
Is this doable?
Just some thoughts on this. As I understand sostenuto for a piano any held notes when the pedal is pressed will be sustained (as in damper pedal). If I strike any of those already sustained keys it sounds again (sends another note on). So wouldn’t you want to send another note on when a sostenuto held key was hit instead of ignoring it?
Hi Dave, I alluded to this in my post.
The necessity to issue another note on event is a limitation of the mechanical action of a piano.
This is not something we have to concern ourselves with in the MIDI world, although for pianos which can fully take advantage of it, use a ‘conventional’ approach.
I described the current operation of PIZ’s offering above.
On a good old fashioned midi piano which only understands note on, note off and sustain, the implementation chokes a note of the same pitch value if it is already sos’d.
Useless in every scenario I can think of, unless the VST plugin can function under those circumstances.
In general use, sostenuto simply locks all notes currently on when the pedal goes down, but how do different plugins respond to sostenuto?
Differently.
A VB3 will not reissue percussion but will key click. A Cherry Memorymode reiterates the same note but does not stack voices as it would if CC64 were used.
A Mercury 4 offers 2 assign modes, mode 1 which cycles through the oscillators in turn, and mode 2 which reiterates the same voice. Under sos conditions, Mode 1 retrigs the envelope but does not cycle, Mode 2 ignores the retrig and sustains seamlessly.
It’s that Mercury behavior I’d like to guarantee.
To sum up:
Thanks Ade, for the extra explanation. I get it all now. I hope a solution is on the horizon.
Hi Ade: I don’t know whether this helps, but my SustainPedalVST plugin has a “Retrigger” parameter that, when set to “off” (0), does (I think) what you’re describing.
Wow - checking that out:+1:t2:
I’m happy to add a new mode to the filter, but want to make sure I precisely understand it.
As I understand it, it should:
What descriptive name would one give such a mode that fits in a checkbox label?
That’s it @Brad.
I guess the single sostenuto filter would still suffice as long as a check box for ‘retrigger’ was introduced.
“Re-trigger” sounds like this would allow the note to be re-triggered while held by sostenuto? Isn’t that the opposite of what this mode does?
Oh, I was just visualizing the current Sostenuto filter with a Retrigger field. If enabled by default, the current behavior is preserved. If unchecked, then no retrigger occurs under the conditions we’ve defined. Does that not do it?
Ah ok that makes more sense.
Quick question on this.
Not quite sure what the suppress Sos 64 indicates, as CC64 is sustain.
Is it a converter for 64 to 66, then suppressing the 64? If so, great!
Oops, you’re right. Typo, should be 66.
Ok - cool.
Is it converting too? This would be a major convenience, if possible.
What do you mean? Converting 66 to 64 and vice versa? Why?
Hi @brad
It was not clear whether the sostenuto filter was automatically converting from 64 to 66. There’s no reason it should; after all they’re two separate controllers. It just so happens that 99.9% of the time, the user will employ the sustain pedal for that task, so I was suggesting that we have the facility to make that conversion happen within the Sos filter, as opposed to having to use another mapping filter.
Hope that’s clearer.
Hope that’s clearer.
In 4193 notes which are being played will cut off when Sos is on and then off.
I believe current implementation operates as follows
If notes are played, sos applied, fingers lifted, the notes sustain, which is correct.
Reapply those notes, even add new ones, apply sos, and they continue seamlessly, which is correct.
Apply and release sos while notes are still being held down, they will cut off.
That is not correct.
I think the rule of thumb is that if fingers are on keys, don’t cut them off.
Thanks for looking at this issue.