[sdiy] MIDI state machine for arpeggiator

Matthew Smith matt at smiffytech.com
Sun Mar 1 06:36:28 CET 2009


Quoth David Brown at 2009-03-01 16:00...
> I'm joining this late ... but your issue is running status.  There is 
> a "high speed" mode in MIDI where you can drop the command byte and 
> just send data.  In this case you are getting the first note on 
> command and then a string of two byte sequences ... note and 
> velocity.   You can tell that the command byte is missing in that bit 
> 8 is 0 for data.  Your interpreter has to be smart enough to handle 
> this.  Note that in this sequence of data, you can get real time 
> messages interleaved at any time.  These are a small subset of single 
> byte commands.  Your interpreter has to be able to sort these out as well.

Thanks, that means my interpretation of Achim's message is correct.

As is stands, timing bytes and 0xFF are checked by calling a routine 
before examining the state.  In other words, if one of these comes in, 
it's passed on directly and the state machine is not invoked.

I thought that this "high-speed" mode was going to be a pain but have 
since worked out that it only requires two extra states to be added. 
It's just that each state needs to make several more checks.

Now to transfer my diagram on paper back to the text editor.

Cheers

M


-- 
Matthew Smith
Smiffytech - Technology Consulting & Web Application Development
Business:      http://www.smiffytech.com/
Blog/personal: http://www.smiffysplace.com/
LinkedIn:      http://www.linkedin.com/in/smiffy
Skype:         msmiffy
Twitter:       @smiffytech



More information about the Synth-diy mailing list