Is everyone ready for thier second dose of Tutorial goodness? I hope so. Dont worry about all the text, many of the other tutes I wrote have pics in them. Feel free to print up these tutorials or do whatever with them. Just dont claim them to be yours.
Midi first debuted at NAMM in 1983 when 2 synths, a Roland jx-p3 and a sequential prophet 600 were hooked up to each other and could be played together. The original idea of midi came from ikutaro kakahsi in 1981, then the head of Roland. Midi was designed initially as a system of communication between 2 different synths, particularly 2 synths made by a different company. At the time that midi was first released nearly all of the major synth companies had some sort of communication system for their own synths. Roland had a DCB buss system, Sequential had a digital system, and Oberheim had a bulk dump system called Universal synthesizer interface (USI). Most of the ideas regarding how to transfer information for midi borrowed on the ideas of USI.
Midi info tips by M.A.S. Thanks to Keyboard magazine for additional info
Midi sends performance data down its lines, not sound!!! Midi sends information called “note-on message” it is the synth on the receiving end of the midi data that determines what sounds to create. Hence u cannot transfer music or sound from hard to your comp, or hardware-to-hardware through a midi cable.
Out --> in, in --> out. You don’t connect similar jacks together as you normally do with audio cables. The labels for mid cables refer to the direction and flow of the data.
Midi cables are 1 directional. Unlike firewire or usb where u only need 1 cable to transfer data between both instruments, midi can only travel 1 way on a cable. Hence you need 2 cables to transfer data between 2 instruments
Midi is transferred in serial not parallel format. Midi data flows down a cable 1 bit at a time, which creates potential problems for midi transfer. The data transmission speed of a midi cable is 31,250 bits/sec, so a single cable can only carry 3,1250 bytes/sec. A midi note on message= 3 bytes. Doing math which I didn’t do, keyboard magazine did thankfully to send a single note on message down the line results in a 1ms lag. This is inevitable. Play 20 notes simultaneously results in a 20ms lag, and so on for more notes.
Never connect more then 8 devices using thru on your synths. The Midi information degrades as it goes through each thru. Your last synth in the line will tend to have very high latency and also have note stuck ons and such.
16 channels of data can be shared on 1 midi cable. Each sound on your synth takes up 1 midi channel, multi-timbral synths can play multiple patches of a sound at once, so each sound or timbral requires its own midi channel.
2 types of midi sync: Clock message sync= start and stop messages and song position messages. Midi Time code (MTC)= a process of sending SMPTE sync code down a midi cables. This us useful for syncing tape decks and the like. It contains information as to how much time has passed since “start” has been initiated.
Midi note data always is based on the number 128. This applies to knob and controller data as well. 128 notes are also allowed to be played for each midi channel
A midi note-on message has 3 parts. 1. Channel number 2. Note number (on/off data) 3. Velocity data. A midi velocity of 0 will turn off a note as does the note off message
Continuous controllers are not continuous!!!! When u send midi data it is transferred in steps and whole numbers 1,2,10,31,67 (possible 0-127) you cannot transfer data like 34.23467.11.
Midi files are easy ways to transfer data between systems. Midi files are universal and are not bound by tempo. They do not contain any sounds!!! When u play a midi file on your computer your computer is playing its internal sound fonts as sounds.
To view all of the crazy technical information and mathematical data regarding midi see the official site at http://www.midi.org
Next I will explain all the ways in which to setup midi connections and routing for different studio setups.
Setting up a midi keyboard for your comp (This will apply to most of you peeps)
Most keyboards these days operate using usb these days. If you have a usb keyboard then continue to step 4. However if you do not have a usb keyboard then you will need to get a midi/usb interface.I recommend the m-audio 2x2 usb interface. It runs for about $60 and can handle up to 32 channels of data on its 2 midi ports.
Install the midi port much as you would with any usb device. Plug it in with your comp on, the hardware wizard will pop up, and you install the drivers and restart your comp.
Next plug in your keyboard to your midi interface using a standard midi cable. The setup should go midi out from your keyboardà midi in on the interface.
If your using a usb keyboard plug in your keyboard to the usb port and install a usb device with the hardware wizard that pops up. If you have the keyboard connected through a midi interface then you need to install the midi drivers manually for your keyboard. The specific keyboard will have instructions to do this.
The next step is fairly easy from here on out. Next open your sequencer and go to the midi setup screen. There find the midi in option and from the pull down menu you should find your new usb keyboard. If you use a midi interface then select the midi in port that your keyboard is connected to on the interface.
Viola!!! Your midi keyboard is now setup and now when you load up a synth it should play.
Tips on using the keyboard.
Initially your keyboard will be set as default to midi channel 1. This is also the default setting for when you load up a midi synth. There is a problem with this however. If you have 6 synths loaded with them all set to midi channel 1 and your keyboard to channel 1 then when you play your keyboard all of the synths will play together. The same problem also applies if you try to record live from your keyboard. Tracks will be recorded into the piano roll/pattern editor for all of your synths. To solve this you have to change the midi channel for each synth. The midi channel for each synth is found in the same window as the synth gui, and various slightly for different software sequencers. Remember you only have 16 midi channels to choose from, so if you use more then 16 synths or synths which are multi-timbral you might run out of midi channels to record. In this case you will have to double up on some synths and turn off midi for synths you don’t want to record on. This also applies to midi controller data, like knob movements.
Setting up a hardware synth with a software sequencer (hardware sequencer)
You will need to setup a midi/usb interface the same was as you did for the keyboard. Refer to the keyboard setup above if you don’t know how to do that.
Next, depending on the synth that your using you will need to setup the midi configuration for your synth. If your synth is a sound module then there is nothing you need to do. Your hardware synth by default will be set to receive midi data on channel 1. Usually it is best to leave your hardware synth to midi channel 1 and then change the midi channels for your soft synths in your soft sequencer.
3. Module setup:
this is fairly straightforward. You need to setup up your synth to receive midi data from your computer and software sequencer. You want to connect a midi out from your usb interface and run a line going to midi in on your hardware synth. Next go into your software sequencer go back to the midi setup screen we talked about earlier. Then for the midi out configuration set the midi out to go to the midi out port that your synth is hooked up to. Now go to the section of your sequencer where you load your vsti synths. In this same section you should see some sort of module or option for midi out. Load this module and set its midi channel to correspond to the same channel that your synth is on. If you have a midi keyboard set it to the same channel as well. Now when you play your keyboard, or write notes into pattern editor/piano roll for the midi out module your hardware synth will play notes. The same thing can be done with a synth with a keyboard as well. But you will be unable to record midi from your synth’s keyboard yet.(NOTE: audio data is not transferred through the midi cable. Remember data travels only in 1 direction through a midi cable, and midi only sends not on off data in order to hear the sounds playing u need to run the audio from your synth to either speakers, a mixer, or into your computer through its audio in)
4. Keyboard synth setup:
Do all of the same you did for your sound module setup, except this time we need to setup a midi in setup so you can record midi notes you play on your synth keyboard into your soft sequencer. This process is very similar to setting up a midi keyboard. You need to run a midi cable running from the midi out of your keyboard synth to the midi in on your midi interface. Now you need to go to the midi setup screen in your sequencer again. Now here in lies the problem. Most software sequencers are setup to accept only 1 set of midi in data. That means you can only have 1 keyboard to send midi in data and record midi in data for your comp. This means if you have multiple keyboards you must choose which one you want to use as a midi controller. Some sequencers do allow for an auxiliary midi input device. This was usually designed to allow for control interfaces or midi knob/slider boxes. Usually these however are not global devices and must be loaded (loaded like any other synth or module in your sequencer) and then routed to control a particular synth. You will need to read the particular info your sequencer on how each sequencer handles (if at all) auxiliary midi devices.
Setting up multiple hardware synths.
Use the same steps as you did above to setup a synth. However since you want to use multiple synths there are several ways you can connect them all.
Chaining synths: this is done where you link synths together and have them run into 1 midi in/out on your interface. For the first synth in the chain connect midi out from the interfaceà midi in on the synth. Now to connect this synth to another synth connect midi thru synth1à midi in on synth 2, and continue to do this down the line for your synths.
On the last synth in the chain you can simply end you midi connections and leave it at that, but if you want to send midi data from and of these synths to your sequencer then on the last synth in the chain run a cable from the midi out on the last synth to the corresponding midi in port on your interface (this means if you used midi out A on your interface to go to the first synth then run the last synth into the midi in A on the interface.)
Remember however that the more synth you link up the more latency you will develop does to midi information degrade. It is recommended that you chain no more then 4 synths and 8 at the most in one chain.
After you have all of your synths chained together you now need to go into each hardware synth assign a separate midi channel for each synth. This way each will respond to only midi data received on that channel coming out of your sequencer. The easiest way to do this is to use midi channel 1 for synth one 2 for synth 2, etc, etc down the line. This also means that you cannot assign these channels inside your sequencer either. So 1 synth=1 midi channel. That includes all hardware and software sequencers.
The second possible way to set up multiple synths is to have each midi out on your interface for each synth. Simply set this up the same way as you do for 1 sound module. In this case however we do encounter a problem. Remember that each midi port can handle 16 channels of midi. So if we set a synth to each midi out port on the interface (in this example 2 ports. Ports A and B) then we have a total of 32 channels of midi data. Channels 1-16A and channels 1-16B. Most keyboards and midi controllers cannot differentiate between different ports. They only recognize midi channel numbers and the synths will both be recognized on midi channel 1. The two channels would be midi channel 1A and midi channel 1B. Your sequencer and keyboard will only be able to differentiate between the different ports if they each have multiple midi outs themselves.
Tips on using hardware synths
Remember that when using midi with a hardware synth that no sound data is transferred over the midi cables. Audio is only transfer out of the audio out lines of your particular synth. When you want to mix down your song from your sequencer the audio from your hardware synths will not be mixed down into your song as your soft synths do. In order to mix down your hard synth tracks you will need to bounce them to a wav file and then import them into project or song as wavs in their own channels. After this is done you will no longer need your to have your hard synths play when you mix down the song for your sequencer/studio.
Sequencer --> sequencer syncing (using midi master/slave)
This process applies to both hardware and software syncing and also includes synths (groove boxes), which contain internal synths.
If you want to setup multiple sequencers and have them link and trigger together you must use the master and slave option in your sequencers. If you prefer to use one sequencer and simply control the sounds of another one set up your synths the same way as you do with a hardware synth or sound module.
To setup up multiple sequencers you first must decide which one you want to use as your primary sequencer. This is the one, which will control all other midi devices using a midi system known as master and slave. The ideology is fairly straight forward the master controls all the slave modules and all the other synths and sequencers will follow its commands.
This setup process is actually very simple to do. First after you decide which sequencer you want as your primary sequencer you must then go to its midi options settings. There you want too look for either the midi clock settings or for the midi master/slave settings. After you find them you want to set the midi clock for the master sequencer to either “master” or to “internal”. Different companies use different terms. This means that the tempo, start and stop information comes from this sequencer internally and it will listen only to itself.
After you have connected your other groove boxes are sequencers with the proper midi cable connections you then what to go to their own respective midi options screens. For setting up midi slave and master controls you do not need to worry about which midi channels the synths are on. It does not matter in this case unless you plan to control all of the synths using a single midi keyboard. In that case you must set a different midi channel for each synth. Then run the midi keyboard to the midi in on your master sequencer.
After you have connected all of your synths, go to their internal midi options screens. From there you want to find the midi clock section or the midi options sections much the same way you did for your master sequencer. In these settings you want to the midi clock to “slave” or “external”.
After this is done you should be set. Now when you press play or change the tempo on your master sequencer the other synths and sequencers will sync up to the same tempo and play with the master one.
Tips on using multiple sequencers
When you press play on your master sequencer all of your other sequencers will automatically play as well. This is important for live playing or for recording. If you do not want their patterns to play right away you will need to mute them or arrange your patterns in such a way that they play later in the song. Also if the master sequencer is playing then you cannot change the tempo of any of the slave modules, they only respond to the tempo of the master sequencer. If the master sequencer is stopped however then you can change the tempo individually of each slave sequencer.When syncing two software sequencers inside 1 computer some sequencers wont recognize another software sequencer as another midi device. When this is the case then you need to download a software midi clock or a midi yoke. If this is the case you will have to run this program as well as your two sequencers. For the midi clock settings (some sequencers only respond to midi in messages) in your sequencers you will have to set your sequencers both to slave to the midi yoke or clock. Then your tempo and start/stop commands will have to come from the midi yoke/clock program rather then one of your sequencers.To sync two soft sequencers on two computers u can do the same process and use an usb cable to send the midi clock messages to the other sequencer. The specific information on sending midi data through usb to sync up sequencers varies depending on the midi clock/yoke you are using.Another method is to use a hardware sequencer as a master sequencer, then using a midi interface slave the two software sequencers to it.
Did you actually read all that? Wow hats off to you.