MIDI Solutions Products Application Examples

Merger, Quadra Merge, M8

Thru, Quadra Thru, T8

Footswitch Controller, Dual Footswitch Controller, F8

Relay, R8

Event Processor, Event Processor Plus

Pedal Controller

Breath Controller


Velocity Converter

Custom Products





Quadra Merge



MIDI Solutions Mergers allow multiple MIDI Outs or Thrus to be connected to a single MIDI In. For example, a merger can be used to connect multiple MIDI keyboards to a sound module that only has a single MIDI input.

Mergers can also be used to merge System Exclusive data from sound modules back to computers running editor/librarian applications. This can free up the MIDI inputs of a MIDI interface which otherwise would have been required by the individual MIDI outputs of each sound module.

Another novel application for mergers is expanding the merging capabilities of MIDI patchbays that allow merging of only two MIDI inputs at a time. By connecting a patchbay's outputs to a merger and then looping the output of the merger back into the patchbay, more merging capabilities can effectively be added to the patchbay. The outboard merger can act as an additional processor that is accessed simply by changing the patchbay's routing configuration.





Quadra Thru



MIDI Solutions Thru boxes provide additional MIDI Thrus wherever required in a MIDI setup. For example, a Thru box can provide the connections to send a single MIDI data stream from a keyboard to multiple sound modules.

As MIDI devices are daisy-chained together, MIDI signals gradually lose their integrity due to passage through optoisolaters at the devices' MIDI inputs. MIDI Solutions Thru boxes can be used to clean up the MIDI signal at any point in the chain where it is starting to become unrecognizable (actually all MIDI Solutions products clean up MIDI data in this way). Be careful of other Thru boxes that amplify errors along with the signal; MIDI Solutions Thru boxes actually read in the data and re-clock it out at the correct baud rate, eliminating any errors that have accumulated due to daisy-chaining or long cable runs.





Dual Footswitch



The MIDI Solutions Footswitch Controller can be used to generate virtually any type of MIDI message. It can also be used to perform additional functions such as Transpose, Channelize, and Tap Tempo. The Dual Footswitch Controller is essentially two Footswitch Controllers with a single tip/ring/sleeve connector, and the F8 is essentially eight Footswitch Controllers in a single rack space unit.

A common application for the Footswitch Controller is to remotely Start and Stop an external sequencer or drum machine. Check the operating instructions of the sequencer or drum machine to determine which MIDI messages it needs to receive in order to start and stop; some devices only require the MIDI Start and Stop messages - in this case the Footswitch Controller can be programmed to toggle between sending these messages with each tap of the footswitch. Other devices require MIDI Start/Stop messages and MIDI Clock messages - in this case two Footswitch Controllers could be connected in series (or a single Dual Footswitch Controller, or two inputs of an F8), with one programmed in tap tempo mode to send the MIDI Clock messages, and the other programmed to send Start and Stop messages (this setup allows the tempo of the song to be tapped in before the song is actually started). Or, if the sequencer or drum machine has the capability of responding to MIDI Machine Control messages, a single Footswitch Controller can be programmed to toggle between sending MIDI Machine Control Play and Stop messages with each tap of the footswitch (note that MIDI Machine Control messages are a type of System Exclusive message).

Many other devices besides musical instruments use MIDI Note or Control Change messages to activate their various MIDI functions. For example, some of the Yamaha mixing consoles require a middle C to activate their talkback function. The Footswitch Controller can be programmed to generate a middle C, allowing the mixing console's talkback to be remotely controlled. Cakewalk's Sonar offers a key binding function that enables users to control many of its functions by sending it a series of two notes. The Footswitch Controller can be programmed to send out two MIDI notes in succession, allowing control of many of Sonar's functions such as Start/Stop, Record, even CAL program files.

The Footswitch Controller has some other useful functions such as Transpose and Channelize.
- The Transpose function allows note messages to transposed by any interval by depressing the footswitch, playing any note above or below middle C, and then releasing the footswitch. For example to transpose up by a major third depress the footswitch, play E above middle C, and then release the footswitch. After this all notes received by the Footswitch Controller are transposed up by a major third. An alternate method of transposing without releasing the notes that are currently playing is by using Pitch Bend - the Footswitch Controller can be programmed to send out a specific Pitch Bend value whenever the footswitch is depressed, and reset Pitch Bend to zero when it is released.
- In Channelize mode the operation is similar to Transpose mode, except that the number of notes is stored. After the footswitch is released all MIDI messages are rechannelized to the channel corresponding to the number of notes that were received. For example to rechannelize to MIDI channel 5, depress the footswitch, play any five keys, and then release the footswitch.

Click here to see another customer's wireless trigger application for the Footswitch Controller.






The MIDI Solutions Relay contains a contact closure that can be programmed to open and close in response to a variety of MIDI messages. The R8 is essentially eight MIDI Solutions Relays in a single rack space unit.

One of the easiest ways to use the MIDI Solutions Relay is to set it up to respond to a Note or Control Change message. The relay can then be activated by an operation as simple as hitting a key on the keyboard or depressing a footswitch that is configured to send a Control Change message. If the key or footswitch movements are recorded into a sequencer, the sequence can later be replayed and the relay will respond exactly as recorded.

The Relay can also be programmed to respond to Program Change messages. This can be useful for controlling non-MIDI devices while cycling through program changes during a live performance. For example, consider a setup that uses a MIDI pedal board to send program changes to an effects unit. Add to this a guitar amp that allows the routing of its signal to be switched via a 1/4" footswitch input, but not via MIDI. The relay can be connected directly to the footswitch input of the guitar amp to control it as program changes occur, placing this non-MIDI device under MIDI control. With both the effects unit and the guitar amp responding to program change messages sent by the MIDI pedal board, it is now possible to create customized effects that combine both of these products.

Another type of MIDI message that the Relay can be programmed to respond to is System Exclusive, including MIDI Show Control and MIDI Machine Control messages such as transport commands from devices like digital audio recorders or sequencers. For example the relay could be configured to close in response to a MIDI Machine Control Play message, and open in response to a MIDI Machine Control Stop message. The relay output could then be used to control an external device, such as an indicator light.





Processor Plus

One request we commonly receive is for a device that will accept incoming notes on a single MIDI channel and assign them to multiple MIDI channels in order to gain polyphony by chaining multiple monophonic synths that are each set to respond to a different MIDI channel. The MIDI Solutions Event Processor Plus can accomplish this on up to six or eight MIDI channels. This is achieved by turning the Event Processor Plus's settings on/off in response to incoming Note-On/Off messages, and storing incoming note numbers in its variable locations. When a Note-On message is received the note number is stored in a variable and the corresponding setting is turned off, and when a Note-Off is received the corresponding setting is turned on and the variable becomes available again, allowing note numbers to be assigned to the available MIDI channels. The number of settings required to accomplish this depends on which MIDI message the sending device transmits as Note-Offs; some devices send actual Note-Off messages, other devices send Note-On messages of velocity 0. This file contains settings that process Note-Off messages, it enables up to six note polyphony. If the sending device transmits Note-On messages of velocity 0 then less settings are required per MIDI channel, this file contains settings that process Note-On messages of velocity 0, it enables up to eight note polyphony.

Espen Kraft has posted an excellent video here explaining MIDI System Exclusive messages, and how the MIDI Solutions Event Processors can be programmed to map incoming MIDI messages to outgoing MIDI System Exclusive messages.

Click here to see a video of a customer's application using an Event Processor Plus to map notes to CC messages to control a Korg Kaossilator Pro, along with a table showing the MIDI messages mapped here, and a file containing the Event Processor Plus settings required to achieve the mappings here. And another video here of his application controlling the Korg MicroSAMPLER from the Behringer FCB1010, along with a table showing the MIDI messages mapped here, and the Event Processor Plus settings required to achieve this here. Please note that the information posted is that which the customer has provided, we have not tested this here and are not able to provide technical support for for this particular application.

Many more Event Processor Application example files are included with the MIDI Solutions Programming Tools software.



Pedal Controller

Since the Pedal Controller can merge incoming MIDI messages with the messages it generates, it can be inserted inline at any point in the MIDI data stream, allowing continuous control to be added to any MIDI instrument. For example the Pedal Controller could be connected inline between the output of a MIDI keyboard and the input of a MIDI sound module. By setting the Pedal Controller to send volume, the volume of the sound module can be controlled while playing the keyboard. These MIDI messages could also be sent to a sequencer which would record not only the notes from the keyboard, but also the pedal movements generated by the Pedal Controller.

Since the Pedal Controller accurately tracks the position of the pedal or potentiometer connected to it, it can be used to control more sensitive parameters such as filter cutoff. Many control wheels or knobs only update themselves every two or every four values, resulting in zipper noise. If the Pedal Controller detects even a slight movement in the pedal it will send an update even if the position has only changed by a single value, resulting in a smooth sweep.

The Pedal Controller can also be programmed to generate pitch bend messages. It's possible to program the minimum and maximum pitch values that the Pedal Controller sends, allowing it to be set up as an upward bend or downward bend only device. This makes it much easier to return to the zero pitch position at the top or the bottom of the pedal movement, rather than a position in the center.

Another application for the Pedal Controller is to use it to control specific parameters of a sound that can not normally be controlled by more common MIDI messages. The Pedal Controller can send a System Exclusive message with a single variable byte, determined by the position of the pedal. These messages can be sent to synths that allow parameters to be controlled only via sysex, enabling experimentation with sounds in new ways that were previously not possible using only MIDI controller messages.

It's not even necessary to use an expression pedal with the Pedal Controller - a custom-built knob or slider connected to the Pedal Controller can be used to send MIDI messages that typical knobs and sliders won't allow you to send. Potentiometers of resistances from 10k to 100k will work well with the Pedal Controller. The only requirement when connecting a potentiometer to the Pedal Controller is that the wiper of the potentiometer must be connected to either the tip or the ring of the Pedal Controller's 1/4" input. The other terminals of the potentiometer can be connected to the either the tip, ring, or sleeve (one terminal to each), the Pedal Controller will automatically determine the configuration on power-up.

Click here to see an application of how the MIDI Solutions Pedal Controller was used to help create a Desert Organ at the 2002 Burning Man Festival.



Breath Controller

The Breath Controller converts the voltage from the Yamaha BC3A Breath Controller to continuous MIDI data and can be inserted inline anywhere in the MIDI data stream. By connecting the Breath Controller between a MIDI keyboard and sound module you can add control of various parameters such as volume, modulation, aftertouch, etc. (the message type can be programmed to most types of MIDI messages).

As with the Pedal Controller, the Breath Controller can be set up to control a specific System Exclusive parameter. This allows control of synth parameters that cannot be controlled by MIDI Control Change messages. The Breath Controller can also send a System Exclusive message with a single variable byte, determined by the amount of breath pressure applied to the unit. These messages can be sent to synths that allow certain parameters to be controlled via sysex only, enabling experimentation with sounds in new ways that were not previously possible.

Patchman Music produces a wide range of wind controller soundbanks that are the perfect companion to the MIDI Solutions Breath Controller. For more information see Patchman Music Wind Controller Soundbanks.




One application that is often overlooked for the Router is to filter specific types of MIDI messages or specific MIDI channels; not only can the Router can be programmed to route MIDI data to either of its two MIDI outputs, it's also possible to route MIDI data to neither of its outputs, effectively filtering it. The most common use of this function is to filter out selected MIDI channels to synthesizers or sound modules that receive in omni mode only and do not have the ability to turn individual MIDI channels on or off. Because the settings of the Router are stored in a most recent setting priority format, it's possible to filter or pass any combination of the 16 MIDI channels, using only 10 settings.

In addition to the option of selecting the type of MIDI message to be routed or filtered, it's also possible to select a range of values to be routed or filtered within the MIDI data type itself. For example, if a sound module in a setup needs to respond to Control Change messages 1-10 only, it is possible to program the Router to filter Control Change messages in the range 11-128.

The Router can also be used to split a keyboard that is sending on a single MIDI channel into multiple ranges on separate MIDI channels. For example all notes below middle C could be routed to MIDI channel 1, and all notes middle C and above to MIDI channel 2, both to the same output of the Router. Or, since the Router has two outputs, it could be programmed to route the lower keyboard range to the first output, and the upper keyboard range to the second output. It's also possible to add additional zones, or even set up unique split points for each incoming MIDI channel. The Router will store up to 10 settings so it can be configured to split, route, and filter MIDI data in almost any way you'd ever need to.



Velocity Converter

The main function of the Velocity Converter is to expand the velocity range of keyboards that are unable to send the full velocity range, like the older Yamaha DX7, however it can also be used to match the velocity sensitivity of a keyboard to a number of different sound modules. For example, say a single keyboard is being used to control two different sound modules, with each module receiving on a separate MIDI channel. If one of these sound modules is very sensitive to the slightest touch, while the other doesn't respond well unless the keys are hit very hard, the MIDI Solutions Velocity Converter can be used to apply a separate velocity curve to each MIDI channel, so the velocity response of the keyboard can be matched to each sound module in the setup, correcting for these differences.

The Velocity Converter also includes a function that can be used to apply continuous Control Change data to MIDI velocities. For example, some wind controllers send constant velocity values for each note played, resulting in each note producing a sound with identical attack and a sound that is boring and uninteresting. The Velocity Converter can actually apply the value of an incoming controller (with an offset, if necessary) to the velocity values, allowing this inherent expressiveness to be added to the sound to give it more depth.



Custom Products

MIDI Solutions Processors and Professional Series products are designed to provide solutions to almost any MIDI-processing task imaginable. However occasionally MIDI processing requirements arise that could never have been predicted, and often the solution can be accomplished by modifying the firmware in one of our existing products. Please note that we do not take on projects that require the design of new hardware. However if you are in need of a MIDI processing function that can be incorporated into one of our existing products by a making a modification to the microcontroller's firmware, we likely can provide the solution. Please see Custom Products for more information.


Products | FAQs | Support | About | Order

Copyright 2024 MIDI Solutions Inc.