[sdiy] Handling MIDI Running Status from Power-up
Tristan
tu at alphalink.com.au
Fri Nov 15 04:56:29 CET 2019
One way you could work around this is to make an intermediary MIDI module that would sit inline
between your source and destination and which would implement the MIDI status reinsertion. A small
micro with UART for MIDI in and out would do it. All it would have to do is store the last MIDI status and
reinsert it ahead of any data received with running status after a short timeout. Then you could replug the
output of that module to your heart's content.
/Tristan
On Fri, Nov 15th, 2019 at 11:13 AM, ackolonges fds <ackolonges at hotmail.com> wrote:
> Thanks everyone for your very thoughtful and insightful responses.
>
> The reason why this issue rears its head perhaps a bit more often than normal
> in my case is that my MIDI parser is written for a Eurorack module that
> receives MIDI - an environment that invites live patching. The problem also
> occurs simply when turning on or resetting the module. Unfortunately I'm not
> creating the device that sends the MIDI, just receiving it - I've tried with
> two different MIDI keyboards, and unfortunately neither of them utilise
> active sense or have any sort of 'time-out' on their running status
> behaviour. So if it's an unsolvable problem from my end, at least I know that
> it's unsolvable for everyone and it's not just my device that exhibits the
> unexpected behaviour - in fact it's the commercial controllers' fault!
>
> If I make any MIDI *sending* devices at some stage, I'll be sure to use one
> of the great strategies mentioned - active sense, running status only on full
> buffer, or running status time-out.
>
> Thanks again for your input.
>
> ________________________________
> From: Synth-diy <synth-diy-bounces at synth-diy.org> on behalf of
> music.maker at gte.net <music.maker at gte.net>
> Sent: Friday, November 15, 2019 2:42 AM
> To: synth-diy at synth-diy.org <synth-diy at synth-diy.org>
> Subject: Re: [sdiy] Handling MIDI Running Status from Power-up
>
>
>
> Not sure why you would be switching MIDI cables during a performance for
> exactly the reason you
> stated - running status. Two things come to mind. Since you're writing your
> own code, simply
> disable running status and always send status all the time. That does
> eliminate some bandwidth
> though, so not entirely desirable. Or you could include a switch that
> prevents running status
> while on.
>
> What I wonder though, is why you are switching MIDI cables during a
> performance? MIDI is designed
> to accommodate many sound modules all plugged in at once. If one MIDI bus is
> insufficient (you use
> more than 16 sources) you can use two or more interfaces. I think this is
> the reason you don't
> find MIDI interface devices with such a switch on the market. Not to mention
> that it's just bad
> business to disturb your rig while there's an audience waiting to hear you.
> The god of gig is
> always watching and will strike with a broken something just at the "right"
> moment.
>
> ackolonges fds <ackolonges at hotmail.com> wrote:
> >--
>
> >I've run into a MIDI running status issue while writing and
> >testing my own MIDI parser, and I was wondering if anyone on here
> >has heard of any practical way of handling it.
> >
> >Here is the scenario: You have been playing notes on a (hardware)
> >MIDI sound module via your MIDI keyboard that makes use of
> >running status. You then power-up a second sound module, unplug
> >the MIDI cable from the previous one, and plug it into the second
> >one. When you continue playing notes, they are not received by
> >the second module, because it did not receive any status bytes
> >due to the use of running status. The only way to begin playing
> >notes with the second module is to then send another type of MIDI
> >message such as Control Change or Pitch Bend to 'break' the
> >running status, and force the sending of a new status byte - a
> >completely bewildering thing for the end user.
> >
> >I've recreated this issue on commercial synths, so it looks like
> >I'm not alone with this - have any of you encountered this
> >problem and have any ideas about an elegant way to deal with it?
> >
> >Cheers
> >
> >--_000_MEXPR01MB1960987A3276433FC603B444D5710MEXPR01MB1960ausp_
> >Content-Type: text/html; charset
> >Content-Transfer-Encoding: quoted-printable
> >
> ><html>
> ><head>
> ><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> ><style type="text/css" style="display:none;"> P
> {margin-top:0;margin-bottom:0;} </style>
> ></head>
> ><body dir="ltr">
> ><div style="font-family: Calibri, Helvetica, sans-serif;
> >font-size: 12pt; color: rgb(0, 0, 0);"> Hi All,</div> <div
> >style="font-family: Calibri, Helvetica, sans-serif; font-size:
> >12pt; color: rgb(0, 0, 0);"> <br> </div> <div style="font-family:
> >Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0,
> >0);"> I've run into a MIDI running status issue while writing and
> >testing my own MIDI parser, and I was wondering if anyone on here
> >has heard of any practical way of handling it. <br> </div> <div
> >style="font-family: Calibri, Helvetica, sans-serif; font-size:
> >12pt; color: rgb(0, 0, 0);"> <br> </div> <div style="font-family:
> >Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0,
> >0);"> Here is the scenario: You have been playing notes on a
> >(hardware) MIDI sound module via your MIDI keyboard that makes
> >use of running status. You then power-up a second sound module,
> >unplug the MIDI cable from the previous one, and plug it into the
> >second one. When you continue playing notes, they are not
> >received by the second module, because it did not receive any
> >status bytes due to the use of running status. The only way to
> >begin playing notes with the second module is to then send
> >another type of MIDI message such as Control Change or Pitch Bend
> >to 'break' the running status, and force the sending of a new
> >status byte - a completely bewildering thing for the end
> >user.<br> </div> <div style="font-family: Calibri, Helvetica,
> >sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"> <br> </div>
> ><div style="font-family: Calibri, Helvetica, sans-serif;
> >font-size: 12pt; color: rgb(0, 0, 0);"> I've recreated this issue
> >on commercial synths, so it looks like I'm not alone with this -
> >have any of you encountered this problem and have any ideas about
> >an elegant way to deal with it? <br> </div> <div
> >style="font-family: Calibri, Helvetica, sans-serif; font-size:
> >12pt; color: rgb(0, 0, 0);"> <br> </div> <div style="font-family:
> >Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0,
> >0);"> Cheers<br> </div> </body> </html>
> >
> >--_000_MEXPR01MB1960987A3276433FC603B444D5710MEXPR01MB1960ausp_--
> >
> >--=====7342240197046470926=
> >Content-Type: text/plain; charset=s-ascii"
> >MIME-Version: 1.0
> >Content-Transfer-Encoding: 7bit
> >Content-Disposition: inline
> >
> >_______________________________________________
> >Synth-diy mailing list
> >Synth-diy at synth-diy.org
> >http://synth-diy.org/mailman/listinfo/synth-diy
> >
> >--=====7342240197046470926=-
> >
>
> -- ScottG
> ________________________________________________________________________
> -- Scott Gravenhorst
> -- http://scott.joviansynth.com/
> -- When the going gets tough, the tough use the command line.
> -- Matt 21:22
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy
>
More information about the Synth-diy
mailing list