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.
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)
|