Assigning internal and external hardware controls adds a whole new dimension of control and musicality to patches, and it's really easy to do. The MIDI Tab is where all controller assignments can be viewed and tweaked. First we'll show how to assign an external hardware controller to a Harmonia control, then we'll go over all parameters in the MIDI Tab.
Basic External Hardware Control Assignment
This is the quick, "I just want to assign a hardware control right now!," section. We recommend reading this whole section to best take advantage of Harmonia's MIDI control assignments.
In this example we'll assign a control to oscillator 1's Center slider.
Begin by right-clicking on oscillator 1's Center slider and selecting MIDI Learn. A transparent purple overlay appears over the knob indicating that it's in learn mode. Now move the desired hardware control device. The purple overlay disappears and the hardware control will move the onscreen slider. If you get cold feet (or accidentally put the wrong control into learn mode), learn mode can be aborted by right-clicking and selecting Stop Learning.
This is the basic procedure for assigning hardware controllers to almost any Harmonia control.
When in MIDI learn mode, any previously assigned controller numbers will show in squares. These indicate the MIDI continuous controller number of the assigned hardware control (these are also displayed in the MIDI library tab at left).
Once a MIDI controller has been assigned, in addition to real-time control of a Harmonia parameter, you’ll also be able to record and play back controller data from a DAW.
The MIDI Tab
This is command central for all MIDI controller assignments. Here you’ll be able to see information about all currently assigned controllers and adjust control ranges.
To view or hide the MIDI Tab, click the MIDI button in the top toolbar.
MIDI Learn button- This is almost exactly the same as enabling MIDI learn mode by right-clicking a control. Click the MIDI Learn button to enter learn mode (all controls turn purple). Unlike right-clicking on specific knobs, where Harmonia automatically exits controller assignment mode, clicking the MIDI Learn knob "stays on" to enable assignment of multiple hardware controls. This is handy for quickly assigning a bunch of continuous controls or the buttons of a grid-style controller.
To assign multiple controls, click MIDI Learn, click an on-screen control, move the desired hardware knob or slider, continue clicking and assigning on-screen controllers until all desired controls are assigned, then click Stop Learning to exit learn mode.
Remember that a single hardware knob/slider/button isn't limited to controlling just one parameter - a single hardware controller can simultaneously operate as many controls as you'd like.
New Mapping Type- This popup menu selects whether newly assigned MIDI mappings will be Global (affects all sounds and doesn't change when different presets are selected) or Preset, where mappings are saved with individual presets.
MIDI Tab Columns
Name- Displays the name of the parameter being controlled.
Type- There are five possible types of controller automation in Harmonia
Note- Notes played on a MIDI keyboard controller, expressed as C-1 to G9
CC (MIDI Continuous Controller)- The standard 128 MIDI controller numbers as defined in the MIDI spec. More specifically, these are the controllers transmitted by hardware knob and slider controls. MIDI CC’s can be used to control parameters in real-time or recorded and played back within DAW software.
MMC (MIDI Machine Control)- The MIDI control protocol for tape machine-style transport controls. Back in the dark ages, this was used to control wonky old Tascam and Fostex reel-to-reel monsters, but it's useful if your MIDI controller has tape-style transport control buttons.
Pressure- Some keyboard controllers transmit controller data when keys are pressed and released as they're held down; this is known as a "pressure" or "aftertouch." The vast majority of keyboard controllers with aftertouch transmit "mono" aftertouch only; in other words, aftertouch data is the sum of all keys to one single data stream.
The Touch Sensor section allows super fast assignment of aftertouch control to basic Poly Synthesizer and Lead Synthesizer controls, but this can be used to control any Harmonia parameter.
Key- This allows keys of the computer QWERTY keyboard to at as button controls for Harmonia's onscreen controls.
Value- Displays the specific automation controller. In the case of a Note this would show a MIDI note number (C-1 to G9, for a MIDI CC, this would be the MIDI CC controller number, etc. Clicking on the value opens a pop-up menu where all values are displayed and can be selected.
Preset- In the left position, the mapping will be global for all Harmonia patches; in the right position, the mapping applies only to the current patch, and will be saved as a parameter specific to that patch.
The Preset switch is super nifty, because it means MIDI mappings can easily be set to global or per-preset status at any time. (A lot of folks asked us for this feature.)
Min- Sets a limit on the lowest value any automation control can set a mapped controller to. This actually recalibrates the range of the automation controller to the remaining parameter range.
Max- Sets a limit on the highest value any automation control can set a mapped controller to. This actually recalibrates the range of the automation controller to the remaining parameter range.
Super Tricky Min-Max Tricks- Not only can parameter ranges be limited via the Min and Max knobs, mapped control destinations can be completely inverted by setting the Min knob all the way up and the Max knob all the way down (or anywhere in between).
Limiting and inverting parameter ranges with the Min/Max controls is particularly useful when multiplexing a single hardware control to operate multiple parameters. Along with the Curve control, the customization possibilities are super flexible.
Curve- These allow the customization of how incoming MIDI CC controls affect the movement of Harmonia's onscreen controls, ranging from exponential to linear to logarithmic curves.
MIDI Tab Column Configuration Right-Click Menus
Right-clicking anywhere in the top row (Name, Type, Value, etc.) displays the column configuration menu. Checking/unchecking these allows hiding and display of each column. This has no effect on assignments.
MIDI Tab Parameters Right-Click
Right-clicking on an assigned parameter opens the menu above.
MIDI Learn- This is used to change the controller assigned to a particular parameter.
Unlearn- Deletes the selected automation parameter.
Unlearn All- Deletes all controller assignments for the patch. Harmonia will display a warning dialog prior to deletion in order to thwart potential unlearn-related disasters.