[sdiy] MIDI Note chaining (was MPE)
rsdio at audiobanshee.com
rsdio at audiobanshee.com
Tue May 8 02:48:14 CEST 2018
I’m old enough to remember synths with First Note Priority, instead of Last Note Priority. In other words, if you play too many notes, you don’t hear anything new until you release one. Mono synths often have High Note Priority, Low Note Priority, or Last Note Priority, but a few vintage beasts are actually limited to First Note Priority. That’s pretty much what you’re stuck with if you want voice chaining to an arbitrary depth.
What you’re describing requires a global viewpoint as well as a fixed number of voices. Perhaps that explains why DSI only allows chaining to be one level deep - because the first synth can only manage fancy voice allocation if it knows how many external voices there are, and the easiest way to do that is set a limit.
Remember, back when all synths were monophonic, no composer ever lost track of how many notes were playing.
On May 7, 2018, at 2:21 AM, Tom Wiltshire <tom at electricdruid.net> wrote:
> That’s not what I mean by “note stealing”, unless I’m not understanding you.
> Yes, the first synth picks up the first note, second synth gets the second note, etc, until all the voices/synths are full. On a polysynth, the next note would then steal the oldest note from the first synth so every new note gets played. Your algorithm seems to only play notes until all the voices are full, and then stops.
> On 6 May 2018, at 18:26, rsdio wrote:
>> This is easy. You always “steal” the first note and then only echo the remaining notes. Each subsequent synth does not see the notes stolen earlier, but proceeds to steal the “first” note that it sees, and then passes on the rest. Any synth that’s already playing a note will simply pass on everything until it sees a matching Note Off.
>> As far as I can tell, this scheme should be infinitely extendable. Well, the actual limit is 128, since there’s no way to track multiple, distinct notes on the same key number. You also cannot implement voice allocation schemes like Round Robin, least recently used, closest pitch, or any algorithm that requires global knowledge.
>> My question is why do the Dave Smith Instruments have a limit in their Note Chaining? What sort of feature do they provide that is algorithmically impossible to solve in an unlimited fashion?
>> Brian Willoughby
>> p.s. What MIDI messages would a synth be generating? I suppose System Exclusive responses might be one thing. Are you talking about mono synths with keyboards attached? The latter could get confusing really quickly unless the keyboard took priority, when possible, over the local synth engine. MIDI timing messages would get hairy to merge if every synth were trying to drive a clock.
>> On May 6, 2018, at 8:23 AM, Tom Wiltshire wrote:
>>> Good question. If you don’t know how many more are connected, how would you know when to start stealing notes?
>>> On 6 May 2018, at 15:52, MTG wrote:
>>>> If I can steal this thread a bit (sorry)... is there some standard for these mono-synths that daisy-chain to become polyphonic? I'm guessing the first synth takes the first note, then passes any other notes via it's midi-out merged with what it may be generating?? I don't mean necessarily a midi.org standard, just de-facto where we could play along as it were. I guess each synth would need to know how many more are downstream??
More information about the Synth-diy