skin: 1 2 3 4 |  Login | Join Dancetech |

dancetech articles


Info-line:   [synths]    [sampler]    [drumbox]    [effects]    [mixers]     [mics]     [monitors]    [pc-h/ware]    [pc-s/ware]    [plugins]    -    [links]    [tips]


Ask a question about this subject?

Post a question direct to our forums and get mailed when a reply is added!

There are 5  viewer comments posted to this page - Read

Add a comment

Author: admin
Date: 07-Jan-99


MIDI is a form of computor code that was developed as a means by which synths and other devices could talk and interact with one-another. MIDI is an asynchronous, serial interface, which is transmitted at the rate of 31.25 KBaud or 31,250 bits per second.

Here are some of the elements it contains :

  • MIDI CHANNEL.....Specifies which channel data will be sent on 1 - 16

  • NOTE NUMBER.....Specifies which note/s being played. Midi covers the keyboard range from C-2 to C8, or in US, C0 to C10

  • NOTE ON.......Tells a note to start

  • NOTE OFF......Tells a note to end

  • CONTROL DATA......Midi Continuous Controllers are designated computer code numbers which will effect the parameters of a synth sound or other item of midi kit......For Example : Volume = Controller No.7 etc. They allow continuously changing information such as pitch wheel or breath controller information to be passed over the MIDI line. Continuous controllers use large amounts of memory when recorded into a MIDI sequencer. Some standard MIDI Continuous Controller numbers are listed below

    • PWH = Pitch Wheel
    • CHP = Pressure
    • 1 = Modulation Wheel
    • 2 = Breath Controller
    • 3 = (Pressure on Rev. 1 DX7)
    • 4 = Foot Pedal
    • 5 = Portamento Time
    • 6 = Data Entry
    • 7 = Volume
    • 8 = Balance
    • 10 = Pan
    • 11 = Expression Controller
    • 16-19 = General purpose controllers 1-4 (High Res.)
    • 64 = Sustain Switch (on/off)
    • 65 = Portamento Switch (on/off)
    • 66 = Sustenuto (chord hold)
    • 67 = Soft Pedal (on/off)
    • 69 = Hold Pedal 2 (on/off)
    • 80-83 = General purpose controllers 5-8 (Low Res.)
    • 91 = External Effects Depth
    • 92 = Tremolo Depth
    • 93 = Chorus Depth
    • 94 = Detune
    • 95 = Phaser Depth
    • 96 = Data Increment
    • 97 = Data Decrement

  • USER ID......Each manufactures different bits of kit have an ID number so you can address ONLY that piece of kit

  • PATCH CHANGE.....This along with the USER ID, tells a synth or FX unit to change to a different sound patch

  • SYS EX......System Exclusive is very powerful, & complicated. You can for example edit or change a synth sound patch parameters with sysex.

  • MIDI CLOCK..... Midi clock determines the tempo or speed of the track & allows instruments interconnected via MIDI to be synchronized....A sequencer for example can send out midi clock data.....This can be recieved by a synth which has an arpeggiator running.....The arpeggiator can then be clocked as a slave, so that the arpeggiated sequence that it plays is in time with the tempo of the track. Also allows an external sequencer to be synced in clock time to an Internal sequencer on a keyboard for example...MIDI Clock runs at a rate of 24 pulses-per-quarter-note.

  • MTC......Midi Time Code, allows a sequencer to lock to another sequencer or tape MTC code. It contains song position data.

  • SYNC......Selects whether a sequencer is Master (controller sending out clock and mtc), or SLAVE (follows data)

These then are the basic building blocks of MIDI..... Here's an example, where you are playing a master keyboard to sound a synth module :

You play note C1 on the master keyboard..... It sends a Note On command & a note Pitch command which for C1 is Note number 36. Also the keyboard sends a Velocity number,(how loud the note is).

You release note C1 on the master keyboard.....It sends a Note Off command, and the sound stops.


General Midi, or GM as it is usually referred to, is an attempt to create a standard system for midi parameters where songs created on one GM compatible synth can be played back on any other GM synth, and sound correct. That is : If the original composition specifies particular sounds to be played, then any other GM synth when handed the GM Midifile to play will reproduce the correct sounds assigned by the original composer

In practice, for certain applications, such as playing & singing along to a sequenced backing of Popular chart songs down the pub, this system works fine......You buy a GM Midifile of an Elvis song, load it up, and hit play ...... All the sounds that should be heard will play back, and you croon away to "In The Ghetto", as everyone weeps into their beer.....

GM does have restrictions however. One is that you are tied to a fairly standard un-adventurous pallet of sounds ...... So GM really just says to your GM compatible synth : "Look mate, start playing a piano bring in an acoustic bass sound here ....& now some saxaphone here etc...... But if you have created some wicked tune featuring a clever little sound that you programmed on some NON GM synth, then this sound will not be recognised by GM .... That is why some more modern songs which feature very specific sounding hook lines played by non-GM synths have to be approximated by whoever programmes a GM version of the song.

The other restriction, is controllers....Again GM specifies fixed controller numbers for certain functions outside of which, GM synths will not recognise, although the basic parameters such as Pan, Volume, Sustain pedal etc are represented, but unfortunately, more advanced things such as Filter Resonance & Cut-off are not.


Agreed as a standard in 1991 by The Japanese Midi Standards Commitee, (JMSC), & The American Midi manufacturers Association, (MMA). General Midi System Level 1, specifies 24 note poly, 16 part multi-timbrel operation.....All the Drum sounds are defined per note number, and the 128 sound patches for the other instruments are also defined.

Roland GS

GS is Roland's extended GM version, which adds some extras on top of the GM settings. It does this by utilising the (what was new) GM Bank select command. (Midi has a fixed range for all parameters of from 0 to 127, so original GM allows only 128 sound patches all stored in one Bank......The GM patch command allows further banks to be accessed, each with a further 128 patches. Also added are extra Non Registered Parameter Numbers (NRPN) .... This adds extra controller numbers to twiddle things like Filter control, envelope control & extra FX parameters. In practice, GS files will play back on a GM synth, but none of the extras will be recognised, except by another GS compatible device.

Yamaha XG

As above with the Roland standard, but XG is Yamaha's version, again offering extra sounds & control parameters.....Again, not recognisable by GM or Roland & vica versa.


This is fairly simple with a simple system, and can be a nightmare with a large system ! But if you follow this system, you should be OK..! Each bit of midi kit will have these midi sockets :

  • MIDI IN......Send midi data generated by the device out
  • MIDI OUT......Accepts midi data from other devices in
  • MIDI THRU......Allows midi data to pass through from the IN socket on to another device. This THRU socket is not always found on all items of kit, but most decent items have it.

Basically, you do this:

  • Take the MIDI OUT, from the master keyboard.....IN to the Sequencer.
  • You set the master keyboard to output MIDI on channel 1 only.
  • Set the Master keyboard to Multi Mode...or whatever name it uses to define a setting where the instrument can recieve midi on different channels, playing different sounds (Multitimbrel)
  • Turn OFF the LOCAL CONTROL on the Master keyboard.
  • Set the sequencer to ECHO midi data coming IN, straight out of the OUT socket....
  • Select a Sequencer Track.
  • Set the selected Track to the desired MIDI channel.
  • Play the Master keyboard.
  • MIDI note data passes on CH 1, from the Master keys to the Sequencer.....
  • The Sequencer Track is set to MIDI Channel 10.....
  • The Drum Box is set to recieve on Channel 10......
  • The Sequencer Track routes the MIDI IN data (channel 1)....OUT on channel 10.....
  • The Drum Box receives MIDI IN on channel 10 & plays.....

This allows you to send data into the sequencer, to be recorded, and at the same time, have that data from the keyboard actually sound the module you are wanting to play.....To address a different midi channel with the master keyboard, simply select a different track on the sequencer, with a different channel number, and the sequencer will then echo output data from it's OUT socket on the selected sequencer midi channel.

When firing sounds contained in the master keyboard itself, simply assign whichever sound you want to play in the master keyboards multi-timbrel recieve settings, and again, the echoed midi data from the sequencer triggers the sound engine......The reason for doing it this way, is that if you were to select a channel on the sequencer, AND have the keyboard local control switched ON, then you will get doubled notes, midi feedback loops etc, as the Local Control plays the keyboards sound engine, AS WELL as the echoed data coming from the sequencer.

So ..... if you want to Play the Master keyboard sounds, keep the same setup....... You do it like this:

  • Set the Master keyboard to Multimode......(Assign sounds to MIDI channels coming IN)....
  • Keep the Local Control OFF....(this means when you hit the keys, no sound is made, but the keyboard still outputs MIDI data)...
  • Select a sound on the Master keyboard, & assign it to say MIDI Channel 6......
  • Select a Sequencer track....& assign it to MIDI Channel 6......
  • Now....You play the keys....MIDI data comes OUT from the Master keys on MIDI Channel 1....
  • The MIDI Data goes into the sequencer to the selected track.....
  • The Selected Track is set to MIDI channel 6....& outputs the Incoming MIDI data from the Sequencer on MIDI Channel 6...
  • The Midi data goes on Channel 6, from the sequencer to the Master keyboard.....
  • The Master keyboard recieves the Channel 6 data & plays the sound.


If you use alot of devices in a midi IN/THRU chain, you may get corrupt midi data ....Now it's only with alot of THRU's with alot of devices...somewhere in the region of 5 or 6 thru's may induce errors, as every time midi data goes through a Thru curcuit, it gets reduced in bandwidth.... In the case of using more than 5 or so modules, it's best to use a midi thru box....that way the data only passes through 1 set of thru buffers which is where the digital data gets reduced in width....Basically, a Midi Thru box has one or two midi IN sockets, and maybe 4, 6, or 8 midi Thru's....Simply take a Midi cable from the sequencer OUT....IN to the Thru box....Then take Midi cables from the Thru sockets out to your equiptment IN sockets.


Now let's say you want to send some controller data from one of the modules to the sequencer......For example.....You have a Novation Basstation as Module have composed a synth-line by playing the master keys into the sequencer...the data is echoed out from the sequencer to the Basstation...and you now have the sequencer playing a loop triggering the Basstation....... Now you want to send some control data to sweep the filter on the Basstation (module 1)......You have 3 choices:

  1. Checkout which controller number is the Basstation Filter cutoff....then programme your master keyboard to output controller data on that control number from either the Modulation wheel, or a data slider.(cheap option)
  2. Unplug the Cable going into the sequencer (from the Master keyboard)....and replace it with a midi cable from the OUT Socket of the Novation....Then use the Control knobs on the Basstation to send data to the sequencer.....When you`ve finished...simply replace the out cable from the Master keys into the sequencer again (Cheap option).
  3. Buy a MIDI MERGE/THRU BOX........These boxes allow more than one INPUT, to be merged together to a single OUTPUT that feeds the sequencer........Buy one...then simply take a MIDI cable from the Master keys and each Modules' MIDI OUT......Send these cables IN to the MIDI Merge Box INPUTS.....Then send the OUT from the Merge box.....IN to the sequencer.....

This effectively now gives you the ability to send data from more than one source....IN to the sequencer......The MERGE BOX is the more expensive option, and would only be recommended if you spend alot of time outputting control data or SYSEX PATCH DATA DUMPS to the sequencer from seperate units......or maybe you just don't want to have to plug & unplug MIDI cables......

If however this is a function you don't use frequently, then just stick with the plug & unplug method, cos a MIDI MERGE BOX is quite expensive......about 100........for which price, you could buy another cheap module, or an FX unit or two.....!!



There are a total:  5  comments posted to this page.

Name:  sblestro
Activity:  Hobby-ist
Date:  27-Apr-99

I've a question: How I can work with two sounds of a module in the same track of cubase sequencer?? I want to change a sound in the track but not in a other track, it's possible??

Thank's a lot.

Sblestro (BCN)

Article rating out of 5: 

[Add a review/comment]

Article 'ratings' were added September 2008, so most articles have no viewer rating

Name:  thnmnt
Activity:  Hobby-ist
Date:  10-Jun-99

could you include some examples of setting up a pc only midi system using hubi's loopback / cakewalk /rebirth /rubberduck ? for example? i'd much appreciate it. thanks.


Article rating out of 5: 

[Add a review/comment]

Article 'ratings' were added September 2008, so most articles have no viewer rating

Name:  Jeff
Activity:  Hobby-ist
Date:  19-Jul-99

clear and concise.


Article rating out of 5: 

[Add a review/comment]

Article 'ratings' were added September 2008, so most articles have no viewer rating

Name:  sudhir shastry
Activity:  Professional
Date:  25-Sep-03

I would like to know about depth recording and output in bits and klz.

Article rating out of 5: 

[Add a review/comment]

Article 'ratings' were added September 2008, so most articles have no viewer rating

Last added comment

Name:  sudhir shastry
Activity:  Professional
Date:  25-Sep-03

I would like to know about Roland MC50 mk II microcomposer sequencer and its recording quality in bits.

Article rating out of 5: 

[Add a review/comment]

Article 'ratings' were added September 2008, so most articles have no viewer rating

Add your comments here for the article:


Your Name * required field!

Your Email * required field! (will not be displayed)

Your Website Link? *optional

Comments - NO weblinks allowed in this feild!

My user type is:    * required field!

Professional   Part Time   Hobbyist

Rate this article out of five:   * optional

   5 - TOTALY AWESOME POWER !!!!!...

   4 - TOTALY 'AUSTIN POWERS' !!!!....

   3 - HOT HATCHBACK POWER !!!.....

   2 - PIZZA-MOPED POWER !!......


Are you a spam-bot?
Please copy the displayed number into the box to post:



Note: To cut down on spammers, cookies must be enabled to post comments to this page.

 [back to top]