IK Multimedia UNO Synth PRO X: MIDI CC, NRPN and OSC map¶
The IK Multimedia UNO Synth PRO X as named OSC addresses — 104 CC — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.
| Device | IK Multimedia UNO Synth PRO X |
|---|---|
| Vendor | IK Multimedia |
| OSC prefix | /uno_synth_pro_x |
| Source | 📦 Derived from MIDI Guide (community CC/NRPN data) |
| Firmware | unknown |
| Revision | per pencilresearch canonical CSV |
| Upstream | pencilresearch |
| Data licence | CC-BY-SA-4.0 — MIDI Guide (https://midi.guide) by Pencil Research and contributors |
| Driver file | devices/ik-multimedia/uno_synth_pro_x.json |
Not tested on the device yet
This driver comes from documentation or community data and has not been checked on real hardware. If you own one, a quick test and a pull request promoting it helps everyone — see CONTRIBUTING.
How do you control it?¶
Find the MIDI ports, then start the bridge with this driver:
osc-bridge detect # prints the ready-to-run line for what is plugged in
osc-bridge run --device devices/ik-multimedia/uno_synth_pro_x.json --out-port <N> --in-port <M>
Then send OSC to 127.0.0.1:7777, for example:
From Claude or any MCP client, the osc-bridge mcp server exposes this driver as uno_synth_pro_x: ask “what can the IK Multimedia UNO Synth PRO X do?” and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (104)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/uno_synth_pro_x/glide_type |
3 | 0–127 | continuous | ||
/uno_synth_pro_x/glide_time |
5 | 0–127 | continuous | ||
/uno_synth_pro_x/vca_level |
7 | 0–127 | continuous | ||
/uno_synth_pro_x/swing_amount |
9 | 0–127 | continuous | ||
/uno_synth_pro_x/osc1_wave |
12 | 0–127 | continuous | ||
/uno_synth_pro_x/osc2_wave |
13 | 0–127 | continuous | ||
/uno_synth_pro_x/osc3_wave |
14 | 0–127 | continuous | ||
/uno_synth_pro_x/osc1_tune |
15 | 0–127 | continuous | ||
/uno_synth_pro_x/osc2_tune |
16 | 0–127 | continuous | ||
/uno_synth_pro_x/osc3_tune |
17 | 0–127 | continuous | ||
/uno_synth_pro_x/osc1_level |
18 | 0–127 | continuous | ||
/uno_synth_pro_x/osc2_level |
19 | 0–127 | continuous | ||
/uno_synth_pro_x/osc3_level |
20 | 0–127 | continuous | ||
/uno_synth_pro_x/noise_level |
21 | 0–127 | continuous | ||
/uno_synth_pro_x/osc2_sync |
22 | 0–127 | continuous | ||
/uno_synth_pro_x/osc3_sync |
23 | 0–127 | continuous | ||
/uno_synth_pro_x/osc_ring |
24 | 0–127 | continuous | ||
/uno_synth_pro_x/osc2_fm |
25 | 0–127 | continuous | ||
/uno_synth_pro_x/osc3_fm |
26 | 0–127 | continuous | ||
/uno_synth_pro_x/flt_srs_prl |
27 | 0–127 | continuous | ||
/uno_synth_pro_x/flt1_cutoff |
28 | 0–127 | continuous | ||
/uno_synth_pro_x/flt1_res |
29 | 0–127 | continuous | ||
/uno_synth_pro_x/flt1_mode |
30 | 0–127 | continuous | ||
/uno_synth_pro_x/flt1_env_amt |
31 | 0–127 | continuous | ||
/uno_synth_pro_x/flt1_keytrk_amt |
32 | 0–127 | continuous | ||
/uno_synth_pro_x/flt1_phase0180 |
34 | 0–127 | continuous | ||
/uno_synth_pro_x/flt2_cutoff |
35 | 0–127 | continuous | ||
/uno_synth_pro_x/flt2_res |
36 | 0–127 | continuous | ||
/uno_synth_pro_x/flt2_mode |
37 | 0–127 | continuous | ||
/uno_synth_pro_x/flt2_env_amt |
38 | 0–127 | continuous | ||
/uno_synth_pro_x/flt2_keytrk_amt |
39 | 0–127 | continuous | ||
/uno_synth_pro_x/vca_amt |
40 | 0–127 | continuous | ||
/uno_synth_pro_x/flt_link |
41 | 0–127 | continuous | ||
/uno_synth_pro_x/env3_loop |
42 | 0–127 | continuous | ||
/uno_synth_pro_x/env3_retrig |
43 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo1_wave |
44 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo1_rate |
45 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo1_fade |
46 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo1_sync |
47 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo2_wave |
48 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo2_rate |
49 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo2_fade |
50 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo2_sync |
51 | 0–127 | continuous | ||
/uno_synth_pro_x/fltenv_attack |
53 | 0–127 | continuous | ||
/uno_synth_pro_x/fltenv_decay |
54 | 0–127 | continuous | ||
/uno_synth_pro_x/fltenv_sustain |
55 | 0–127 | continuous | ||
/uno_synth_pro_x/fltenv_release |
56 | 0–127 | continuous | ||
/uno_synth_pro_x/fltenv_loop |
57 | 0–127 | continuous | ||
/uno_synth_pro_x/fltenv_retrig |
58 | 0–127 | continuous | ||
/uno_synth_pro_x/ampenv_attack |
59 | 0–127 | continuous | ||
/uno_synth_pro_x/ampenv_decay |
60 | 0–127 | continuous | ||
/uno_synth_pro_x/ampenv_sustain |
61 | 0–127 | continuous | ||
/uno_synth_pro_x/ampenv_release |
62 | 0–127 | continuous | ||
/uno_synth_pro_x/ampenv_loop |
63 | 0–127 | continuous | ||
/uno_synth_pro_x/hold_btn |
64 | 0–127 | continuous | ||
/uno_synth_pro_x/portamento |
65 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix1_amt |
66 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix2_amt |
67 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix3_amt |
68 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix4_amt |
69 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix5_amt |
70 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix6_amt |
71 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix7_amt |
72 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix8_amt |
73 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix9_amt |
74 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix10_amt |
75 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix11_amt |
76 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix12_amt |
77 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix13_amt |
78 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix14_amt |
79 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix15_amt |
80 | 0–127 | continuous | ||
/uno_synth_pro_x/matrix16_amt |
81 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo1_retrig |
83 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo1_fade_curve |
84 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo2_retrig |
85 | 0–127 | continuous | ||
/uno_synth_pro_x/lfo2_fade_curve |
86 | 0–127 | continuous | ||
/uno_synth_pro_x/ampenv_retrig |
87 | 0–127 | continuous | ||
/uno_synth_pro_x/extin_routing |
89 | 0–127 | continuous | ||
/uno_synth_pro_x/drive_amount |
90 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_amount |
91 | 0–127 | continuous | ||
/uno_synth_pro_x/delay_amount |
92 | 0–127 | continuous | ||
/uno_synth_pro_x/mod_amount |
93 | 0–127 | continuous | ||
/uno_synth_pro_x/mod_type |
95 | 0–127 | continuous | ||
/uno_synth_pro_x/mod_intensity |
96 | 0–127 | continuous | ||
/uno_synth_pro_x/mod_rate |
97 | 0–127 | continuous | ||
/uno_synth_pro_x/chorus_mode |
98 | 0–127 | continuous | ||
/uno_synth_pro_x/delay_type |
100 | 0–127 | continuous | ||
/uno_synth_pro_x/delay_sync |
101 | 0–127 | continuous | ||
/uno_synth_pro_x/delay_time_l |
102 | 0–127 | continuous | ||
/uno_synth_pro_x/delay_time_r |
103 | 0–127 | continuous | ||
/uno_synth_pro_x/delay_feedback |
104 | 0–127 | continuous | ||
/uno_synth_pro_x/delay_filter |
105 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_type |
107 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_predelay |
108 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_time |
109 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_time_low |
110 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_time_mid |
111 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_time_hi |
112 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_size |
113 | 0–127 | continuous | ||
/uno_synth_pro_x/reverb_filter |
114 | 0–127 | continuous | ||
/uno_synth_pro_x/env3_attack |
115 | 0–127 | continuous | ||
/uno_synth_pro_x/env3_decay |
116 | 0–127 | continuous | ||
/uno_synth_pro_x/env3_sustain |
117 | 0–127 | continuous | ||
/uno_synth_pro_x/env3_release |
118 | 0–127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /uno_synth_pro_x/note/on <note> <velocity>, /uno_synth_pro_x/cc/<number> <value>, /uno_synth_pro_x/pitchbend <0-16383>, /uno_synth_pro_x/program_change <n>.
Limitations¶
CC/NRPN only. SysEx (preset management, display control, bulk dump/load, vendor-proprietary opcodes) is NOT covered by pencilresearch. To extend this device with SysEx, sniff the vendor editor, add `sysex.header/footer` + `commands` blocks, and use `update_device.md` PR template.