The Basic Basics of MIDI

Wait... is it the synth or the DAW that chooses the numbering?

Except for possible exceptions-- namely, in certain "SysEx" or "System Exclusive" commands-- the numeric values always start at 0 within the actual MIDI code. The reason why has to do with the way the values are stored in the computer bytes. But for us mere human beings it makes more sense to count things and number things starting with 1, which is why it's so common for keyboards and DAWs to number the PCs and Channels from 1 on up. Even the MIDI Manufacturers Association (MMA) does it-- e.g., check out the PC numbers on the following page: GM1 Sound Set

It really isn't important, so you shouldn't worry about it-- I mentioned it only because it's one of those little things that can trip you up if you aren't aware of it, hence it's generally good to be aware of it just in case. If you're lucky, the DAW that you're using will have a file which lists all of the available patches for the synth or keyboard that you're using, so you won't even need to worry about what Bank Select MSB/LSB and Program Change numbers to use when you want to select a particular patch-- you just pick the patch by its name from the list of available patches. [DAWs the Great and Powerful]"Pay no attention to the numbers behind the curtain!"[/DAWs the Great and Powerful] It's only when you have to actually edit the MIDI messages for some reason that you need to pay attention to the numbers.
 
So, I feel I have a better understanding with Programs/patches and banks. Now I'm trying to get a feel for control codes. I was messing around a little while ago and I set up my keyboard controller to have one of it's faders mapped to CC10 for panning. It was cool to see it work. It helps solidify my understanding.
But then I see that CC10 is the MSB pan setting, and that CC42 is the LSB pan setting. I assigned another fader to CC42 and heard no difference. What is the MSB/LSB thing? I read from Tweak's website that it essentially translates to "course tuning" and "fine tuning", but what the heck does that mean for things that cannot be tuned in the first place?? i.e. Why does CC0 have an LSB equivalent (CC32)? How can you fine-tune a bank change??
 
What is the MSB/LSB thing? I read from Tweak's website that it essentially translates to "course tuning" and "fine tuning", but what the heck does that mean for things that cannot be tuned in the first place?? i.e. Why does CC0 have an LSB equivalent (CC32)? How can you fine-tune a bank change??

"MSB" and "LSB" are computer programmers' abbreviations for "most significant byte" and "least significant byte," which is related to two-byte numbers. A byte can hold a numeric value from 0 to 255, but in MIDI the highest bit of a byte is frequently used as a flag, which is why Program Change numbers-- as well as Note numbers-- run from 0 to 127 instead of all the way up to 255. A two-byte number can have a value from 0 to 65535, which we can express as the formula 256*MSB + LSB. However, if we limit both the MSB and LSB to values from 0 to 127 then the formula becomes 128*MSB + LSB, or 0 to 16383.

As far as patches are concerned, the original MIDI specs (GM, or GM1) allowed for 128 different instruments or programs-- plus a drum kit, which didn't have a patch number. By adding the concept of "banks," Roland and Yamaha allowed for the ability to define many more patches-- in theory, up to 128*128*128 (MSB*LSB*PC) or 2,097,152 different patches!

However, in practice only a handful of Bank Select MSB and Bank Select LSB values are used by each manufacturer, and most banks don't actually contain 128 different patches. Also, each manufacturer can decide how they want to use the BSMSB and BSLSB bytes-- except the MMA says that the 128 GM1 patches must have BSMSB=0 and BSLSB=0, and the 256 GM2 patches must have BSMSB=121 and then specific BSLSB values to indicate specific variations of the instrument (or PC).

For example, in their XG spec Yamaha uses the BSMSB to select the type of bank-- in particular, BSMSB=0 is for "melody" instrument banks, BSMSB=64 is for "sound effects" banks, and BSMSB=127 is for "drum kit" banks-- and then the BSLSB selects a given bank of the specified type.

On the other hand, Casio uses the BSMSB to select the bank and leaves the BSLSB set to 0.

As far as Control Change or CC messages are concerned, some controllers use one-byte values, while others use two-byte (MSB/LSB) values to allow for a wider range of numbers. For example, CC65 is for "Portamento On/Off" and uses only one byte, because it needs only two values-- "on" or "off"-- so bit 6 of the byte (which has a value of 64) is used as the on/off flag, hence any CC65 value less than 64 turns portamento off, whereas any CC65 value of 64 or more turns portamento on. And even if a particular CC message uses two bytes, often manufacturers will use only one of the bytes-- as seen above with BSMSB (CC0) and BSLSB (CC32). For example, the "Pan" controller is CC10 (MSB) and CC42 (LSB), but that doesn't mean CC42 actually does anything-- it might or might not, depending on the manufacturer. CC10 (Pan MSB) will control the sound's overall position within the left/right spectrum-- 0 being full-left, 64 being centered, and 127 being full-right-- so CC42 will have a very minor impact if it's used at all. For example, if CC10 were set to 0 (full-left), then CC42 would set the pan to some fractional amount between CC10=0 and CC10=1, which will be such a tiny change that the manufacturer might not feel it's worth paying attention to.

In any case, the terms "coarse tuning" and "fine tuning" don't refer to "tuning" per se, as in tuning an instrument to a particular pitch-- rather, it really means "coarse setting" and "fine setting."
 
For example, the "Pan" controller is CC10 (MSB) and CC42 (LSB), but that doesn't mean CC42 actually does anything-- it might or might not, depending on the manufacturer.

Ah... So I can't necessarily expect to assign any-old control code to a soft synth and expect it to have a cool effect. The synth manufacturer has to have their synth set up to respond to it, otherwise there's no effect, right?
 
Ah... So I can't necessarily expect to assign any-old control code to a soft synth and expect it to have a cool effect. The synth manufacturer has to have their synth set up to respond to it, otherwise there's no effect, right?

Well, the control codes are defined by the MMA, and some of them aren't defined yet (see Table 3 of MIDI Message Table 1-- many of them say "Undefined"). So when you say "any-old control code," some of them don't do anything anyway.

But as far as whether or not the defined CCs will have an effect-- you're right, the electronic keyboard, hardware synth, soft synth, or virtual instrument may or may not use a particular CC, and even if it does it might be only in one direction. For example, my old Casio CTK-710 keyboard doesn't have a modulation wheel, therefore it doesn't transmit any CC1 or CC33 messages-- but according to its MIDI reference it will respond to CC1 messages. The keyboard or synth will usually have a document or table listing which MIDI messages it can transmit and/or receive, as well as which BSMSB/BSLSB/PC numbers should be used to select a given patch.
 
Ok, so as far as knowing what control codes I can use depends on how good the documentation is for the synth in question. Or so it seems...
 
Ok, so as far as knowing what control codes I can use depends on how good the documentation is for the synth in question. Or so it seems...

One thing you can do is hook your synth or electronic keyboard to your computer via MIDI or USB-MIDI, then use a DAW to monitor the MIDI messages coming from the keyboard as you press each button, push each slider, turn each knob, etc. That will tell you what MIDI control messages are sent by each of the keyboard's control surfaces.

However, that isn't so helpful if the button, slider, or dial is programmable, because in that case it's only going to send what you've programmed it to send. An exception is if the control has only a few specific functions it can be set to, in which case you can try the control for each assignable function to see what MIDI messages are sent.

However, some controls won't send MIDI messages. For example, if you press a button on the keyboard to shift the voice up or down an octave, you won't trigger a MIDI message by pressing the button-- but you will change the MIDI note values that get sent by pressing the keys; e.g., if you shift everything down an octave then the Middle C key will transmit a 48 instead of a 60.

Likewise, switching oscillator waveforms on a synth isn't going to transmit a MIDI message.

If you're using a MIDI controller with a soft synth, you can always experiment to see whether a particular control message does anything or not-- go ahead and have some fun exploring!
 
MIDI was invented in the 1970s by real nerds with pocket protectors; you won't find anything 'easy'.

Gecko's link to Sound-on-Sound magazine is good start; they have a TON of issues on line you can search through with VERY good articles.

Actually, not that it matters, it was the 1980s, with the specification being published in '83. (30 years old last year!)
The original work was done by Dave Smith of Prophet 5 fame. Then a guy (who's name I forget) from Roland got involved too.
The two of them are generally credited with its invention.

The MMA (MIDI manufacturers association) owns the specification (it isn't public domain), and they publish lots of information at their web site MIDI Manufacturers Association - The official source of information about MIDI..
That includes some simple guides and tables of all the MIDI messages.

OMG, I didn't realise that Tweak had passed away, his guides have been some of the best.

To the OP, if you want some more stuff on MIDI you could try MIDI tutorials.

I see you're using GPO4 (Garritan), and it (like many VSTi's) doesn't use the bank MSB/bank LSB/Program# mechanism.
ARIA has 16 slots (addressed by MIDI channel) into which you load instruments either manually or by using a saved "ensemble".
Variations of instruments e.g swapping from Stradivarius legato playing to Strad. pizzicato is done by key switch.
Key switches are usually deep bass notes, way out of the normal playing range of the instrument.
When invoked they don't sound, just alter the articulation until you change to another one.
GPO4 uses uses quite a few unusual MIDI controllers (CC#) to control things.
I should print out the manual if you can.
I use all of Gary's library's except the latest CFX piano.

Kind regards,
John.
 
Last edited:
OMG, I didn't realise that Tweak had passed away, his guides have been some of the best.
Yeah, I think it was in 2010 IIRC, which was about 2 years before I even heard about the site.

To the OP, if you want some more stuff on MIDI you could try MIDI tutorials.
I might later. Right now I've just learned a bunch of new stuff and I'm anxious to apply. :D

I see you're using GPO4 (Garritan), and it (like many VSTi's) doesn't use the bank MSB/bank LSB/Program# mechanism.
ARIA has 16 slots (addressed by MIDI channel) into which you load instruments either manually or by using a saved "ensemble".
Variations of instruments e.g swapping from Stradivarius legato playing to Strad. pizzicato is done by key switch.
Key switches are usually deep bass notes, way out of the normal playing range of the instrument.
When invoked they don't sound, just alter the articulation until you change to another one.
GPO4 uses uses quite a few unusual MIDI controllers (CC#) to control things.
I should print out the manual if you can.
I use all of Gary's library's except the latest CFX piano.

Kind regards,
John.

I noticed that my bank-change commands had no effect! Way to mess with MIDI beginners Garritan! :p
Oh well, I still love how it sounds.
And that would explain why, when I bring up the plug-in, some of the keys on the keyboard are a bluish-green and one purple.
 
I noticed that my bank-change commands had no effect! Way to mess with MIDI beginners Garritan! :p
Oh well, I still love how it sounds.
And that would explain why, when I bring up the plug-in, some of the keys on the keyboard are a bluish-green and one purple.

I think it fair to say that GPO4 probably wasn't intended for beginners!
Although, if you use the notation program Finale, it's all done for you as you enter e.g. a 'slur' mark, the notes are overlapped, and the MIDI legato 'pedal' is pressed and released as required. When you mark the score as going from arco to col legno the key switch is inserted for you.

Actually Gary wasn't the first to load instruments this way.
There are many examples, including most of the most prestigious orchestral sample sets, that work in this fashion.
And, most notably, many instruments (most? all?) in Kontakt work in this fashion.
It's become the new 'normal' for sample based orchestral libraries.

Here's the list, as an example, of how the Stradivarius KS (key switch) loads into ARIA.
The samples are listed in order with the key switch note first.
Either the whole sample set is loaded into memory, or the beginning of the sample, then the rest (the tail) is streamed from disk as needed.
The key switch notes are in the octave below the lowest sounding note.

C. Sustain.
C#. Sustain mute. (the sound of the violin with the mute clipped across the bridge)
D. Auto alternate. (alternate up and down bow strokes)
D#. Up bows.
E. Down bows.
F. Pizzicato.
F#. Tremolo with mute.
G. Tremolo.
G#. 1/2 step trill with mute.
A. 1/2 step trill.
A# (or Bb if you'd rather). Whole step trill with mute.
B. Whole step trill.

All the sample libraries I know of only have samples in the actual instruments range, i.e. play the equivalent of the lowest A on a piano keyboard to a violin sample and silence ensues. Unlike virtually all 'normal' MIDI instruments.

Orchestral libraries e.g. from East West have even more key switches.
The Vienna libraries even more still, I understand.

Also with Gary's libraries the note on velocity, on non-percussive instruments, doesn't control note volume/timbre, just the degree of 'attack'.
He uses expression (CC#11) or wind (CC#2) and more strangely (CC#1) modulation wheel to control note volume.

There's also a controller to adjust the decay portion of the note so one can get realistic sounding short note playing on rapid runs, and so on.
Two further controllers are used to apply 'variation' on repeated notes (both in intonation and tuning) to avoid the typical MIDI 'machine gun' effect.
The modulation wheel is used for note volume (e.g. on strings (except pizzicato), woodwinds and brass) so it can be easily played live with most keyboards, without needing an expression pedal.

It's a very imaginative way of taking the basic MIDI specification and using it to emulate live music instruments, much needed for realism in orchestral pieces.

Better stop now, other things to do.
Have fun.
Regards,
John.
 
The other day someone was commenting about MIDI in another forum and she said that Channel 10 is always transmitted first because the drums are the most time-critical part of the MIDI data. I hadn't heard that before, but it makes sense (if it's true).
It was me and it isn't an urban legend it's fact. This is why channel 10 was always the standard for drum machines. You need to remember that midi is a serial protocol. It cannot send data for more than one note at the same time, it stacks them and sends one after the other. Normally this matters little, but if somebody goes crazy with pitch bend and modulation, then that is a hell of a lot of individual messages to be queued. With instruments a little lost timing isn't usual critical, but for high hats playing fast, any delays are really obvious. If you look at yamaha's original spec for midi, the drums on ch 10 is very clear. Old keyboards like DX7 s were a bit flaky with their timing, so the phenomenon called midi choke was very important. Stuck notes are still common, the note on message makes it sound but the note off gets lost and it hangs. Hence the midi reset on most sequencers. Midi drums works on any channel, BUT when the midi stream is busy, timing really suffers. Early sequencers had data thinning facilities to try to reduce it. I don't bother any longer myself inside the computer, but outside of it, I stick to the protocol. It was designed in for a purpose.
 
It was me and it isn't an urban legend it's fact.

Actually, the post I was referring to was by a lady on another board-- the PSR Tutorial Forum. But thank you for confirming this. :) I was aware that MIDI is serial, hence why I said it makes sense for the drums to be sent first-- the only part that seems odd to me is why they picked channel 10 for drums.

And if the GM2 standard allows for drums on channels 10 and 11, does that mean channel 11 is sent after channel 10? I wonder what the order is for all 16 channels? I mean, I know the events get sent based on their time offsets, but I mean the relative priority of the 16 channels in situations where all 16 channels have events with the same time offset.
 
So much of the midi spec makes little difference to the individual, starting from nothing, but over the years some official and unofficial 'standards' appeared, many just to make a midi file at least play on something else. GM as a standard means that even cheap nasty computer cards will at least play! Download a midi file from the net, and a piano won't be a trumpet, and the drums will go thump crack not sound like a drunk playing a violin. Piano usually appears on ch 1 bass on 2 and drums on 10. It kind of helps.

Regarding lsb/msb it's very similar to moving heads in the lighting industry. They have 256 steps available in their DMX spec. Sounds better than MIDIs 128, but if the thing spins around over 570 degrees of pan, then each individual step is a big jump and jerky. They then use another 256 steps on another channel to fill in the distance between say, 200 and 201, so the jerks can be smoothed out. They would call the channels pan coarse and pan fine, which is a better description. Sometimes cubase, my sequencer of choice displays the lsb and msb values as one big number, so seeing 16239 in a window means a number right at the top!

My midi list of important values and cc numbers is quite short.
7 volume
11 expression
10 pan
91 reverb

To solve problems, usually with edited off piano sustain pedals that mean a note rings on and on, cc 64

I rarely need 93 or 1 for modulation. Pitch end data tends to fill up the data stream, so sometimes I'll be chopping that about too.

In the early days I used to have a template with midi setup at the top of each track, but now external midi device seem to be far less used. I have loads in the studio rack and many have not been on for years!

Many synths output midi as you adjust knobs and buttons, so you can record this and then inspect it, and save it so playing the song resets the synth which is neat.

One thing to watch are downloaded midi files that contain sysex data. Often it's simply a midi reset instruction, which just removes any weird pitch bend or mod instructions and patches back to piano on prog 1, but some downloaded files send complex data to set reverbs, chorus (if your synth device uses it) pan, volume, expression and even weird codes that some synths can use. If the song has 16 tracks, then be aware this sysex data takes time to send, and be reacted to. My old Roland synth took about half a second to react and reset, so if the music starts at measure 1, bar 1 as in midi 1,0,0,0 then the first notes may get mashed up. This is why some downloaded midi files start at bar 2, and sliding the whole thing left a bar does weird things.

Other things to watch for that trip you up are cc 7 and 11. Both appear to be volume controllers, but 7 is usually thought of as the overall volume, and 11 as the up and down flow through the song. However, if you use either to fade out the music at the end, it's good practice to put a restore at the very start. Some sequencers will send a reset when you press play, others don't, and silence is tricky to find and cure. Often changing patch/program seems to solve it, but the real cause is a simple line at the end like cc7 at 0!

This topic is quite useful because midi is a huge subject that evolved over a long time and now is probably less used than before, because modern VSTi synths and samplers do the clever stuff by different means.

Like how some VSTi synths do not respond to controllers for up and down level so swapping one string sampler for another suddenly doesn't work because it needs a different way of doing it.


I still have GM, GS and XG devices and all have a few special sounds, meaning that to play my old archive tracks, they still need to be there and working, but the specialist gizmos like my old proteus synths are left behind because they sort of ignored many midi conventions and needed individual attention.

By today's standards of control MIDI is very, very basic but it's all we had. Maybe it's why the MIDI era was so synth crazy in popular music.


MIDI was also the era when illiterate and musically inept people first started to produce music. Download a few midi tracks from the net to experience how awful some really are. Inspect the data and you can see how not to do it. All exactly the same absolute note lengths, velocities and awful sound choices to suit their Five pound sound card. You can learn a lot from the rubbish ones.
 
I think it fair to say that GPO4 probably wasn't intended for beginners!
I figured :)

Thanks for the tips! If I have any further GPO questions, I'll start a new thread. I think delving into this further would steer this thread off-topic.
 
[RANT] (Nothing I write is meant to be offensive, nor to be taken personally!)

Undoubtedly the list of important controllers probably covers the most important ones, but ... and you know there must be a but ... I'd have to add:

GM System On - to reset ALL controllers (N.B. Reset All controllers doesn't!)
and, where necessary, GS System On or XG System On.
(all of them SysEx messages)

All Notes off cc#123 is a useful one for switching off hanging notes on a channel.

pitch bend (I'd agree when entered from a keyboard it tends to flood the channel. There are many DAWS that offer a 'thin data' option which can cut this back to sensible levels.)
cc#1 modulation wheel (used with many systems to control vibrato)
aftertouch (as above)
RPN MSB and LSB for changing pitch bend range.
(important if you want to emulate e.g. a guitarists gliss. as they slide all the way up the neck to a note.)

cc#66 sostenuto on/off (important for accurate emulation of piano playing.)
cc#67 soft pedal on/off (as above)
cc#93 chorus (okay only sometimes)

The MIDI specification makes it quite clear that cc#7 (channel volume) should be used to set the main channel level and typically left where it is for the mix (except for fades). Whilst cc#11 (expression) should be used for (surprisingly) expression. Unless, that is you're a wind player, in which case cc#2 is preferred.
BTW cc#7 default value is recommended to be set at 100. (4dB down from maximum)

On the subject of MIDI drums, its position on channel 10 is probably from the order in which percussion appears in a musical score. The convention is for woodwinds first, then brass, then things like e.g. harps and soloist pianos, vocalist(s), then percussion, lastly the string section.

In many 'styles', as in modern home keyboards, the accompaniment is usually put into the higher channels leaving the lower ones for solo voices.

Regarding transmission timing, we shouldn't get too carried away, with "drums first".
Remember, it's only when the instruments are all quantised to be exactly on the beat that the issue comes up at all.
In other words several notes all have their Note On at exactly the same 'tick' in a MIDI file, in other words two or more people strike a note at exactly the same millisecond (the likelihood of this happening in live playing is extremely slim).

If you're trying to make your music sound as if humans are playing you'll slide notes back and forth fractionally in the piano roll view anyway. Clearly this doesn't apply if your trying to create modern 'dance' (or whatever) ... music.

I still have an old SC-8850 and two MU1000's with various synth cards in them (DX, AN and VL) as well as a VL70m which I play with an Akai 4000s. My favourite though is my treasured AN1x. This one doesn't follow the GM sound mapping standard at all.

I'd disagree with the statement that the MIDI standard is basic. It was designed by musicians for musicians using a system that was inexpensive enough to integrate into every instrument. Music hasn't changed, only a seeming obsession to have everything with unrealistically precise timing. Remember it came out in '83, that's the same year that the IBM PC was first introduced, with the DOS operating system!

128 steps is a sufficient range of sensitivity for most things musical given the sensitivity of our ears, especially when implemented with a logarithmic curve.

The only thing where our ears are most sensitive, pitch, is given a range of plus or minus 8191.

Given even a relatively modest modern laptop (correctly configured) one can load half a dozen 16 channel VST sample players, unrestricted by MIDI cable speeds and make incredible music. Limited only by one's abilities and imagination.

Using MIDI, a modern quality sample set and a semi-pro sound card with ASIO drivers it's possible to create tracks that are close to indistinguishable from the real thing. In my direct experience, it's only the player of an istrument who will notice that his or hers doesn't sound 'quite right'.
[/RANT]

Time to get on with Mozart!

Regards,
John.
 
Asked this on a different forum, thought I might get an answer quicker here.. I hope!

It's funny about MIDI. It was introduced in the early 80s wasn't it? Yet we've not been able to come out with anything more advanced. There was talk in the late 90s about something called IE1944 or something that was supposed to be the new MIDI. But I notice everything's still held out with midi. I used to collect old analog synths. some Pre-MIDI. Gee it was a pain converting the ones with DCB and CV/Gate to get them to speak with the MIDI chain. one day I got so sick of always having some unit to fix (the Oberheim OB-8 was the WORST culprit if it wasn't a Roland, how many hours with a multimeter and a jewellers screwdriver I spent under the hood of that! I decided right there on the spot to sell the lot one night. Sorry to go off topic a bit , what did happen to that IE1944 or whatever it was called?

Edit / Delete
 
Asked this on a different forum, thought I might get an answer quicker here.. I hope!

It's funny about MIDI. It was introduced in the early 80s wasn't it? Yet we've not been able to come out with anything more advanced. There was talk in the late 90s about something called IE1944 or something that was supposed to be the new MIDI. But I notice everything's still held out with midi. I used to collect old analog synths. some Pre-MIDI. Gee it was a pain converting the ones with DCB and CV/Gate to get them to speak with the MIDI chain. one day I got so sick of always having some unit to fix (the Oberheim OB-8 was the WORST culprit if it wasn't a Roland, how many hours with a multimeter and a jewellers screwdriver I spent under the hood of that! I decided right there on the spot to sell the lot one night. Sorry to go off topic a bit , what did happen to that IE1944 or whatever it was called?

Hi Shoom,

Yes, the 1st iteration of the MIDI specification came out in 1983, as I wrote in an earlier post.
Why is there not a more advanced standard?
Well, because the guys who designed MIDI pretty well took care to put together a standard that covered almost everything.
What they did was to invent a simple, low cost interface that would work to reasonable distances at a rate that was considered fast at the time.
Low cost was paramount so that all manufacturers of electronic musical instruments would implement it, which is what happened.
And that's why we still use it right up until today.

Most of the problems we experience are either because MIDI has not been well (or properly) implemented by a hardware or software manufacturer, or because we, the users, have misunderstood how it works. See some of my previous posts regarding MIDI timing here in MIDI Mania.

However, the area you touch upon, which is not so much the MIDI messages and 'protocol', but the electrical interface itself, has been addressed since the 90's by other data transmission systems.
MIDI over USB is now commonplace, although not an ideal transmission system for MIDI in its versions 1.1 and 2, for reasons of its master/slave method of working, tending to small amounts of latency and jitter.

The IEEE 1394 standard, commonly called Firewire, to which I believe you were referring, has been around for a number of years now, and there are a few 'high end', i.e. expensive, audio/MIDI interfaces available on the market. However, it necessitates that there is a Firewire interface embedded within the host computer.
It's cable length is limited to about four metres, or so, compared to MIDI's fifteen.

MIDI over LAN is also possible.

If you wish to read more you will find the MMA's specification for MIDI over Firewire at the MMA site, here:
Tech Specs & Info
along with loads of other MIDI info. The MMA is the 'owner' of the MIDI specification.
The Firewire pdf can be found near the foot of the page on the left in "Transport Specifications and Info."

Any help?
Regards,
SysExJohn.
 
Last edited:
Yea, Well I just remember all of the new synths having that firewire socket (Actually it was lots of Yamaha Gear) and the salespeople telling me that it would be taking over from midi as the new standard in electronic instrument control.. but they're briefed on what to say by the big boss..
I guess the USB thing would speed up firmware upgrates. If they bring one out that supports USB3, I'm sure all those latency problems would go away, copying big amounts of data from hard to harddrive used to take me 6hours with USB2, when I got my new motherboard with 3, it decreased to about 25 minutes. (for about 450 GB transferring between two external harddrives) their are other factors that effect latency I know, when reason came out, things like finalscratch and hard drive recording interfaces, It was always a battle to get your latency down to an acceptable level. In those days I used to run 2 pcs. 1 that was my spec'ed out games machine and net browser, office and everything else. My other pc was my music PC, it DIDN"T TOUCH THE INTERNET, updates to windows and cubase , reason or protools were bought over from the other pc on a virus scanned rewritable CD. I saw two many other electronic acts having their sequencers crash mid performance (I was into the rave scene then, so LIVE PA's were a rare special treat and dance music on came on vinyl lol, those were the days. I remember even a bit further back, around 95, I managed to save my pocket money for 6 months and I built a 486 DX/66 with EIGHT megs of ram! and a soundblaster PRO! witha 400 meg harddrive! lol, You'd have to pay someone to take it away these days..
 
The product you're referring to is undoubtedly 'mLAN', a Yamaha idea of "music over LAN", actually Firewire not Ethernet (in any of its many forms).
I think it became obsolete in 2005 after Yammy was the only manufacturer to implement it into product (as far as I'm aware).

The important thing to understand with ALL salesmen (certainly all that I have ever met) is that they are typically clueless of any underlying technology pertaining to the product they are trying to con you into buying. I worked in the computer and telecoms industries for more than thirty years, in pre-sales, attempting to educate customers into what we could actually deliver, i.e. undoing the salesmens' over hyped promises.

To be clear, the latency of MIDI over USB is typically only a millisecond or so in well implemented driver software, but there lies 'the rub', "well implemented" not generic drivers. The latency of the audio output generated from the incoming MIDI messages is likely to be many, many orders of magnitude greater from things like virtual instruments.

MIDI jitter can also be a problem where the latency is not constant. As I recall there was quite a good article in Sound on Sound magazine some years ago explaining it all and taking measurements from various devices and systems.

You're quite right about USB 3, not only for its speed increase, but also for its change to a more Firewire approach with two unidirectional paths (full duplex).
Strangely just like MIDI in and MIDI out. You see, they got it right way back in 1983!
However, USB 3 is still subject to the host request, slave response way of working, instead of being interrupt driven (from what I've read about the technology).
The other issue, for live gigging use, is that practical cable lengths become further restricted to around 3 metres, compared to MIDI's approximately 50 feet maximum (with good cable).

I'm betting we'll be celebrating MIDI's fiftieth birthday in 2033!
Will I still be around to see it though, I wonder? Here's hoping.
 
Back
Top