[sdiy] MIDI Note chaining (was MPE)
MTG
grant at musictechnologiesgroup.com
Tue May 8 00:00:32 CEST 2018
Unless it's hooked to a keyboard that sends Note-On with 0 velocity as a
Note-Off. Not sure who has implemented that, but I'm pretty sure I've
run into it before.
But even "modern" versions of those old 1 MIPS micros can handle the
processing overhead pretty quickly, aside from the UART byte delay.
GB
On 5/6/2018 11:37 AM, rsdio at audiobanshee.com wrote:
>
> However, the chained option is not as slow as you think. If fact, it’s not slow at all.
>
> Once a given mono synth is playing a note, it can literally pass on every message except Note Off without delay. This means each byte of the multi byte messages would be sent as soon as it’s received, without significant delay. There’s no need to collect complete messages before passing on the individual bytes. The only byte that might be delayed is the first byte of a Note Off message, because the synth would need to wait until the note number byte is received to decide whether to pass on the message or not. It should even be possible to pass on all Note Off values without delay, since downstream synths are surely going to ignore a Note Off for which they never received a Note On.
>
> However, when that same mono synth is not playing a note, it still won’t be delaying Note On messages. The first Note On command will not be passed on, but that’s not a delay because it’s going to be stolen anyway. Once that first Note On has been received, the firmware starts operating in the mode I described above where further Note On messages are sent without waiting for the full message.
>
> The MIDI retransmit delay is 0.32 ms, plus any interrupt overhead on the specific processor being used. 0.32 ms is hardly a delay at all. Most synth keyboards are scanned in a matrix of rows and columns of switches, such that more than 0.32 ms separates even the notes of a chord played “at the same time.”
>
> Granted, writing MIDI firmware that properly parses messages and implements minimal retransmit delay, especially for the MIDI System Real Time messages, is not a given. Not every firmware developer has the skills or experience and understanding. Fortunately, the MIDI protocol is designed so that ancient 8-bit 1 MIPS processors can handle it. Todays processors are hundreds to thousands of times faster, and the protocol is still just as streamlined.
>
More information about the Synth-diy
mailing list