No, no, no - sequencer resolution or tempo of music has nothing to do with MIDI data transfer, and high resolution can't improve MIDI timing, delay, latency or similar problems. Two main problems of MIDI from the point of view of timing are: - Serial protocol - all data which are seemingly in one moment, are in fact "arpeggiated" and sent one note by another one. MIDI doesn't know anything like a chord. Even when the chord is recorded exactly on the beat, in reality it is sent to MIDI arpeggiated. Everything is sent as one voice - monophonic - melody. And maximal throughput of MIDI is 3125 bytes/sec, which is about 1000 messages in the second when we count the longest three byte messages... That's a resolution about 1 msec. That would be about 62 notes on each MIDI channel, in theory. It can be more thanks to running status (and sending <Note Off> as <Note On Velocity Zero>), which seems to be enough good. But: not only notes are sent, but also MIDI controllers, pitch bend, aftertouch, MIDI clock and SysEx blocks... All this leave less space for notes itself which are the most important for the music. Some software sequencers have solution that they analyzed recorded data which should be sent and change their order to be sent in the most efficient way without delay, with using of running status. I remember also that Emagic Notator sent MIDI data in order how tracks were in the pattern - from up to down, from track 1 to track 16. So it was recommended to place time critical tracks (like drum part track) up, and less important tracks down. But there's another issue: we must add another delay caused at the side of receiving device which has to decode MIDI data, and send them to tone generator. Also these data are based on sequential processing... Another delay can be caused by long MIDI cable, or chaining more MIDI instruments by MIDI Through connector. - Fixed transfer speed - music has not fixed density of the information, quite opposite - typical for music is cumulative behavior with bursts in information density. But MIDI transfer speed is constant. When there's too much musical information on MIDI cable, it's not sent simultaneously, but one by one, and there's a delay. Daniel Forro On 23 Aug, 2013, at 9:46 AM, steve_the_composer wrote: > As people have pointed out, this group has been extremely active > over the last day or two. I did not see any replies about your > "integer divisor" statement; so if someone replied already, please > accept my apology (but only if I am repeating what someone else has > said). > > In the thread so far people have talked about primarily two types of > timing--(1) rate of serial port data transfer and (2) tempo. > > Sort of related to tempo, there's something I call resolution. > Sequencers (and the midi files they create) sometimes refer to ppq-- > pulses per quarter (http://en.wikipedia.org/wiki/Pulses_Per_Quarter). > > I suspect that the precision with which someone lays down a track so > it is 100% on the beat (or any other precise place) is more a matter > of the resolution of the sequencer than the divisibility of the > tempo into the rate of serial data transmission. > > I could be wrong (and if so, my guess is that someone will let me > know). > > Steve
Message
Re: [CZsynth] Re: Speed of sysex transfer
2013-08-23 by Daniel Forró
Attachments
- No local attachments were found for this message.