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.
Waldorf Iridium MIDI implementation
The MIDI implementation of the Waldorf Iridium: what it answers to, and the 15 controls it offers, on firmware 3.
At a glance
- Firmware
- This page describes firmware 3.
- MIDI channel
- Not recorded.
- MPE
- Received: its voices are spread across its MIDI channels, a note to each.
- Parts
- Layer, 2 of them: each on a MIDI channel of its own, taking notes and controls.
- Voices
- 16, shared by the parts that play notes.
- Note range
- Not recorded.
- Velocity
- Received.
- Aftertouch
- Channel pressure and polyphonic, each answered.
- Pitch bend
- 12 semitones, and the range can be changed.
- Program change
- Received and sent.
- MIDI clock
- Received.
- Start and stop
- Not recorded.
- Control change
- Assigned by the player, apart from the 15 controls below.
- NRPN
- None.
- 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("waldorf/iridium") has loaded them.
Controllers
| Control | CC | Values |
|---|---|---|
Wheelwheel |
1 | 0-127 Received, never sent |
Breath Controlbreath_control |
2 | 0-127 Received, never sent |
Pedals
| Control | CC | Values |
|---|---|---|
Expressionexpression |
11 | 0-127 Received, never sent |
Pedalpedal |
64 | 0-127 Received, never sent |
Modulation sources
| Control | CC | Values |
|---|---|---|
CC 22cc_22 |
22 | 0-127 Received, never sent |
CC 23cc_23 |
23 | 0-127 Received, never sent |
CC 24cc_24 |
24 | 0-127 Received, never sent |
CC 25cc_25 |
25 | 0-127 Received, never sent |
CC 26cc_26 |
26 | 0-127 Received, never sent |
CC 27cc_27 |
27 | 0-127 Received, never sent |
CC 28cc_28 |
28 | 0-127 Received, never sent |
CC 29cc_29 |
29 | 0-127 Received, never sent |
CC 30cc_30 |
30 | 0-127 Received, never sent |
CC 31cc_31 |
31 | 0-127 Received, never sent |
MPE
| Control | CC | Values |
|---|---|---|
MPE Y Axismpe_y_axis |
74 | 0-127 Received, never sent |
Where these facts come from
Source documents
- Iridium User Manual, OS 3, dated 28 January 2026, its user manual, read on 3 October 2026 (the file read).
- Iridium MK2 User Manual, dated 29 April 2026, its user manual, read on 3 October 2026 (the file read).
- Iridium EN – Waldorf Music, its download page, read on 3 October 2026 (the file read).
- Iridium Keyboard EN – Waldorf Music, its download page, read on 3 October 2026 (the file read).
How they were read
Iridium User Manual, 246 pages, the edition Waldorf's file name calls OS 3. Waldorf publishes no MIDI implementation document for this instrument and the manual contains no control map, because almost every parameter is reached by MIDI Learn instead: "Set: opens a page allowing you to link a desired MIDI CC connection to any panel parameter dial, potentio- meter, or button" (manual p. 204), the maker's own line break. No page gives the numbers Learn accepts. The only range the manual prints for incoming controllers, "The selectable CCs can are CC01 to CC118 (or Off)" (manual p. 187) - the maker's own "can are" - closes the XY tab's CC X/Y entry, which chooses the controllers that move the pad's two axes, and is that selector's range rather than Learn's. So control_change: learned, and no learned number is a control here.
ONE MANUAL FOR TWO PRODUCTS, PROVED BY HASH RATHER THAN BY INFERENCE. Waldorf has four Iridium product pages. The Iridium's "Manual" link and the Iridium Keyboard's are different share ids, and both serve the same file: 12,448,273 bytes, SHA-256 67e403e6..., fetched separately from each. The cover says the same thing - "User Manual For Keyboard & Desktop" (manual p. 1) - and the file is named iridium_desk_kb. The two pages also share two supplementary PDFs under the same share ids, which is the file-id test that settled the modwave, available here alongside the stronger one.
The other two Iridiums are not in this definition. The MK2's page serves an archive holding a 236-page manual of its own, three months newer; the Core's serves a 223-page manual with 12 voices against this instrument's 16. Each needs its own reading.
FIFTEEN CONTROLLER NUMBERS ARE THE INSTRUMENT'S OWN. Fourteen come from the modulation-source table, where five rows name a number: "Modulation wheel (CC #1)" (manual p. 234), "MIDI Breath Controller (CC #2)" (manual p. 234), "MIDI Expression pedal (CC #11)" (manual p. 234), "MIDI Sustain pedal (CC #64)" (manual p. 234), and one row covering ten, "MIDI CC #22 - #31" (manual p. 234). The fifteenth is in the MPE section: "Front-back / Y-axis (sent as MIDI CC 74)" (manual p. 201), whose own row in the table is described as "Second MPE parameter" (manual p. 234) with no number against it, so the two have to be joined by hand.
That table is set two-up and Waldorf draws each rule as one segment per row, at three x positions a fraction of a point apart. A reader that clusters the rules but takes the first table it finds gets 18 of the 36 rows and reports success - which is what the first attempt did before the page's drawings were counted properly.
The ten that row covers are 22, 23, 24, 25, 26, 27, 28, 29, 30 and 31, written out here because the page never prints eight of them: it gives the span and leaves the rest to arithmetic, so a reader checking this definition against the manual would otherwise find no page saying 26.
THE TEN IN THE RANGE ARE RECORDED AND THE MODWAVE'S HUNDRED AND ONE WERE NOT. That chart gave a block of numbers as assignable for controllers and modulation, which says what a player may do. This gives a row in the list of things a patch can be modulated by, beside "LFO 2" and "Velocity", and the numbers are fixed. A player cannot move CC 24; they can only choose whether a patch listens to it.
EVERY ONE OF THE FIFTEEN IS RECORDED AS RECEIVED, WHICH IS THE DOCUMENTED HALF. All fifteen are described as things the sound engine is modulated by. The manual's one statement about sending controller data names something else entirely: "Send CC: here you can activate all mapped MIDI Con- trol Change (MIDI CC) data being sent out for the panel pots, buttons, and encoder" (manual p. 202) - the mapped CCs, which are the learned ones, from the panel controls. Nothing says the wheels or the pedals transmit, so nothing here says they do.
IT SENDS NRPN AND IGNORES INCOMING NRPN, WHICH NO OTHER INSTRUMENT HERE DOES. "Send NRPN: if set to On, the physical panel elements send out MIDI NRPN data. For parameter automation please use MIDI CC as before. Keep in mind, that the Iridium doesn´t react on incoming NRPN MIDI data" (manual p. 202), the maker's own acute accent in "doesn´t". The MK2's manual says the same of itself, so it is the maker's settled position rather than a slip. nrpn: none records the receiving half, which is what a consumer sending to this instrument needs; the sending half has no field and is here instead.
MPE, WITH AN OPTIONAL SECOND ZONE. The three axes are given outright: "Left-right / X-axis (sent as MIDI Pitch Bend)" (manual p. 201), "Front-back / Y-axis (sent as MIDI CC 74)" (manual p. 201) and "Pressure / Z-axis (sent as MIDI Channel Aftertouch)" (manual p. 201). It configures itself when told to - "if a connected MPE Controller sends MCM (MPE Configuration Messages), these will be detected and will automatically put Iridium into MPE mode" (manual p. 201) - and "Iridium supports an optional second MPE zone" (manual p. 201), which is why parts below has two.
RECEIVING PROGRAM CHANGE IS STATED ONCE, ON A WEB PAGE, UNDER A TITLE THAT DENIES IT. The manual never says what the instrument does on receiving one: it names the message in the glossary that begins on printed page 239 and in the list of what a Macro button can send (manual p. 194), and nowhere else. The product page's FAQ is titled "This device does not react to Program Change Messages!" (product_page) and answers "You will have to use the Favorites list in order to get the Prog CH working" (product_page), then "This device uses only to the entries in the Favorites lis when Prog CH messages are used. As soon as you have put the most needed patches there, you can call them up by MIDI" (product_page) - the maker's own "uses only to" (product_page) and "lis". Every entry on that page is titled as a user would phrase the complaint and answered in the body, so the instrument does answer to program change and what it selects is a "Favorites" entry rather than a patch.
A SUPPORT PAGE SHOULD CONFIRM A FACT RATHER THAN CARRY IT ALONE, AND A PICTURE SUPPORTS THIS ONE. The Favorites screenshot, captioned "The Favorites tab for Iridium Keyboard" (manual p. 174), labels each filled slot with a MIDI number, from 0001 [MIDI 1] to 0007 [MIDI 19]; the number follows the slot's place in the Set rather than the patch in it. No text says it is program change, but a slot numbered for MIDI is what the FAQ describes. The FAQ entry itself is shared by the family: waldorf/iridium_mk2 and waldorf/iridium_core find it on their own FAQ pages under the same author and time stamp, and Favorites screenshots with the same slot labels in their own manuals, and all three record program change as received.
No preset count is recorded, because nothing says how far program change reaches. The "Favorites" hold "20 sound programs per Set" (manual p. 173) over "up to six Sets, which means faster access to 120 sound programs with just two taps" (manual p. 173), and no document says whether program change reaches one Set or all six.
A SENTENCE THAT IS WRONG IN TWO WAYS, AND IS NOT ABOUT WHAT IT FIRST LOOKS LIKE. The split range is given as "The lowest setting is 0 (note C-2); the highest is 60 (note C8)" (manual p. 171), and it contradicts the same manual: "Split points are interpreted from untransposed keybed setting, i.e. the middle C3 is note number 60" (manual p. 200). In that convention 60 is C3, so the number and the note name cannot both be right - and C8 is 120 rather than 127, so even reading the note name as the true half does not give a full span. The MK2's manual, three months newer, prints it differently again: "The lowest setting is note C-2; the highest is note G8" (mk2_manual p. 164), dropping the numbers and raising the top. The Core's manual, checked and not kept here, still prints the uncorrected one.
It is also a parameter's limits rather than the engine's range - the bounds of where a split point may be put - so nothing in it says what notes this instrument plays, and no note_range is recorded. It is written down because a reader meeting that sentence deserves to know it is unreliable, not because anything here rests on it.
WHAT THE INSTRUMENT IS SAID TO SEND, WHICH IS WHY THE FIFTEEN BELOW ARE RECEIVED ONLY. "All Panel parameter dials and pots are capable of sending MIDI Controller data via USB and MIDI Out" (manual p. 29) - the panel, with the numbers a player has mapped to it. A Macro button can fire one on demand: "Sned MIDI CC Sends a definable MIDI controller (from 0 to 127) with a definable value (from 0 to127)" (manual p. 194), the maker's own "Sned" and missing space. And the panic gesture sends one message by name: "Push the Semitone / Octave dials for Oscillator 1 and 2 simultaneously to send an All Notes Off message" (manual p. 24). None of those is the wheel, the pedals or the breath controller, which is why none of the fifteen is recorded as transmitted.
TWO SCREENSHOTS IN THIS MANUAL SHOW CONTROLLER NUMBERS, AND NEITHER IS WHERE A CONTROL BELOW COMES FROM. A Modulation Matrix screenshot on printed page 147 shows a slot reading "CC 23", and the Global MIDI Mappings screenshot on printed page 203 shows five rows mapping CC 3 to CC 7 onto named parameters. Both are pictures of a user-editable page with nothing beside them saying what they are, and the Mappings page is the MIDI Learn store itself - so they illustrate the feature rather than publish a factory map. CC 3 to CC 7 are not among the modulation sources the table names, which is the second reason for leaving them out. CC 23 is: it is one of the ten the table gives as CC 22 to CC 31, a control below on the table's word, and the picture shows that source in use. Until 2026-10-12 this said it was not. They are mentioned here because they are invisible to text extraction, being raster images, and the next person to search this manual will not find them.
ONE CONTROLLER NUMBER IS THE MK2'S AND IS NOT HERE. "Hint: Master Volume reacts on MIDI CC #7" (mk2_manual p. 162). CC 7 appears in this instrument's 246 pages only as a row of that Mappings screenshot on printed page 203, which says what a player chose and not what the instrument does, so it is either something the MK2 added or something Waldorf wrote down only once. A number stated for one product is not a number for another, however alike they are - the call the Peak's addendum got for the four figures that were the Summit's. This corpus allows one exception, where an instrument's own document says it shares the other's engine, and novation/summit is the case.
NOT RECORDED, EACH FOR A STATED REASON. No MIDI channel range. A channel is chosen per Layer - "Layer 1/2 Input Channel: tap on the corresponding button to open a pop-up menu. Here you can select the desired MIDI channel on which Layer 1 and Layer 2 reacts" (manual p. 200) - and the manual never says which channels are on offer, so the obvious 1 to 16 would be an assumption rather than a reading. No mode, because there is no implementation chart. No system exclusive, because the only mention is the glossary's definition of the term. No transport, because start, stop, continue and song position are named nowhere. And no preset count, as above.