This page is read from MIDI Instrument Definitions, a Python library used in the author's other projects, in which every number is traced to a document its maker published. Its source is on GitHub.
ASM Hydrasynth Explorer MIDI implementation
The MIDI implementation of the ASM Hydrasynth Explorer: what it answers to, and the 112 controls it offers, on firmware 2.2.0.
At a glance
- Firmware
- This page describes firmware 2.2.0.
- MIDI channel
- 1 to 16.
- MPE
- Sent and received: its voices are spread across its MIDI channels, a note to each.
- Voices
- 8.
- Note range
- Not recorded.
- Velocity
- Sent and received.
- Aftertouch
- Answered, of a kind its documents do not say. It sends aftertouch too.
- Pitch bend
- Not recorded.
- Program change
- Received and sent, with 1024 presets.
- MIDI clock
- Sent and received.
- Start and stop
- Not recorded.
- Control change
- 112 controls, in the tables below.
- NRPN
- Supported.
- System exclusive
- Not recorded.
Controls
In the order the definition gives them, by group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("asm/hydrasynth_explorer") has loaded them.
Amp
ARP
Delay
ENV 1
ENV 2
ENV 3
ENV 4
ENV 5
Filter 1
Filter 2
LFO 1
LFO 2
LFO 3
LFO 4
LFO 5
Macros
Mixer
Mutator 1
Mutator 2
Mutator 3
Mutator 4
OSC 1
OSC 2
OSC 3
Post-fx
Pre-fx
Reverb
System
Voice
Where these facts come from
Source documents
How they were read
Owner's Manual (98pp, version 2.2.0): the MIDI settings at pp. 82-83, the keyboard's velocity and aftertouch settings at p. 81, the program change settings at p. 83, the specifications at p. 97, and the MIDI CC Charts at pp. 94-96, which is where every number here comes from. The maker's comparison chart is cited for what separates the four Hydrasynths, and the Keyboard and Desktop's manual for nothing at all - see below.
THE CHART IS PRINTED TWICE AND THAT IS WHAT VERIFIED IT. Pages 94-96 carry the same list under two headings, "Sorted by Module" (p. 94) and "Sorted by CC Number" (p. 95). They are the same facts in two orders, so the reading could be checked against the document before any second reader saw it: both printings hold the same 117 entries with the same module and the same controller number every time. A maker who publishes one list twice has given a reader a free verification, and it is worth looking for.
AND THEY NAME NINETEEN PARAMETERS TWO WAYS. Same module, same number, two spellings: Filter 1 Cutoff against Filter1 Cutoff at 74, Filter 2 Cutoff against Flt2 Cutoff at 55, OSC 1 Cent against OSC1 Cent at 111, and - furthest apart of all - Ring Mod FRate against RM12 FRate at 116. Seven of Filter 1's rows, seven of Filter 2's, three oscillator Cents and two of the Mixer's. The module-sorted printing's names are the ones below, because it is the fuller of the two, and the other name is recorded here so that a reader meeting either can find the control.
THE SECOND READING CONFIRMED ALL 117 ENTRIES AND ALL NINETEEN NAME DIFFERENCES, read by eye off the pages rendered at up to 900 dots to the inch rather than from any text. It also settled which way to read CC 116: the same chart calls CC 43 RM12 Depth in both printings, so RM12 and Ring Mod are this maker's two names for one circuit rather than a slip in one place.
AND IT FOUND THAT THE CHART'S THIRD COLUMN HAS NO VISIBLE HEADING. Module and Parameter are set in white on the black header bar and CC is set in black on it, so the word is in the file and invisible on the page. A reader of the printed manual sees two labelled columns and a third with nothing over it. Nothing rests on it - the numbers are unmistakable - and it is recorded because a document that hides one of its own column headings may hide other things, and because this is the second instrument in two days whose text layer holds something the page does not show.
THE MAKER'S OWN INCONSISTENCIES, REPRODUCED AND NOT TIDIED. The module-sorted printing is not even consistent with itself: OSC 3 FRate at 114 has a space where OSC1 FRate at 118 and OSC2 FRate at 119, three rows below it, do not. OSC1 wavscan at 24 and OSC2 WavScan at 26 differ in a capital, in both printings. POST-FX Param1 and POST-FX Param2 keep their hyphen where POST FX Mix drops it, while all three Pre-FX rows keep theirs.
AND ENV 4 IS NUMBERED UNLIKE EVERY OTHER ENVELOPE, which is worth seeing beside the paragraph above about the reserved block. Envelopes 1, 2, 3 and 5 run Attack, Decay, Sustain, Release in ascending controller order. ENV 4 runs Attack 25, Decay 27, Release 124, Sustain 125 - a skipped 26, and Release numbered below Sustain. So the two parameters this file cannot carry are the two that were already the odd ones out.
ONE MORE THING SUGGESTS THIS MANUAL WAS NOT WRITTEN FROM SCRATCH FOR THIS MODEL. Its page 83 refers the reader to "MIDI page 4" for the transmit and receive channels, which this manual puts on MIDI: Page 7; to "MIDI page 5" for a setting it calls At TX, a name this manual never uses for the one it calls Aftertouch transmit on MIDI: Page 8; and to "MIDI page 6" for Overflow, which is on MIDI: Page 11. Three cross-references, none of them right for this document. Nothing below depends on them, and a reader following one will not find what it promises.
TWO THINGS HAD TO BE RIGHT BEFORE ANY OF IT COULD BE READ. Each page carries two half-width tables side by side, and they are read down, not across: a row of the page holds one entry from the left table and an unrelated one from the right, so page 94's left half runs Amp, ARP, Delay, ENV while its right half picks up at Filter 2. Reading by row interleaves two stretches of an alphabetical list and looks plausible. And pypdf's layout mode cannot see the rows at all on these pages - it returns each column as its own vertical run, every Module then every Parameter then every CC - so the words were taken with their coordinates instead.
BANK SELECT IS CARRIED, AS IT IS WHEREVER A MAKER NUMBERS IT. Bank select MSB (0) and Bank select LSB (32) are in the chart's System module, and what they do is said under program_change too: "To change banks, both types of Bank Select messages and a program change are needed, or else the Hydrasynth will only select patches within the current bank" (p. 84).
FIVE NUMBERS ARE NOT CARRIED, AND FOUR OF THEM ARE THE INTERESTING ONES. All notes off (123) is the specification's own message, correctly named, and this format refuses it as a control because it means the same thing everywhere.
AND FOUR PARAMETERS ARE PUT ON NUMBERS THE SPECIFICATION RESERVES FOR CHANNEL MODE. The chart assigns ARP Octave to 120, ARP Length to 122, ENV4 Release to 124 and ENV4 Sustain to 125 - which the MIDI specification keeps for All Sound Off, Local Control On/Off, Omni Mode Off and Omni Mode On. So a sequencer sending Omni Mode Off to this instrument moves its fourth envelope's release. The maker says nothing about it, and the chart has 123 beside them doing its standard job, so this is not a maker who has mistaken the block for free space.
This format refuses all four, on the rule that a channel mode message means the same on every instrument that has one - which is exactly what this instrument makes untrue. The four are therefore published, named, numbered and absent from the controls below, which is a real loss and the only one here. Recorded rather than worked around, and raised where the format's questions are kept. That leaves 112 of the chart's 117 rows.
THE GAPS ARE MOSTLY THE SPECIFICATION'S OWN. The chart uses 117 of the numbers between 0 and 125 and the nine it does not are 2 and 4 (breath and foot controller), 6 and 38 (data entry), 98 to 101 (the NRPN and RPN selects) and 121 (reset all controllers). The manual accounts for none of them and none is inferred here.
THE MAKER'S OWN SPELLINGS ARE KEPT, INCLUDING ONE THAT LOOKS LIKE A SLIP. Modulation wheel. carries a full stop no other label has, in both printings, so it is the document's and not an extraction's. GlidTime, StWidth, Flt2, LFO2amt and ENV1amt are the maker's abbreviations and are not expanded.
NRPN IS OFFERED AND NOT PUBLISHED. Two settings choose the format a parameter edit travels in - "Knob 1 Param TX Off, NRPN, CC" (manual p. 83) and "Knob 2 Param RX Off, NRPN, CC" (p. 83) - and the manual sends the reader to the CC charts for the one and publishes nothing at all for the other: no NRPN number, no parameter list, no address. So midi.nrpn says supported, which is what the setting establishes, and no NRPN appears on any control below because none is published.
NOT RECORDED:
- the note range, which no page states;
- the pitch bend depth, which the manual does not give for the instrument itself;
- and system exclusive, which the manual never mentions although the maker ships an ASM Manager application that must use something.