MIDI Made Easy - Part I
After a long time waiting, I'm giving a go at a trial MIDI column.
What I do need to get going are your questions about MIDI, sequencing, recording and encoding. It makes my job much easier and can lead to interesting pathways..
Here then is my first response to a question by Carl Chimi of Benton, Pennsylvania, USA, about recording XG sounds directly to the PC from a MIDI file playing in same PC:
Q. "I want to take a MIDI file which contains XG-MIDI instructions and record the audio produced by such a file as it is played back. I would like the instrument sounds to be correct for XG, not just General MIDI.
Clearly, I could simply take my little QY-100 sequencer (which has an XG synth built in) and hook its output up to the input of my sound card. Then I could use any of a dozen programs to record that input. That's doable. But I'm lazy. I want to play the MIDI file on my computer (getting it there is very easy with the QY-100) and encode the audio produced by that file into an mp3 file. I am certain that software must exist to do this, but I haven't had a chance to look around for it yet. Unless the software itself was capable of generating the XG sounds, I would have to have a sound card or a softsynth capable of doing that. I don't have such a sound card right now, and all of my computers are Win2000 machines, for which I haven't found any SoftSynths that work. The search, once it begins, continues."
A. Not an easy task, without clarifying the Basics:
First of all, a summary (no dates!)of MIDI and the different MIDI formats: MIDI is an abbreviation for the term 'Musical Instrument Digital Interface,' meaning simply that it permits various digital instruments to communicate between themselves through the use of message 'channels' (16 is the limit, for programming purposes).
The messages can be note on information, volume level, strength of playing (velocity) and many other bits of info permitting instrument B to reproduce or echo anything sent by instrument A. There are three basic kinds of messages:
· Program change messages from 0 to 127, that tell the instrument which sound to use on a particular channel.
· Controller messages from 0 to 127 for note on, volume, etc, for individual channels.
· System exclusive messages that can be used either as global parameters (reverb type, chorus type, etc.), anything affecting the whole keyboard.
Or they can also determine channel parameters (velocity, effect depth, etc.)
The advent of keyboards capable of recording and playing back a song with more than one instrument (timbre, voice, program, sound) at a time, thus imitating anything from a small combo to a symphony orchestra, revolutionized music-making all over the world.
Of course, musicians wanted their songs to be able to play in different instruments without losing fidelity. General MIDI, abbreviated GM, was a decided-upon standardization between synth-producing companies, basically Roland, Yamaha, Korg, and others to facilitate the production and exchange of MIDI sequences(songs) from the users of one brand to those of another brand or even 2 different models of the same brand with minimum loss of fidelity.
standard required that program numbers use the same
placement from one instrument to another, for example,
Acoustic Piano should be program 000, Nylon-Stringed
Guitar, program 25, and so forth.
By using the same numbers for the same sounds as well as some other items called controllers for volume, sustain, reverb level, type and parameters, about 50 to 60 different messages, a Brand or Model X musician could create a MIDI file on his instrument and exchange it with a Brand Y user whose instrument had GM capabilities and have it play with the same type of sound as the original track. It also defined the drum track to MIDI channel 10 as a standard for all GM files. Of course, this only affected the type of sound and not the quality of the sound played. An acoustic piano or a guitar sound can vary in quality from instrument to instrument, but at least, the piano track would sound like a piano and not a violin!
Roland accepted the GM standard and decided to go one step further by inventing variations of the standard MIDI sounds. By an ingenious system of programming, which I won't go into at this time, they gave their customers the opportunity to choose a variant of some sounds while keeping the same GM numbering system. They named it GS, "Roland's universal set of specifications which were formulated in the interest of standardizing the way in which sound generating devices will operate when MIDI is used for the performance of music..." as one Roland manual explains.
Thus, users of Roland products could have different-sounding acoustic pianos, guitars and other instruments that still respected the GM standard for other brand users who would still get a regular piano at number 0 without the variation. The hope was that this would become a new standard and help sell their instruments.
As I am not familiar with their more advanced equipment, I'll leave the explanation of specs to others...
Yamaha, using the same programming trick with a small difference, invented a virtually infinite choice of sounds through the use of different "banks" of sounds, creating an endless possibility to add more sounds without breaking the GM limit for non-users. Also, changing the sampling method, the sounds had a quality and fidelity approaching the real thing and the pure synth sounds became incredibly varied. Moreover, the XG system permits many parameters to be edited inside their keyboards or sound modules, such as touch control, depth of velocity, attack, delay, and more. Another extra was the ability to use DSP (digital signal processing) effects and variation effects as inserts or whole system and being able to access and change a wide range of parameters for reverb, chorus, delay, and other sound-shaping effects.
Now that this is out of the way, I'll state and answer your question, Carl. But this will be the theme for the next installment, if you don't mind the wait (2 hours is my limit!)
English Home page:
FastCounter by bCentral