The Musical Instrument Digital Interface (MIDI) is a protocol and set of commands for storing and transmitting information about music. MIDI output devices interpret this information and use it to synthesise music. [ link ]
A MIDI Controller or MIDI Control Surface is a digital device that transmits MIDI data to other devices capable of receiving it. The most common use of a MIDI Controller is to control software instruments used on a computer. [ link]
There are various types of MIDI controllers, the most common used with SDR software is a DJ controller. DJ Controllers have one or two large rotary dials, ideal for tuning the receiver frequency. Other controls are used for mode, volume etc.
In the above picture you see the Behringer CMD PL-1 DJ Controller, typically available for approximately $99.
SDR software implements MIDI support with the MIDI functions, part of the Windows multimedia API.
This solidly built controller is a good option for SDR software, offering:
It also has four sets of values, selected by the Deck button.
When you touch the platter it sends value 127, when released it sends 0. These values are ignored in the tuning support.
The Behringer CMD PL-1 DJ Controller typically retails for approximately $99.
The console has a simple interface where you assign controls (buttons, sliders etc.) on the controller to options in the console:
When you configure an option of type Single the value used is that generated when the button is selected (pressed down).
When you configure an option of type Range (Audio level, Tuning) there are two values: minimum and maximum. As you slide or rotate the control the range is displayed.
Some MIDI controllers send a modifier code when pressed, any modifier code is shown in the Modifiers field. The actual code is specific to the controller.
You typically assign a large rotary controller (aka platter) to the frequency tuning. Some controllers send a fixed value which indicates the direction, others send a value which indicates the direction and speed of rotation.
You can manually enter the recommended range of values, for example:
Frequency Tuning Down
Examples of range values:
Controller | Down | Up | Comment |
---|---|---|---|
Behringer CMD PL-1 | 0 to 63 | 65 to 127 | Value indicates speed of rotation |
Hercules DJ | 0 to 63 | 65 to 127 | Value indicates speed of rotation |
Steinberg AI | 65 | 1 | (Discontinued) Sends a fixed value |
EKS XP Series | 63 | 65 | Also sends 64 (off) after each change. You must edit |
the range value to show 63 - 63 (down) or 65 - 65 (up). |
It is possible to write to some controllers, for example to set LED colour and intensity. At present this is not supported.