Skip to content

Yamaha AN1x: MIDI CC, NRPN and OSC map

The Yamaha AN1x as named OSC addresses — 74 CC, 1 SysEx commands — ready to use from Claude (MCP), SuperCollider, Sonic Pi, TouchDesigner or any OSC app via osc-bridge.

Device Yamaha AN1x
Vendor Yamaha
OSC prefix /an1x
Source 🎛️ Derived from an Electra One community preset
Revision per pencilresearch canonical CSV
Upstream electra-preset
Driver file devices/yamaha/an1x.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/yamaha/an1x.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /an1x/general/main_volume 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as an1x: ask “what can the Yamaha AN1x do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (74)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/an1x/general/main_volume 7 0–127 continuous General
/an1x/general/pan_position 10 0–127 continuous General
/an1x/general/scene_select 3 0–127 continuous General
/an1x/general/layer_mode 8 0–127 continuous General
/an1x/general/poly_mono_mode 9 0–127 continuous General
/an1x/general/portamento_switch 65 0–127 continuous General
/an1x/general/portamento_mode 85 0–127 continuous General
/an1x/general/portamento_time 5 0–127 continuous General
/an1x/general/sustain_switch 64 0–127 continuous General
/an1x/general/mod_wheel 1 0–127 continuous General
/an1x/general/expression 11 0–127 continuous General
/an1x/general/foot_controller 4 0–127 continuous General
/an1x/general/ribbon_z_controller 12 0–127 continuous General
/an1x/general/ribbon_x_controller 13 0–127 continuous General
/an1x/general/arpeggio_step_seq_switch 90 0–127 continuous General
/an1x/oscillators/vco_1_wave_type 50 0–127 continuous Oscillators
/an1x/oscillators/vco_1_pitch_coarse_tune 21 0–127 continuous Oscillators
/an1x/oscillators/vco_1_pitch_fine_tune 77 0–127 continuous Oscillators
/an1x/oscillators/vco_1_pitch_mod_depth 18 0–127 continuous Oscillators
/an1x/oscillators/vco_1_edge 76 0–127 continuous Oscillators
/an1x/oscillators/vco_1_pulse_width 78 0–127 continuous Oscillators
/an1x/oscillators/vco_1_pwm_source 86 0–127 continuous Oscillators
/an1x/oscillators/vco_1_pwm_depth 79 0–127 continuous Oscillators
/an1x/oscillators/vco_sync_algorithm 33 0–127 continuous Oscillators
/an1x/oscillators/vco_sync_pitch 22 0–127 continuous Oscillators
/an1x/oscillators/vco_sync_pitch_source 24 0–127 continuous Oscillators
/an1x/oscillators/vco_sync_pitch_depth 23 0–127 continuous Oscillators
/an1x/oscillators/vco_sync_pitch_mod_switch 34 0–127 continuous Oscillators
/an1x/oscillators/fm_depth 35 0–127 continuous Oscillators
/an1x/oscillators/fm_source_1 36 0–127 continuous Oscillators
/an1x/oscillators/fm_source_2 37 0–127 continuous Oscillators
/an1x/oscillators/vco_2_wave_type 51 0–127 continuous Oscillators
/an1x/oscillators/vco_2_pitch_coarse_tune 52 0–127 continuous Oscillators
/an1x/oscillators/vco_2_pitch_fine_tune 53 0–127 continuous Oscillators
/an1x/oscillators/vco_2_pitch_mod_depth 57 0–127 continuous Oscillators
/an1x/oscillators/vco_2_edge 54 0–127 continuous Oscillators
/an1x/oscillators/vco_2_pulse_width 55 0–127 continuous Oscillators
/an1x/oscillators/vco_2_pwm_source 87 0–127 continuous Oscillators
/an1x/oscillators/vco_2_pwm_depth 56 0–127 continuous Oscillators
/an1x/mixer/vco_1_level 68 0–127 continuous Mixer
/an1x/mixer/vco_2_level 69 0–127 continuous Mixer
/an1x/mixer/ring_modulator_level 70 0–127 continuous Mixer
/an1x/mixer/noise_level 39 0–127 continuous Mixer
/an1x/filter/vcf_hpf_cutoff 58 0–127 continuous Filter
/an1x/filter/vcf_type 59 0–127 continuous Filter
/an1x/filter/vcf_cutoff_brightness 74 0–127 continuous Filter
/an1x/filter/vcf_resonance_harmonic_content 71 0–127 continuous Filter
/an1x/filter/vcf_filter_mod_depth 19 0–127 continuous Filter
/an1x/filter/vcf_cutoff_keyboard_track 30 0–127 continuous Filter
/an1x/filter_envelope/filter_eg_atack 82 0–127 continuous Filter Envelope
/an1x/filter_envelope/filter_eg_decay 83 0–127 continuous Filter Envelope
/an1x/filter_envelope/filter_eg_sustain_level 28 0–127 continuous Filter Envelope
/an1x/filter_envelope/filter_eg_release 29 0–127 continuous Filter Envelope
/an1x/filter_envelope/filter_eg_depth 81 0–127 continuous Filter Envelope
/an1x/filter_envelope/filter_eg_velocity_sensitivity 60 0–127 continuous Filter Envelope
/an1x/amp/vca_volume 62 0–127 continuous Amp
/an1x/amp/vca_feedback_level 63 0–127 continuous Amp
/an1x/amp/vca_mod_depth 80 0–127 continuous Amp
/an1x/amp_envelope/amp_eg_attack 73 0–127 continuous Amp Envelope
/an1x/amp_envelope/amp_eg_decay 75 0–127 continuous Amp Envelope
/an1x/amp_envelope/amo_eg_sustain_level 31 0–127 continuous Amp Envelope
/an1x/amp_envelope/amp_eg_release 72 0–127 continuous Amp Envelope
/an1x/amp_envelope/amp_eg_velocity_sensitivity 61 0–127 continuous Amp Envelope
/an1x/lfos/lfo_1_wave 15 0–127 continuous LFOs
/an1x/lfos/lfo_1_speed 16 0–127 continuous LFOs
/an1x/lfos/lfo_1_delay 20 0–127 continuous LFOs
/an1x/lfos/lfo_2_speed 17 0–127 continuous LFOs
/an1x/lfos/lfo_reset_mode 14 0–127 continuous LFOs
/an1x/peg/decay 27 0–127 continuous PEG
/an1x/peg/depth 25 0–127 continuous PEG
/an1x/peg/switch 26 0–127 continuous PEG
/an1x/fx/reverb_depth 91 0–127 continuous FX
/an1x/fx/chorus_variation_depth 93 0–127 continuous FX
/an1x/fx/delay_depth 94 0–127 continuous FX

SysEx commands (1)

OSC address Arguments
/an1x/fm_src_2 val: u7

Performance MIDI

Notes, pitch bend and any CC are also available: /an1x/note/on <note> <velocity>, /an1x/cc/<number> <value>, /an1x/pitchbend <0-16383>, /an1x/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.