Chapter 15 - MIDI¶
MIDI is how UNA talks to everything else - the keyboard you play into it, the synths it drives, the DAW that syncs to it, the outboard effects it modulates. This chapter is the reference for that plumbing: the physical connectors, the routing settings, and the patterns for common rig scenarios.
Chapter 17 documents the individual Global settings; this chapter shows you how they impact UNA's MIDI behaviour. If you're wondering "why isn't my synth playing," this chapter's Common Rigs section is likely where you'll find the answer.
The physical layer¶
UNA has three MIDI inputs and four MIDI outputs. Two of the ports - USB-C and USB Host Type-A - are bi-directional, so they show up in both lists.
Inputs¶
- USB-C - connects UNA to a computer. UNA appears as a class-compliant USB MIDI device. Any DAW or MIDI software will see it without drivers.
- USB Host Type-A - the rectangular USB-A jack on the rear. Plug a USB MIDI controller into this port (a keyboard, a pad controller, an expression pedal with USB) and its notes reach UNA directly, no computer required.
- MIDI In (TRS Type-A) - a 3.5 mm TRS jack. For 5-pin DIN gear, use the TRS→DIN cable included. For gear that already uses TRS Type-A, plug in a straight TRS cable.
All three input paths are active at once. UNA merges them into a single stream and applies the Input Channel filter to what comes in.
A word about the USB Host port and power. UNA supplies bus power to whatever you plug into the USB Host jack. A compact controller is fine. A large, hungry, or bus-powered device - anything with lots of LEDs, screens or motorised faders - can draw more than UNA can comfortably give, and the symptom is UNA browning out, resetting, or the controller failing to start up. If a controller misbehaves on the Host port, power it from its own supply (or a powered USB hub) and it will behave. See Chapter 19 if you're chasing an issue.
Outputs¶
- MIDI Out A (TRS Type-A) - 3.5 mm TRS jack for outgoing MIDI. Cable supplied for DIN.
- MIDI Out B (TRS Type-A) - a second independent output.
- USB-C - the same USB-C port that acts as an input also sends UNA's output back to the computer.
- USB Host Type-A - the same USB Host port that accepts controller input also sends MIDI out to whatever is plugged in. Useful for controllers that expect return traffic - LED feedback, screen updates, motorised faders driven from UNA.
TRS Outputs A and B are independently routable - the same track can go out of both, or you can split Melody to A and Bass to B, or send only one track to each. Configured in the Menu (Chapter 17); explained below.
A note about TRS Type-A¶
MIDI over 3.5 mm jacks has two competing wiring standards, Type-A and Type-B. They differ only in which way round the two MIDI signal wires sit on the ring and tip.
UNA uses Type-A, the wiring the MIDI Association adopted as the official standard. Two TRS→DIN cables are included for connecting 5-pin DIN gear.
If your gear uses Type-B (some manufacturers standardised on it before the spec settled) a plain TRS cable will not work between it and UNA. You need a Type-A-to-Type-B crossover cable. If you're unsure which your device uses, its manual will say.
Input¶
UNA's input side is governed by four Global settings, all in Menu > MIDI (Chapter 17).
MIDI Input Channel¶
Which channel UNA listens to for note-on/note-off messages, to set the global chord or capture input, from your external keyboard.
| Value | Meaning |
|---|---|
| OFF | Ignore all MIDI input. UNA doesn't accept keyboard input. |
| 1–16 | Accept notes only on the selected channel. |
| OMNI | Accept notes on any channel. |
Setting to a specific channel is the safest choice, to prevent UNA from building chords from multiple connected input devices.
CC Input Channel¶
The channel gate for UNA's remote-control CC map. See below for the full map: Controller CCs - the hidden remote surface.
This setting does not cover:
- Any MIDI CC acting as a Modulator's source. Each Modulator carries its own channel and CC number, set via LEARN or the Assign screen (Chapter 12).
- The sustain pedal (CC 64). Enabled globally via the Sustain Pedal setting and read on the same channel as your notes.
| Value | Meaning |
|---|---|
| OFF | No remote-control CCs are consumed. Default - opt in only when you want a controller driving panel actions. |
| 1–16 | Accept remote-control CCs only on the selected channel. |
| OMNI | Accept remote-control CCs on any channel. |
CC Input Toggle¶
Tells UNA what kind of button your controller sends on the remote-control CCs, so a press does exactly one thing.
Every remote action is edge-detected - it fires only when a CC crosses the on/off threshold (value 64), so a repeated value or a swept knob/fader fires once instead of dozens of times.
There are two standard button styles, and they need opposite handling:
| Value | Meaning |
|---|---|
| MOMENTARY | Default. The button sends 127 when pressed and 0 when released (like a piano key or drum pad). Toggles flip once per press; the release is ignored. |
| LATCHING | The button sends 127 on the first press and 0 on the next (it stays down until pressed again - many footswitches and DAW "toggle" buttons). Toggles follow the button's position, so UNA stays in sync with it. |
Under LATCHING the toggle follows the button's position: down (127) switches the action on, up (0) switches it off, so UNA stays in step with a latched controller and its indicator light. A high value always means the addressed target is active - Solo Melody down solos Melody, and the Mute CCs act as track on/off switches (down leaves the track playing, up mutes it), matching Solo so that high always means the track is heard.
-
If a toggle only reacts to every other press, switch to LATCHING.
-
If a toggle only stays active while you hold the button, switch to MOMENTARY.
-
One-shot actions (Panic, patch/bank step, tempo nudge) fire once per press in either style.
- Modulator MIDI CC sources always track the knob's value directly (0-127).
MIDI Input Thru¶
Determines if the notes you play into UNA also pass straight through to the outputs, so your synth hears them as you play.
There are three modes:
| Value | Meaning |
|---|---|
| OFF | UNA captures your playing silently. Your synth hears only UNA's sequenced output. |
| When Listen Off | UNA passes your notes through only when Listen is off - so you hear yourself soloing over UNA, but the chords you set or capture don't pass through while you're setting them. |
| Always On | UNA always echoes your playing. Simplest wiring for a single-cable rig where UNA is the only path to your synth. |
The When Listen Off option is the "smart mode" for playing along with UNA. You can play the keys and hear yourself as a soloist over the underlying sequence.
Output¶
Output routing is a two-tier system:
- Master Port Routing - decides which physical ports can emit
- TRS Port Track Assignment - decides which tracks go through each enabled TRS port.
Combined, you have granular control over which track goes where.
Enabling and Disabling MIDI Ports¶
MIDI Output Port Routing (Menu > MIDI item 4) is the top-level switch.
It gates which physical outputs are live.
| Value | Ports enabled |
|---|---|
| All | TRS A, TRS B, USB-C, USB Host (default) |
| TRS + USB | TRS A, TRS B, USB-C |
| TRS + HOST | TRS A, TRS B, USB Host |
| HOST + USB | USB-C, USB Host |
| TRS ONLY | TRS A, TRS B |
| USB ONLY | USB-C |
| HOST ONLY | USB Host |
The USB Host output routes MIDI back to a controller - useful if the controller has a display or LEDs that requires feedback from UNA. Not needed for most rigs.
Set to All if you're not sure.
TRS Port Track Assignment¶
Each TRS output has its own routing setting, to determine which tracks (Melody, Chord, Bass) emit through that port.
TRS OUT A Routing and TRS OUT B Routing (Menu > MIDI items 5 and 6) share the same seven-option list:
| Value | Tracks routed |
|---|---|
| ALL | Melody + Chord + Bass (default) |
| Chord & Melody | (no Bass) |
| Chord & Bass | (no Melody) |
| Melody & Bass | (no Chord) |
| Chord only | |
| Melody only | |
| Bass only |
This is where a "split rig" pattern comes together - set OUT A to "Chord & Melody" going to your poly synth, and OUT B to "Bass only" going to your bass synth. Each synth gets exactly what it should play.
It's useful to split outputs where you don't wish to daisy chain MIDI cables. It can also help reduce MIDI message latency; although this is rarely a concern.
Per-track MIDI channels¶
Each track has its own MIDI output channel, set as a track parameter (Chapters 8, 9, 11). The Channel parameter accepts values 1–16.
By default the channels are stored per patch. Menu > CONFIG > Track Channels (Chapter 17) can make them device-wide instead - one shared set of three channels used by every patch, handy for a fixed studio routing.
For a note to reach a synth, three things need to align:
- The master port enable (previous section) has to include the physical port.
- That port's per-port routing has to include the track.
- The synth has to be listening on the track's channel.
If any one of those is misaligned, you'll get silence. The Common Rigs section below shows a couple of worked examples.
Keyboard Split¶
Keyboard Split (Menu > MIDI item 7) divides your controller into two zones. One zone drives UNA's chord input (the notes UNA uses to capture or select chords); the other zone stays free for solo playing over the top.

How the value encodes the split¶
| Value | Behaviour |
|---|---|
| OFF | All notes go to chord input. |
| 1–85 | Lower split. Notes below the split point drive chord input; notes above are free for solo. The value encodes the split point as an offset. |
| 86–170 | Upper split. Notes above the split point drive chord input; notes below are free for solo. |
The "play a note to set it" shortcut¶
While Keyboard Split is the currently displayed Menu item, playing a MIDI note snaps the split point to that note. Play the highest note you want the left hand to reach, and UNA sets the split there.
This is much faster than rotating the CONTROL Knob to hunt for the right note number.
Note range¶
UNA's MIDI input note range is C0 (12) to B6 (95) - a wide range that covers most keybeds.
Notes outside that range are clamped to the boundary. If you play higher than B6 on your controller, UNA reads it as B6.
Chord-tracking works across the full range, but chords that voice into notes above B6 will fold their upper notes down. If a chord ends up sounding lower than you expect, check that its natural voicing isn't hitting the ceiling.
UNA outputs notes in the full 0-127 MIDI pitch range. (C-1 to G9)
MIDI Loop Protection¶
MIDI Loop Protection (Menu > MIDI item 12) controls whether UNA echoes incoming MIDI TRS IN port back out on the TRS OUT ports.
It applies to the TRS port only - the USB and USB Host ports are always protected and are not affected by this setting.
-
On (default): MIDI arriving at the TRS input is not re-transmitted from the TRS output. UNA still passes that input through to the other ports if thru and routing allow it - it simply won't send it straight back out the same TRS socket. This is the safe choice for any rig where the TRS out could find its way back to the TRS in, which would otherwise build a feedback loop.
-
Off: MIDI arriving at the TRS input is also re-transmitted from the TRS output, letting UNA act as a straight MIDI thru/merge box on the TRS port - e.g. a keyboard into UNA's TRS IN passed on to a synth on UNA's TRS OUT. Only turn this off when your TRS out goes to a different downstream device and never loops back to UNA's input.
The setting gates all thru traffic on the TRS port - notes, CCs, Program Change and clock/transport alike - not just notes.
MIDI Learn¶
UNA can learn an incoming CC - a mod wheel, aftertouch, a slider - and bind it to a parameter without you knowing the CC number in advance.
Learn belongs to the Modulation system rather than to MIDI setup, so it's documented with the rest of it: see Chapter 12 - Modulate, under Choosing a source → MIDI CC.
The one thing worth knowing here: UNA does not respond to CC messages for direct parameter control. A CC reaches a parameter only by way of a Modulator.
Controller CCs - the hidden remote surface¶
UNA responds to a fixed set of CC numbers on the CC Input Channel as remote controls for the hardware itself.
This lets you drive UNA's mixer, performance settings, Track, Mod, and Patch controls from a MIDI controller. Useful for pre-programmed automation, a foot controller that toggles Listen while you're playing, or a DAW that switches patches between song sections.
The CC numbers used here sit in the parts of the MIDI CC space that manufacturers rarely touch, so a normal controller's mod wheel, volume, pan or pedals never collide with these actions.
Every action is edge-detected - it fires only when the CC crosses the on/off threshold (value 64), so repeats and swept knobs/faders never re-fire.
Whether the release (value < 64) also counts as a press depends on the CC Input Toggle setting (see Input, above):
- Momentary ignores it (one press = one action)
- Latching treats it as the button's "off" press so toggles follow the button's position.
| CC | Action |
|---|---|
| 85 | Patch Prev |
| 86 | Patch Next |
| 87 | Bank Prev |
| 88 | Bank Next |
| 89 | Mod Select (value scales to a modulator index) |
| 90 | Mod Toggle (arm / disarm the selected modulator) |
| 102 | Select Chord Track |
| 103 | Select Melody Track |
| 104 | Select Bass Track |
| 105 | Mute Chord |
| 106 | Mute Melody |
| 107 | Mute Bass |
| 108 | Solo Chord |
| 109 | Solo Melody |
| 110 | Solo Bass |
| 111 | Toggle Listen |
| 112 | Toggle Live Play |
| 113 | Toggle Metronome |
| 114 | Toggle Chord Chain |
| 115 | Toggle Patch Chain |
| 116 | Cycle MIDI Thru (Off ↔ Always On) |
| 117 | Tempo Down (nudge by 1 BPM) |
| 118 | Tempo Up (nudge by 1 BPM) |
| 119 | (reserved for future use) |
| 123 | Panic (All Notes Off + Stop) |
What's not on this map, and why.
- Play / Stop / Continue are driven by native MIDI transport messages, not CCs.
- Direct patch select is driven by Program Change.
- Continuous parameter values (pitch, velocity, etc.) are reached via the CC-as-modulation-source path.
- Assign a Modulator with a MIDI CC source and point it at the parameter (Chapter 12).
Most users won't use these mapping - but it's there for when you want to control something externally.
SysEx¶
UNA does not support sysex messaging for any user facing features.
Interaction with Midicake CONNECT is via WebSerial and WebUSB protocols.
Common Rigs¶
Four worked patterns that cover the vast majority of MIDI setups.
Rig 1 - Solo synth over MIDI Out A¶
You have one keyboard synth. UNA feeds it. Simplest setup.
- UNA's MIDI Out A → keyboard's MIDI In.
- Menu > MIDI > MIDI Output Port Routing = All.
- Menu > MIDI > TRS OUT A Routing = All (all three tracks reach the synth).
- All three tracks' Channel parameters set to 1 (the synth listens on channel 1).
- Menu > MIDI > MIDI Input Thru = When Listen Off (so you can solo over the top).
Play into UNA on channel 1; UNA plays out to the synth on channel 1. Done.
Rig 2 - Split poly/bass synth pair¶
You have a poly synth and a bass synth. UNA drives both.
- UNA → MIDI Out A → poly synth.
- UNA → MIDI Out B → bass synth.
- Menu > MIDI > TRS OUT A Routing = Chord & Melody.
- Menu > MIDI > TRS OUT B Routing = Bass only.
- Melody and Chord track channels set to whatever the poly synth listens on (say, 1).
- Bass track channel set to whatever the bass synth listens on (say, 2).
Now the poly synth gets your chords and melody, and the bass synth gets your bass line. Each responsible for its own voice.
Rig 3 - UNA in a DAW-driven rig¶
Your DAW is the master. UNA plays a role in the song.
- DAW → UNA (USB-C). UNA is a USB MIDI device.
- Menu > MIDI > MIDI Clock = IN and MIDI Transport = IN (Chapter 17).
- Menu > MIDI > MIDI Input Channel = the channel your DAW sends UNA on.
- UNA's tempo will follow the DAW's clock (Chapter 16).
- UNA's outputs can go to hardware synths via TRS OUT A / B as usual, or back to the DAW via USB-C to be recorded.
Rig 4 - Live rig with a controller¶
You're on stage. You want a controller you can slide expression into UNA.
- Controller → UNA (USB Host Type-A).
- Menu > MIDI > MIDI Input Channel = OMNI (accept anything).
- Configure a Modulator with MIDI CC source (Chapter 12); LEARN your mod wheel to it; point it at whatever parameter you want to sweep. The Modulator captures the channel and CC number during LEARN - no global setting needed.
Now your live playing drives UNA's sequenced parts, and your mod wheel reshapes UNA's output on the fly.
Cross-references¶
- Chapter 5 - the Modulate / Listen / Play mental model that underlies most MIDI decisions.
- Chapter 12 - Modulators, especially MIDI CC as source and MIDI CC as target output.
- Chapter 14 - Midicake Connect for patch backup and firmware updates.
- Chapter 16 - Sync & Clock in depth.
- Chapter 17 - every MIDI Global setting, item by item.
- Chapter 21 - MIDI Implementation Chart (standard reference table).