contact info:
info@blueink.com

Blueink.com
3014 Bluff #101
Boulder CO 80301

MIDI Basics:

Wiring MIDI out from the BX24 (or stamp) :


Image from Mark Coniglio's MIDI Geek page


(pinouts for the 2N222 transistor)

The hardware required for this: 2 5-pin DIN female jacks (jack for midi cable), 1 220-ohm resistors, 1 10-kohm resistor, 1 2N2222 NPN transistor.
------------------------------------------

Below is a chart of common Midi commands. There are many more (especially in the Control Change area), however these are a great place to start.

Once your familiarize yourself with the chart below, here is a simple BX midi code example.

Each midi message is outlined below.

For example if you want to send a Note ON command, below you see that Note On (for channel 1) = 144, with 2 following bytes... the first byte is the note number, the second byte is the note velocity.

Thus a command that sends 144 64 64 is going to send a note on message, pitch 64 (middle A), at an average key velocity.


If before sending this command I were to send 192 11, I would see that from the chart 192 = program change on channel 1, and I know from the specific synth I am using that 11 = the drum kit.... so now my earlier note ON message would play a drum noise.

You can control the sound quickly, delay, aftertouch, pitch shift of your notes (as you see below) very easily with these simple commands.

For the sake of convenience with the bX I have translated all of the commands into Dec (they are usually documented in Hex)



Message

Satus Byte

First Data Byte
(from 0 to 127)

Second Data Byte
( from 0 to 127)
Note ON 144 - 159 
144 = note on channel 1 only
Note Number

Pitch = 0 to 127This translates to 127 half steps (10 ˝ octaves)
Note Velocity

The average velocity for a note is 64 (this is velocity used on old electronic keyboards that did not sense key pressure).
Note OFF 128 - 143 (128 = note off channel 1 only) **** YOU CAN USE 144 with a velocity = 0 instead- (i.e.. send  note on with no velocity to turn a note off). Note number Note Velocity = 0
Pitch Bend
(i.e. bend up or down with as if often found with a synth wheel or joystick)
224-239
224 = pitch bend on channel 1
LSB (lease significant bit)

Usually just set to 0
or to same value as the MSB
MSB (most significant bit)

0 = max DOWN bend
127 = max UP bend
64 = NO bend
Channel Pressureor Mono Aftertouchor just  Aftertouch= how hard a key is pressed AFTER it is touched (i.e.. to change pressure after note is hit)AFFECTS ALL NOTES (see 'key pressure below for individual notes) 208- 223
208 = channel pressure change on channel 1
Pressure
-----------------------------
(nothing)
Key Pressure
Like channel pressure above, accept it affects only ONE note.
160 - 175
160 = key pressure on channel 1
Note number pressure
Control Changes 176 -191
176 = control change on channel 1
Control Number    Data

1 Modulation Wheel

0 to 127

2 Breath Controller

0 to 127

4 Foot Controller

0 to 127

5 Portamento Time

0 to 127

6 Data Entry Slider

0 to 127

7 Main Volume

0 to 127

64 Sustain

0 on, 127 off

65 Portamento

0 on, 127 off

67  Soft

0 on, 127 off

0 BANK Select:
With some synths programs are organized in Banks. For example, their may be 5 banks.. each with 100 programs.
To call a specific program, you may first need to specify which BANK it is in.

Band Value
0 - 127
Program Change(for example change from synth piano sound to synth drum sound) 192 - 207
192 = program change for channel 1
Program number(depends on the synth you are using)
-----------------------------
(nothing)