Build your own MIDI projects
FAQ
Frequently Asked Questions.
Details
 
MIDI & Music
MIDI and Music Information
Details
 
MIDI Program Change 0 to 127 Translator

 

MIDI PROGRAM CHANGE TRANSLATOR

The MIDI Program Change translator can change incoming Program Change numbers to different outgoing Program Change numbers on a specific MIDI Channel (1 to 16) selected by the 4-way DIP switch. Program Change numbers on the other non-selected MIDI Channels are unaffected.

 

The outgoing Program Change numbers are selected in a Program Change table in the Arduino source code program.

 

The unit was designed to convert the Program Change numbers from a Behringer FCB1010 Foot-Controller to a Source Audio Programmable EQ FX stompbox.

 

The MIDI signal is also looped from the MIDI IN socket to the MIDI OUT socket so data can be looped through a number of other MIDI units.

 

 

*Click to Enlarge*

 

MIDI PROGRAM CHANGE TRANSLATOR

ITEM#: MIDPRCHTRANSLATOR

PRICE:  €50.00


 

 

The MIDI  Program Change Translator unit utilizes:

  • An assembled, built and tested Arduino board including a suitable pre-programmed ATmega microcontroller,
  • A 2.1mm power socket, and associated LED, 
  • A MIDI detection LED,
  • A 4-way DIP switch, which selects the MIDI channel, shown in table 1
  • A 150mm wired MIDI 5-pin DIN input socket,
  • A 150mm wired MIDI 5-pin DIN output socket, 

    

The MIDI Program Change Translator unit requires:

  • A 9 Volt battery or equivalent 9 Volt DC power source

  

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.

 

  

 

 

 

 

  

 

MIDI Channel Selection:

 

DIP Switch Selections

MIDI 

Channel

4 3 2 1
on on on on 1
on on on off 2
on  on  off on 3
on on off off 4
on off on on 5
on off on off 6
on off off on 7
on off off off 8
off on on on 9
off on on off 10
off on  off on 11
off on off off 12
off off on on 13
off off on off 14
off off off on 15
off off off off 16

Table 1 MIDI Channel

 

 

Power Supply:

The  Arduino can be powered via the USB connection or with an external power supply. The power input selection (USB/EXT.) is automatically selected.

 

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.

 


 Program Change Table:

 

// Program Change Translate Table of 128 ( 0 to 127 ) 
//Program Change numbers written as a 10 x 12 + 7 matrix. 
// Note: First Table value is 0 i.e. ProgramChangeTable[0]
// Note: Last Table value is 127 i.e. ProgramChangeTable[127]
// So there are 128 Range of Program Change numbers from 0 to 127

byte ProgramChangeTable[128] =

 {0, 1, 4, 3, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2, 3, 4, 5,
1, 2, 3, 4, 5, 1, 2
};


 

There are 128 (0 to127) Program changes. Any of the Program Change translate numbers can have a value ranging from 0 to 127, depending on the user's requirements.

 

Note: The source code uses the MIDI Library.