MIDI MIXER
MIDI
synthesisers nowadays are often multi-timbral
allowing the playing of multiple instruments or
voices at the same time. While the level of these
can be selected and controlled by a computer
controlled sequencer I wanted to be able to
instantly fade up/down any MIDI channel or number
of channels in real time. This enables instant
control of MIDI file playback sequencers so that
any instrument can be adjusted to suit a
particular choice, for example turn off all
instruments except bass and drums.
Also it allows
setting of the volume of different instruments to
different levels when working in a particular
live-environment. The circuit has dual operation
and can be selected to operate on
incoming velocity bytes, allowing operation with
synthesisers that may not respond to volume byte
control MIDI data, or to produce directly
outgoing volume MIDI data bytes by operating the
potentiometers. This allows operation with most
types of multi-timbral synthesisers.
The MIDI Mixer Unit utilizes:
- A Printed Circuit Board (PCB),
- A pre-programmed 16F877 PIC,
- A Volume/Velocity switch and associated Velocity LED,
- A 1-8/9-16 channel select switch and associated 9-16 channels LED,
- A 9 volt battery connector
- A MIDI 5-pin DIN output socket
- A MIDI 5-pin DIN input socket
- A screw terminal connector for an external 9-12 volts DC supply and associated power-on LED,
- Screw terminal connectors for connecting the external switches
- The circuit schematic diagram is available
The MIDI Mixer Unit requires:
- A 9v battery or equivalent DC power source
- A set of eight 10k rotary potentiometers/linear faders
SOFTWARE OPERATION:
When the circuit is switched on the software
polls switch SW2 and decides to operate in Velocity or Volume mode. In velocity
mode the software waits for a MIDI input and tests to see if it is a Note-on or
Note-off status byte and if it is then the software outputs this byte to the
serial transmit MIDI port, then reads the next data byte and outputs it also,
then it receives the velocity byte and branches to a subroutine to read the
potentiometer associated with the incoming MIDI channel and outputs this new
data byte.
The second choice on switch on is that SW2 is
set to the Volume position. In this mode of operation the software first fills a
table with the converted values of the 8 potentiometers and then continues to
scan them, whenever a value changes up/down by a value of 1 or greater then the
corresponding volume MIDI data is transmitted to the MIDI out socket.
The switch SW3 decides if the eight potentiometers (VR1-8) correspond to MIDI
channels 1-8 or 9-16. There are two LEDS corresponding to operating in Velocity
mode and on channels 9-16, see table 1
|
SW2,SW3 Switch Selections |
MIDI Mode |
MIDI Channels |
Vel. LED |
Ch.9-16 LED |
| Vol |
Vel |
1-8 |
9-16 |
| on |
off |
on |
off |
Volume |
1-8 |
off |
off |
| on |
off |
off |
on |
Volume |
9-16 |
off |
on |
| off |
on |
on |
off |
Velocity |
1-8 |
on |
off |
| off |
on |
off |
on |
Velocity |
9-16 |
on |
on |
|
Table 1 MIDI Mode and Channels Selection |
|