This section explains how you can change parameters in Hydrogen, start playback or recording, switch patterns, and many more using incoming MIDI messages. Firstly, we will have a look at which types of MIDI messages are supported in MIDI Events. Then we will discuss two different ways of mapping them to Actions: via the MIDI table in the Preferences and MIDI-learnable Widgets
There is a vast number of MIDI message types available. But Hydrogen only supports a selection of most common ones listed below.
NOTE_ON: an incoming note triggered by a regular black/white key of a MIDI keyboard or a pad of an e-drum. The note's pitch will be used as event parameter and its velocity as new value.
CONTROL_CHANGE (CC): controller commands coming from e.g. faders or rotary controllers. These ones can be used for MIDI Feedback as well.
PROGRAM_CHANGE (PC): usually intended to change the sound of instruments or to select different sound banks. It does only contain an single event parameter, e.g. the bank number, which will be interpreted as new value.
MMC_x: MIDI
machine control events coming from e.g. buttons, like
'play' or 'stop', on a controller. These messages carry neither
an event parameter nor a number which could be used as new
value. They are intended for triggering Actions expecting
no input arguments, like toggling mute or playback, and will use
0
as new value for all other Actions.
START: System Realtime message which is hard-coded to start playback in Hydrogen. It can not be mapped to an Action or an MIDI-learnable widget.
CONTINUE: System Realtime message which is hard-coded to start playback in Hydrogen. It can not be mapped to an Action or an MIDI-learnable widget.
STOP: System Realtime message which is hard-coded to pause playback in Hydrogen. It can not be mapped to an Action or an MIDI-learnable widget.
Whether the MIDI event sent by the play button of your MIDI device corresponds to e.g. a START or MMC_PLAY event is up to the manufacturer and should be stated in the user manual.
Note | |
---|---|
For all message types except of the MMC_x ones the Channel set in the Preferences must be matched. |
An MIDI Event recognized by Hydrogen can be mapped to an Action using the MIDI table in the MIDI System tab of the Preferences.
Note | |
---|---|
Only actions performed in the GUI can be undone. MIDI, on the other hand, can not! |
You can define mapping between incoming MIDI Events and Actions by either choosing an event type and parameter manually or by pressing the button in the left-most column of the table. A popup will inform you that Hydrogen is waiting for your input. Press/hit/turn the key/pad/knob on your MIDI keyboard (or controller) that you want to link to the Action. The popup will close and the Event Param. value will now show the MIDI message corresponding to the key you pressed. Once this is done you can select an Action from the drop-down list.
The Action Param. columns to the
right of the table specifies the parameters to the Action
not provided by the MIDI
message. In the example shown in the picture above the value set
using the controller 70
of your
MIDI device will be assigned to the pan of the third
top-most instrument in the current drumkit.
Note | |
---|---|
Most Action parameters references a specific channel, instrument,
FXsend id, ... Keep in mind that their values are
zero-based. So, if you want to reference
channel 1 you have to enter |
Tip | |
---|---|
In order to delete a row in the MIDI table, you have to set both its Incoming Event and Action to an empty value. |
Available Actions:
<<_PREVIOUS_BAR: moves the playhead to the previous pattern/bar.
>>_NEXT_BAR: moves the playhead to the next pattern/bar.
BEATCOUNTER: calculates the average time passing between successive encounters of this commands and uses it to set the current tempo using the Beat Counter.
BPM_CC_RELATIVE: changes the tempo
relative to the current tempo, using a controller. Using
Action Param. 1 you can specify by how much the current
tempo will change. If the incoming Event is -1
(negative), the tempo will be increased and if it's
1
(positive), it will be increased.
Note | |
---|---|
This Action will have no effect if Hydrogen is both in Song Mode and the Timeline is activated. |
BPM_DECR: decreases the current tempo by the supplied value.
BPM_FINE_CC_RELATIVE: as BPM_CC_RELATIVE but with changes 100 times smaller than the value specified in Action Param. 1.
BPM_INCR: increases the current tempo by the supplied value.
CLEAR_PATTERN: removes all notes of the selected pattern.
CLEAR_SELECTED_INSTRUMENT: removes all notes of the selected pattern associated with the currently selected instrument.
EFFECT_LEVEL_ABSOLUTE: changes the volume level of an FX. Action Param. 1 determines the Instrument Channel Strip and Action Param. 2 specifies the FX the Action will be applied to.
EFFECT_LEVEL_RELATIVE:
same as EFFECT_LEVEL_ABSOLUTE but instead mapping the incoming values directly to the FX volume 1
will increase and all other values will decrease it by 5%.
FILTER_CUTOFF_LEVEL_ABSOLUTE: for
a value of 0
it sets the Filter Cutoff of the
instrument strip specified using the Action Param.
1 to
0
. For all other values it sets the cutoff to the
provided number divided by 127.0.
GAIN_LEVEL_ABSOLUTE: sets the Layer Gain. Action Param. 1 specifies the instrument, Action Param. 2 the component, and Action Param. 3 the layer.
INSTRUMENT_PITCH: sets the Pitch of the instrument specified by Action Param. 1.
MASTER_VOLUME_ABSOLUTE: sets the Master output volume to the value provided by the MIDI event times 1.5 and divided by 127.
MASTER_VOLUME_RELATIVE: changes the Master output volume, relative
to its current setting. For a value of 0
it sets the volume of
the master fader to 0. For a value of 1
it increases its
volume by 0.05 and for all other values it decreases it by
0.05. (-1
: -0.05 , 0
: 0 ,1
: +0.05)
MUTE: mutes the Master output (sequencer keeps running).
MUTE_TOGGLE: toggles the muting of the Master output (sequencer keeps running).
PAN_ABSOLUTE: changes the pan of an instrument
determined by the Action Param. 1 to the absolute value that
the linked controller sends to Hydrogen. Incoming values from
0
to 127
will be mapped to pan
values between -1 and 1.
PAN_ABSOLUTE_SYM: same as PAN_ABSOLUTE but supports incoming values from -127
to 127
will be mapped.
PAN_RELATIVE: changes the pan of an instrument
determined by Action Param. 1 relative to the current
value. For a value of 1
it increase the pan by
0.05. For all other values it decreases it by 0.05.
(-1
: -0.05 , 1
: +0.05).
PITCH_LEVEL_ABSOLUTE: sets the Layer Pitch. Action Param. 1 specifies the instrument, Action Param. 2 the component, and Action Param. 3 the layer.
PLAY/PAUSE_TOGGLE: works the same as PLAY if the playback has not started yet and same as. PAUSE otherwise. (The playhead will not return to the start of the song, but will stay at its current position).
PLAY/STOP_TOGGLE: works the same as PLAY if the playback has not started yet and same as. STOP otherwise.
PLAYLIST_NEXT_SONG: opens the song in the current playlist corresponding to the song number specified in Action Param. 1.
PLAYLIST_PREV_SONG: opens the previous song in the current playlist.
PLAYLIST_SONG: opens the next song in the current playlist.
RECORD/STROBE_TOGGLE: toggles recording (same as pressing the record button in the main toolbar).
RECORD_EXIT: deactivates recording.
RECORD_READY: toggles recording (same as pressing the record button in the main toolbar) if the playback has not started yet.
RECORD_STROBE: activates recording.
REDO_ACTION: redoes the previously undone GUI action (not MIDI action!).
SELECT_AND_PLAY_PATTERN: works as SELECT_NEXT_PATTERN combined with PLAY.
SELECT_INSTRUMENT: selects the instrument in the drumkit corresponding to the number supplied in the incoming MIDI Event.
SELECT_NEXT_PATTERN: selects the pattern specified in Action Param. 1.
Note | |
---|---|
If Hydrogen is in Selected Pattern Mode, playback will be switched to the selected pattern immediately. If it is, instead, in Stacked Pattern Mode, playback of the selected pattern will be toggled next time transport is loop again. In case the pattern was already playing, it will be stopped. If not, it will be started. If Hydrogen is in Song Mode, the command will have no effect. |
SELECT_NEXT_PATTERN_CC_ABSOLUTE: like SELECT_NEXT_PATTERN but the pattern to be selected is determined by the value of the MIDI message.
SELECT_NEXT_PATTERN_RELATIVE: like SELECT_NEXT_PATTERN but the pattern to be selected is determined by the pattern number of the currently selected one plus the value specified in Action Param. 1.
SELECT_ONLY_NEXT_PATTERN: selects the pattern specified in Action Param. 1.
Note | |
---|---|
If Hydrogen is in Stacked Pattern Mode, only the selected pattern will be played back once the transport gets looped again. For Selected Pattern Mode this Action behaves as SELECT_NEXT_PATTERN. If Hydrogen is in Song Mode, the command will have no effect. |
Tip | |
---|---|
By providing a number smaller than |
SELECT_ONLY_NEXT_PATTERN_CC_ABSOLUTE: like SELECT_ONLY_NEXT_PATTERN but the pattern to be selected is determined by the value of the MIDI message.
STOP: stops playback and moves the playhead to the beginning of the song.
STRIP_MUTE_TOGGLE: mutes the instrument specified in Action Param. 1.
STRIP_SOLO_TOGGLE: mutes the instrument specified in Action Param. 1.
STRIP_VOLUME_ABSOLUTE: see MASTER_VOLUME_ABSOLUTE, but applies to the Instrument Channel Strip specified in Action Param. 1.
STRIP_VOLUME_RELATIVE: see MASTER_VOLUME_RELATIVE, but applies to the Instrument Channel Strip specified in Action Param. 1.
TAP_TEMPO: another command calculating the average time passing between successive encounters of this commands and uses it to set the current tempo using Tap Tempo.
TOGGLE_METRONOME: toggles the metronome.
UNDO_ACTION: undoes the previous GUI action (not MIDI action!).
UNMUTE: unmutes the Master output (sequencer keeps running).
For more convenient handling some Actions are associated with GUI elements and can directly be mapped to MIDI Events by pressing Shift while left-clicking the widget.
Such elements are:
Volume faders, FX Colume knobs, Pan rotaries as well as Mute and Solo buttons in the Instrument Channel Strips.
Volume fader and Mute button of the Master Fader Strip.
Rewind, Record, Play, Stop, and Fast Forward buttons in the Transport Control and Beat Counter as well as Metronome button.
Rewind, Play, Stop, and Fast Forward buttons in the Playlist Editor.
A 'Waiting for MIDI input...' popup informs you that Hydrogen is now waiting for you to press a key or turn/move a controller on your MIDI device. If successful, the new mapping is shown in both the tooltip of the GUI element as well as the MIDI table in the Preferences.
Note | |
---|---|
If the element that does not support MIDI automation, a different popup will inform you. |