Mutable Instruments Shruthi YAM MIDI CC chart, NRPN and OSC map¶
The Mutable Instruments Shruthi YAM MIDI implementation: 2 CC, 82 NRPN, each named, for Claude (MCP), SuperCollider or any OSC app.
| Device | Mutable Instruments Shruthi YAM |
|---|---|
| Vendor | Mutable Instruments |
| OSC prefix | /shruthi_yam |
| Source | ποΈ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/mutable-instruments/shruthi_yam.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/mutable-instruments/shruthi_yam.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 shruthi_yam: ask βwhat can the Mutable Instruments Shruthi YAM do?β and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (84)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/shruthi_yam/osc_1_shape |
0 / 0 | 0β127 | continuous | ||
/shruthi_yam/osc_1_param |
0 / 1 | 0β127 | continuous | ||
/shruthi_yam/osc_2_shape |
0 / 4 | 0β127 | continuous | ||
/shruthi_yam/osc_2_param |
0 / 5 | 0β127 | continuous | ||
/shruthi_yam/sub_osc_vol |
0 / 9 | 0β63 | continuous | ||
/shruthi_yam/op_amount |
0 / 8 | 0β63 | continuous | ||
/shruthi_yam/osc_1_range |
0 / 2 | -24β24 | continuous | ||
/shruthi_yam/sub_osc_shape |
0 / 11 | 0β127 | continuous | ||
/shruthi_yam/osc_2_range |
0 / 6 | -24β24 | continuous | ||
/shruthi_yam/osc_2_detune |
0 / 7 | 0β127 | continuous | ||
/shruthi_yam/noise_vol |
0 / 10 | 0β63 | continuous | ||
/shruthi_yam/mix_operator |
0 / 3 | 0β127 | continuous | ||
/shruthi_yam/filter_cutoff |
0 / 12 | 0β127 | continuous | ||
/shruthi_yam/filter_res |
0 / 13 | 0β63 | continuous | ||
/shruthi_yam/env_1_attack |
0 / 16 | 0β127 | continuous | ||
/shruthi_yam/env_1_decay |
0 / 17 | 0β127 | continuous | ||
/shruthi_yam/env_2_attack |
0 / 20 | 0β127 | continuous | ||
/shruthi_yam/env_2_decay |
0 / 21 | 0β127 | continuous | ||
/shruthi_yam/env_cutoff_mod |
0 / 14 | 0β63 | continuous | ||
/shruthi_yam/lfo_cutoff_mod |
0 / 15 | 0β63 | continuous | ||
/shruthi_yam/env_1_sustain |
0 / 18 | 0β127 | continuous | ||
/shruthi_yam/env_1_release |
0 / 19 | 0β127 | continuous | ||
/shruthi_yam/env_2_sustain |
0 / 22 | 0β127 | continuous | ||
/shruthi_yam/env_2_release |
0 / 23 | 0β127 | continuous | ||
/shruthi_yam/lfo_1_rate |
0 / 25 | 0β143 | continuous | ||
/shruthi_yam/lfo_1_attack |
0 / 26 | 0β127 | continuous | ||
/shruthi_yam/lfo_2_rate |
0 / 29 | 0β143 | continuous | ||
/shruthi_yam/lfo_2_attack |
0 / 30 | 0β127 | continuous | ||
/shruthi_yam/ladder_fm_mod7 |
0 / 52 | 0β63 | continuous | ||
/shruthi_yam/portamento |
84 | 0β63 | continuous | ||
/shruthi_yam/lfo_1_shape |
0 / 24 | 0β127 | continuous | ||
/shruthi_yam/lfo1_sync_mode |
0 / 27 | 0β127 | continuous | ||
/shruthi_yam/lfo_2_shape |
0 / 28 | 0β127 | continuous | ||
/shruthi_yam/lfo2_sync_mode |
0 / 31 | 0β127 | continuous | ||
/shruthi_yam/seq_mode |
0 / 100 | 0β127 | continuous | ||
/shruthi_yam/legato |
68 | 0β1 | switch | ||
/shruthi_yam/m1_source |
0 / 32 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 33 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 34 | -63β63 | continuous | ||
/shruthi_yam/m3_source |
0 / 38 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 39 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 40 | -63β63 | continuous | ||
/shruthi_yam/m2_source |
0 / 35 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 36 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 37 | -63β63 | continuous | ||
/shruthi_yam/m4_source |
0 / 41 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 42 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 43 | -63β63 | continuous | ||
/shruthi_yam/m5_source |
0 / 44 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 45 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 46 | -63β63 | continuous | ||
/shruthi_yam/m7_source |
0 / 50 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 51 | 0β127 | continuous | ||
/shruthi_yam/m6_source |
0 / 47 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 48 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 49 | -63β63 | continuous | ||
/shruthi_yam/m8_source |
0 / 53 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 54 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 55 | -63β63 | continuous | ||
/shruthi_yam/m9_source |
0 / 56 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 57 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 58 | -63β63 | continuous | ||
/shruthi_yam/m11_source |
0 / 62 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 63 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 64 | -63β63 | continuous | ||
/shruthi_yam/m10_source |
0 / 59 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 60 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 61 | -63β63 | continuous | ||
/shruthi_yam/m12_source |
0 / 65 | 0β127 | continuous | ||
/shruthi_yam/destination |
0 / 66 | 0β127 | continuous | ||
/shruthi_yam/multiplier |
0 / 67 | -63β63 | continuous | ||
/shruthi_yam/m1_input_a |
0 / 94 | 0β127 | continuous | ||
/shruthi_yam/input_b |
0 / 95 | 0β127 | continuous | ||
/shruthi_yam/operator |
0 / 96 | 0β127 | continuous | ||
/shruthi_yam/m2_input_a |
0 / 97 | 0β127 | continuous | ||
/shruthi_yam/input_b |
0 / 98 | 0β127 | continuous | ||
/shruthi_yam/operator |
0 / 99 | 0β127 | continuous | ||
/shruthi_yam/seq_bpm |
0 / 101 | 39β240 | continuous | ||
/shruthi_yam/arp_direction |
0 / 104 | 0β127 | continuous | ||
/shruthi_yam/arp_range |
0 / 105 | 0β127 | continuous | ||
/shruthi_yam/seq_groove |
0 / 102 | 0β127 | continuous | ||
/shruthi_yam/groove_amount |
0 / 103 | 0β127 | continuous | ||
/shruthi_yam/arp_pattern |
0 / 106 | 0β15 | discrete | ||
/shruthi_yam/clock_division |
0 / 107 | 0β127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /shruthi_yam/note/on <note> <velocity>, /shruthi_yam/cc/<number> <value>, /shruthi_yam/pitchbend <0-16383>, /shruthi_yam/program_change <n>.
Limitations¶
Imported from an Electra One community preset. The mapping reflects the preset author's editorial choices: parameter naming, ranges, and which params are exposed. Untested on hardware in this repo.
Frequently asked questions¶
How many parameters of the Mutable Instruments Shruthi YAM can be controlled over MIDI?
SynthHub's map of the Mutable Instruments Shruthi YAM lists 2 MIDI CC and 82 NRPN parameters, each with its number, range and a readable name; the full chart is on this page.
Can an AI agent like Claude control the Mutable Instruments Shruthi YAM?
Yes: SynthHub's hosted MCP server knows the Mutable Instruments Shruthi YAM's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.