I created a midi cc map if anyones interested

Hi everyone,

I recently purchased a Faderfox EC4 to control my synths and drum machines from my desk. I know it is not the same as actually playing the instruments, but I have found it brilliant for quick edits, exploring sounds, and jamming ideas.

My setup is running through a Hapax into a MioXL to control the whole circus.

Anyway, myself and my robot friend (ChatGPT) spent a long weekend mapping and testing a lot of the important MIDI CCs for the UDO DMNO and building an EC4 template around them.

I have to say, this has genuinely opened the synth up for me. It has made me explore the DMNO in a completely different way and has really highlighted what a beautiful and powerful instrument it is.

I have created a map of over 80 MIDI controls covering many of the important features:

  • oscillator wave types
  • filter types
  • cutoff/resonance
  • envelopes
  • LFOs
  • arpeggiator controls
  • arp on/off
  • envelope looping
  • FM controls
  • pan
  • glide
  • preset/performance selection

The Faderfox makes some things much quicker than using the front panel. For example, scrolling through all the oscillator wave types and filter types is a great way to explore the instrument. It is also a fantastic learning tool because you can quickly hear the relationships between different sections of the synth.

I couldn’t find a complete MIDI mapping document, so I wondered if anyone would be interested in me sharing it?

I am happy to share:

  • the Faderfox EC4 template
  • the MIDI CC map
  • notes on how I set up the MIDI channels

One thing I have not solved is remote control of some of the higher-level DMNO functions.

For example:

  • Is there a MIDI command for selecting Part 1 or Part 2 remotely?
  • Is there a way to automate the play modes?
  • Can individual patches be selected rather than only performances?

Because the DMNO is effectively two synths in one, the same CC can control the same parameter on both parts, with the MIDI channel selecting which part is affected. My setup uses MIDI channels 5 and 6 for Part 1 and Part 2.

I also had some questions about the EXT input and envelope behaviour. I can create a drone using Part 1, but I could not work out whether it is possible to have Part 1 running as a drone while playing Part 2 over the top. Maybe I am misunderstanding the intended workflow.

Some possible future features I would love to see:

  • MIDI control of play modes
  • remote Part 1/Part 2 selection
  • LFO sync on/off
  • more arp control options
  • free-running arp options
  • deeper MIDI control of effects

I know some of these may already be possible, so if anyone has figured them out I would love to hear how.

The DMNO is an incredible instrument, and this project has made me appreciate it even more. Hopefully this helps other owners explore it too.

This would be great; I don’t have a faderfox but the midi cc map would help me with some other areas

Hi, I might as well post it here rather than send it to you then anyone can add to it if they feel I have missed anything important. A lot of the cc addresses need to be sent to both parts via separate midi channels, ie envelopes, filter cut off, arp settings etc, but some of these are global such as filter types and filter routings. The big thing that eluded me was how to switch between part 1 and part 2 and also how to remotely control play types. If anyone has worked out how please let me know.

I would also like to know how to use the drone I can create with part 1 ext routed into part 2? how can I play over the top of that using part 2? Again, if anyone can enlighten me I would be most grateful. Anyway this is what works for me but of course I am hoping UDO make an upgrade to firmware which of course may change some of these settings. Incidentally, doing this led me to a deeper understanding and appreciation of this synth. Its truly magnificent…

UDO DMNO MIDI CC Map (EC4 Template)

Performance
Function
CC
Glide
CC5
Volume
CC7
Pan
CC10
Filter Resonance
CC71
Filter Cutoff
CC74
Filter Mode
CC118
Routing
CC66
Delta filter
CC115
FX Send
CC112

Oscillators
Function
CC
Osc Wave 1
CC29
Osc Wave 2
CC31
Osc Tune 1
CC30
Osc Tune 2
CC106
Osc Level 1
CC37
Osc Level 2
CC9

(Part 1 and Part 2 use the same CC numbers, separated by MIDI channel.)

Envelopes

Envelope 1
Function
CC
Attack
CC53
Decay
CC54
Sustain
CC55
Release
CC56

Envelope 2
Function
CC
Attack
CC73
Decay
CC57
Sustain
CC58
Release
CC72

Envelope Loop
Function
CC
Envelope Loop On/Off
CC50

Arpeggiator

Rate / Mode / Hold
Function
CC
Arp Mode
CC85
Arp Rate
CC82
Arp Swing
CC83
Arp On/Off
CC86
Arp Hold On/Off
CC87
Arp Rate (performance page)
CC107

Modulation
Function
CC
LFO Shape
CC16
LFO Rate
CC17
FM Amount Part 1
CC46
FM Amount Part 2
CC45

Program / Performance Recall
Function
Message
Performance Recall
MIDI Program Change

Template notes

  • Part 1 and Part 2 use identical CC assignments.
  • MIDI channel separates the two parts.
  • My EC4 template currently uses:
    • Part 1 = MIDI Channel 5

      • • Part 2 = MIDI Channel 6

Please do share! Thank you DannyL !!!

Seems odd to have mostly the same cc s for the two parts but separate CCs for something as random as FM amounts; fm for osc A or B would be more likely, maybe? Also, what Fm amount is it, from the envelope, lfo or cross mod?

On my unit the FM XMod seems to be CC28

The LFO FM is CC21

  • ch1 for synth 1, ch2 for synth 2 -

Hi, sorry just saw all this, this is what I have currently…UDO Domino — MIDI CC Map

Engine 1 = MIDI Ch X, Engine 2 = MIDI Ch Y. I chose 5/6 to fit into my midi studio so obviously yours will be on your own midi channels…

Global (fires both channels simultaneously)

Parameter CC/NRPN
Filter Routing (Stereo/Parallel/Series) CC66
Filter Mode CC118
Resonance Type NRPN 80/83
Glide/Portamento CC5
LFO2 Rate CC62
LFO2 → Rate Mod depth CC110
LFO2 → Pitch depth CC70
LFO2 → VCF depth CC75
LFO2 On/Off CC60
Arp On/Off CC86
Arp Hold CC87
Clock CC3
Mod Wheel (Bender vertical) CC1
Pitch Bend (Bender horizontal) real Pitch Bend, both channels

Filter (per-engine, CC on Ch5/Ch6)

Parameter CC
Cutoff CC74
Resonance CC71
Delta-Cutoff (bipolar) CC115
Keytrack CC43

Oscillators

Parameter CC
Osc1 Coarse CC30
Osc1 Fine CC8
Osc2 Coarse CC106
Osc2 Fine CC35
Osc1 Wave (12-step) CC29
Osc2 Wave (12-step) CC31
DDS Sync (Off/2→1/1→2 = 0/43/85) CC36
Osc1 Level CC37
Osc2 Level CC9
Ext1/Ext2 Level CC15
Pan (bipolar, center 64) CC10

Mixer / Voice

Parameter CC
Engine Volume CC7
FX Send CC112
VCA Source switch (Env2=0/Env3=43/Ext drone=85) CC49

Filter Envelope (Env1)

Parameter CC
Hold CC52
Attack CC53
Decay CC54
Sustain CC55
Release CC56
Loop toggle CC50

Amp Envelope (Env2)

Parameter CC
Attack CC73
Decay CC57
Sustain CC58
Release CC72
(no Hold stage) —

Filter Cutoff Mod Amounts (bipolar, push-64)

Parameter CC
Env1 → Filter CC45
LFO1 → Filter CC46
Osc2 → Filter CC47

Oscillator Mods (source/target switch is hardware-only; amounts below apply once selected)

Parameter CC
Osc1 Wave/PWM — Manual CC14
Osc1 Wave/PWM — Env1 CC39
Osc1 Wave/PWM — LFO1 CC44
Osc2 Wave/PWM — Manual CC24
Osc2 Wave/PWM — Env1 CC68
Osc2 Wave/PWM — LFO1 CC88
Osc1 Detune CC25
Osc2 Detune CC95
Osc1 Pitch Mod — Env1 CC22
Osc1 Pitch Mod — LFO1 CC28
Osc1 Pitch Mod — Cross CC28
Osc2 Pitch Mod — Env1 CC27
Osc2 Pitch Mod — LFO1 CC23
Osc2 Pitch Mod — Cross (Xmod) CC103

LFO1

Parameter CC
Rate CC17
Shape (12-step) CC16
Mode CC20
Delay/Phase CC18

Arpeggiator (per-engine)

Parameter CC
Mode CC85
Range CC82
Division CC107
Swing CC83
On/Off (global) CC86
Hold (global) CC87

Effects (per-engine)

Parameter NRPN
Drive NRPN 9/5
Tone NRPN 9/4

Thanks for posting this Danny — good to see a second map, and it lines up closely with what I’ve found here.

Two of your open questions I think I may be able to answer from my own testing - hope it helps:

Play modes — CC#117 selects the play mode. Sweeping it steps through the modes, so it is automatable.

Voice width / unison — CC#102. Nothing appears on the display but the voicing audibly widens.

On Part 1/Part 2 selection: I haven’t found anything either. The front panel layer selector only changes what the display shows, not which channel each part listens on — both parts are always listening on their own channel regardless of the selector position. So there may be nothing to switch remotely, if that’s how it’s meant to work.

One thing worth flagging for anyone testing CCs: unmapped CCs don’t clear the DMNO’s display, they leave whatever page was last shown. I chased a few phantom mappings before working that out. Sending a known unrelated CC first to move the display, then testing your candidate, makes it obvious whether something actually happened.

The NRPN addresses you found are the most useful thing in this thread for me — I hadn’t looked at that space at all. Will report back if I turn up any more.