Build your own MIDI projects
FAQ
Frequently Asked Questions.
Details
 
MIDI & Music
MIDI and Music Information
Details
 
MIDI Analyser

 

MIDI ANALYSER

Anyone who has ever tried to connect various pieces of MIDI controlled equipment together will understand the difficulty of not knowing what MIDI data is being transmitted down a MIDI cable. While there are a number of software MIDI analysers available, which will provide this information, they require the use of a computer. 

 

However a portable analyser would be  most useful when connecting up unfamiliar equipment in an external environment, so this design, utilizing the MIDI Arduino is a  battery powered, stand-alone, microcontroller unit.

    

 

 

MIDI ANALYSER

ITEM#: MIDANA

PRICE:  €45.00


 *Click to Enlarge*

 

  

 


 

The MIDI Analyser unit utilizes:

  • A MIDI Arduino including a suitable pre-programmed ATmega microcontroller,
  • A 2.1mm power socket, and associated LED, 
  • A MIDI 5-pin DIN input socket,
  • A MIDI 5-pin DIN output socket,
  • 18 off 0.1" pin-terminal outputs,
  • The circuit schematic is available,

 

 

The MIDI Analyser unit also requires:

  • A 9v battery or equivalent DC power source
  • 17 LEDS
  • 17 1K Resistors
  • 1 Toggle Status/Channel mode switch

 


Operation:

A toggle switch allows the unit to detect either MIDI System messages or Channel Messages. Complete MIDI data information is available here.

 

MIDI IN/OUT Wiring:

 

 MIDI_IN_OUT_CONNECTIONS.JPG (212235 bytes)

     *Click to Enlarge*

The MIDI IN and OUT connectors use  5-Pin 180 degree DIN sockets. Note that the MIDI IN/OUT wiring is polarised and the correct pins should be used.

 

 

   

 

 

Power Supply:

The  Arduino/Freeduino etc. Diecimila can be powered via the USB connection or with an external power supply. The power source is selected automatically.

 

External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector. A low dropout regulator provides improved energy efficiency.

 

The board can operate on an external supply of 7 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.

   

 

MIDI Messages:

 

The MIDI System Messages displayed by the the corresponding LEDs are shown in Tables 1 and 2 below. If in Channel Message mode the corresponding LEDs for channels 1 to 16 are displayed.

 

 

MIDI MESSAGES

 

Message

Status Byte Data Bytes

Note-On Event

1001bbbb

0kkkkkkk

0vvvvvvv

Note-Off  Event

1000bbbb

0kkkkkkk

0vvvvvvv

Control Change

1011bbbb

0ccccccc

0CCCCCCC

Program Change

1100bbbb

0nnnnnnn

Channel Pressure

1101bbbb

0ppppppp

Pitch Bend

1110bbbb

0iiiiiii

0hhhhhhh

Table 1: Channel Voice Messages

   

 

   

 

 

Message  Status Data Bytes

Begin System Exclusive

11110000

0mmmmmmm

0xxxxxxx

MIDI  Time Code 11110001 0tttdddd  

Song Position Pointer

11110010

0jjjjjjj

0kkkkkkk

Song Select

11110011

0sssssss

End System Exclusive

11110111

Timing Clock

11111000

Start 11111010
Continue 11111011
Stop 11111100

Active Sensing

11111110

System Reset

11111111

Table 2: System Messages

   

 

 

 LED Output Pin 

MIDI Message Displayed

19 0xF0: //Begin System Exclusive 11110000 (F0)
18 0xF1: //MIDI Time Code 11110001 (F1)
17 0xF2: //Song Position Pointer 11110010 (F2) 
16 0xF3: //Song Select 11110011 (F3)
15 0xF7: //End System Exclusive 11110111 (F7) 
14 0xF8: //Timing Clock 11111000 (F8) 
13 0xFA: //Start 11111010 (FA)
12 0xFB: //Continue 11111011 (FB)
11 0xFC: //Stop 11111100 (FC)
10 0xFE: //Active Sensing 11111110 (FE)
9 0xFF: //System Reset 11111111 (FF) 
8 0x90: // Note-On Event 1001bbbb (9X) 
7 0x80: //Note-Off Event 1000bbbb (8X)
6 0xB0: //Control Change 1011bbbb (BX)
5 0xC0: //Program Change 1100bbbb (CX)
4 0xD0: //Channel Pressure 1101bbbb (DX)
3 0xE0: //Pitch Bend 1110bbbb (EX)

 

 

If the data is not a System message then it is a Channel message which is  decoded by the software and the appropriate Channel number and Channel message LED displayed.

 

 LED Output Pin 

MIDI Channel

3 1
4 2
5 3
6 4
7 5
8 6
9 7
10 8
11 9
12 10
14 11
15 12
16 13
17 14
18 15
19 16