Article
MIDI Merger
Two signals for one receiver
Whenever two MIDI signals have to be combined to drive a receiver, you need a MIDI merger. In the design presented here, two coupled microcontrollers merge the data.Since the MIDI signal is unidirectional and sequential, the data are transmitted without any feedback from the receiver. This means that it is not easy to simultaneously combine the signals from two MIDI sources. However, it can be desirable to combine the data streams from two input devices in order to drive a single destination device (such as an expander). This function is performed by a device called a ‘MIDI merger’. It produces a meaningful signal from the combination of several data streams from different sources. This is not a simple task, since the data can range in length from a single byte for a control instruction up to several hundred bytes for SysEx instructions, and the tone information can vary considerably (it is frequently sent as ‘running status’, occasionally interrupted by SysEx instructions).
Materials
Gerber file
CAM/CAD data for the PCB referred to in this article is available as a Gerber file. Elektor GREEN and GOLD members can exclusively download these files for free as part of their membership. Gerber files allow a PCB to be produced on an appropriate device available locally, or through an online PCB manufacturing service.
Elektor recommends the Elektor PCB Service service from its business partner Eurocircuits or AISLER as the best services for its own prototypes and volume production.
The use of our Gerber files is provided under a modified Creative Commons license. Creative Commons offers authors, scientists, educators and other creatives the freedom to handle their copyright in a more free way without losing their ownership.
PCB
Component list
Resistors:
R1-R4 = 220?
R5,R6 = 1k?8
Capacitors:
C1,C4-C8 = 100nF
C2 = 18pF
C3 = 22pF
C9,C10 = 100µF 25V radial
Semiconductors:
D1,D2 = 1N4148
D3 = 1N4001
IC1 = 74HCT14
IC2,IC3 = CNY17-2
IC4 = Atmel AT90S2313 (programmed, order code 996531-1a)
IC5 = Atmel AT90S2313 (programmed, order code 996531-1b)
IC6 = 78L05
Miscellaneous:
K1,K2,K3 = 5-way DIN sockets, pins arranged at 180°, PCB mount
K4 = mains adaptor socket
PCB, order code 000021-1
Disk (project source code file), order code 996038-1
R1-R4 = 220?
R5,R6 = 1k?8
Capacitors:
C1,C4-C8 = 100nF
C2 = 18pF
C3 = 22pF
C9,C10 = 100µF 25V radial
Semiconductors:
D1,D2 = 1N4148
D3 = 1N4001
IC1 = 74HCT14
IC2,IC3 = CNY17-2
IC4 = Atmel AT90S2313 (programmed, order code 996531-1a)
IC5 = Atmel AT90S2313 (programmed, order code 996531-1b)
IC6 = 78L05
Miscellaneous:
K1,K2,K3 = 5-way DIN sockets, pins arranged at 180°, PCB mount
K4 = mains adaptor socket
PCB, order code 000021-1
Disk (project source code file), order code 996038-1
Discussion (0 comments)