Skip to content

Polyend Synth MIDI CC chart, NRPN and OSC map

The Polyend Synth MIDI implementation: 195 CC, 1 SysEx commands, each named, for Claude (MCP), SuperCollider or any OSC app.

Device Polyend Synth
Vendor Polyend
OSC prefix /polysynth
Source πŸ“˜ From the manufacturer's documentation
Revision fw as of 2025
Upstream vendor-doc
Driver file devices/polyend/synth.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/polyend/synth.json --out-port <N> --in-port <M>

Then send OSC to 127.0.0.1:7777, for example:

osc-bridge osc-send /polysynth/acd/engine/saw_mix 63

From Claude or any MCP client, the osc-bridge mcp server exposes this driver as polysynth: ask β€œwhat can the Polyend Synth do?” and it reads this map with list_routes. See the MCP guide.

MIDI CC and NRPN parameters (195)

OSC address CC NRPN (MSB/LSB) Range Nature Section
/polysynth/acd/engine/saw_mix 20 0–127 continuous ACD / Engine
/polysynth/fat/engine/fatness 27 0–127 continuous FAT / Engine
/polysynth/wavs/engine_p1/position_1 22 0–127 continuous WAVS / Engine P1
/polysynth/acd/engine/square_mix 21 0–127 continuous ACD / Engine
/polysynth/fat/engine/brightness 23 0–127 continuous FAT / Engine
/polysynth/wavs/engine_p1/position_2 27 0–127 continuous WAVS / Engine P1
/polysynth/acd/engine/sub_mix 22 0–127 continuous ACD / Engine
/polysynth/fat/engine/timbre 20 0–127 continuous FAT / Engine
/polysynth/wavs/engine_p1/mix 20 0–127 continuous WAVS / Engine P1
/polysynth/acd/engine/noise 23 0–127 continuous ACD / Engine
/polysynth/fat/engine/fatness_lfo 24 0–127 continuous FAT / Engine
/polysynth/wavs/engine_p1/warp_1 21 0–127 continuous WAVS / Engine P1
/polysynth/acd/engine/pw 24 0–127 continuous ACD / Engine
/polysynth/fat/engine/noise 21 0–127 continuous FAT / Engine
/polysynth/wavs/engine_p1/warp_2 28 0–127 continuous WAVS / Engine P1
/polysynth/acd/engine/pitch_lfo 27 0–127 continuous ACD / Engine
/polysynth/wavs/engine_p1/noise 29 0–127 continuous WAVS / Engine P1
/polysynth/acd/engine/pw_env 26 0–127 continuous ACD / Engine
/polysynth/wavs/engine_p2/tune_1 25 0–127 continuous WAVS / Engine P2
/polysynth/fat/filter/cutoff 74 0–127 continuous FAT / Filter
/polysynth/acd/engine/pw_lfo 25 0–127 continuous ACD / Engine
/polysynth/wavs/engine_p2/tune_2 30 0–127 continuous WAVS / Engine P2
/polysynth/fat/filter/resonance 71 0–127 continuous FAT / Filter
/polysynth/wavs/engine_p2/detune 31 0–127 continuous WAVS / Engine P2
/polysynth/fat/filter/env_amount 77 0–127 continuous FAT / Filter
/polysynth/wavs/engine_p3/finetune 26 0–127 continuous WAVS / Engine P3
/polysynth/acd/filter/cutoff 74 0–127 continuous ACD / Filter
/polysynth/fat/filter/filter_lfo 78 0–127 continuous FAT / Filter
/polysynth/acd/filter/resonance 71 0–127 continuous ACD / Filter
/polysynth/acd/filter/env_amount 77 0–127 continuous ACD / Filter
/polysynth/wavs/filter/cutoff 74 0–127 continuous WAVS / Filter
/polysynth/fat/env_amp/attack 75 0–127 continuous FAT / Env Amp
/polysynth/acd/filter/filter_lfo 78 0–127 continuous ACD / Filter
/polysynth/wavs/filter/resonance 71 0–127 continuous WAVS / Filter
/polysynth/fat/env_amp/decay 72 0–127 continuous FAT / Env Amp
/polysynth/wavs/filter/env_amount 77 0–127 continuous WAVS / Filter
/polysynth/fat/env_amp/sustain 76 0–127 continuous FAT / Env Amp
/polysynth/acd/env_amp/attack 75 0–127 continuous ACD / Env Amp
/polysynth/fat/env_amp/release 73 0–127 continuous FAT / Env Amp
/polysynth/acd/env_amp/decay 72 0–127 continuous ACD / Env Amp
/polysynth/wavs/env_amp/attack 75 0–127 continuous WAVS / Env Amp
/polysynth/acd/env_amp/sustain 76 0–127 continuous ACD / Env Amp
/polysynth/wavs/env_amp/decay 72 0–127 continuous WAVS / Env Amp
/polysynth/fat/env_filter/attack 80 0–127 continuous FAT / Env Filter
/polysynth/acd/env_amp/release 73 0–127 continuous ACD / Env Amp
/polysynth/wavs/env_amp/sustain 76 0–127 continuous WAVS / Env Amp
/polysynth/fat/env_filter/decay 81 0–127 continuous FAT / Env Filter
/polysynth/wavs/env_amp/release 73 0–127 continuous WAVS / Env Amp
/polysynth/fat/env_filter/sustain 82 0–127 continuous FAT / Env Filter
/polysynth/acd/env_filter/attack 80 0–127 continuous ACD / Env Filter
/polysynth/fat/env_filter/release 83 0–127 continuous FAT / Env Filter
/polysynth/acd/env_filter/decay 81 0–127 continuous ACD / Env Filter
/polysynth/wavs/env_filter/attack 80 0–127 continuous WAVS / Env Filter
/polysynth/acd/env_filter/sustain 82 0–127 continuous ACD / Env Filter
/polysynth/wavs/env_filter/decay 81 0–127 continuous WAVS / Env Filter
/polysynth/acd/env_filter/release 83 0–127 continuous ACD / Env Filter
/polysynth/wavs/env_filter/sustain 82 0–127 continuous WAVS / Env Filter
/polysynth/wavs/env_filter/release 83 0–127 continuous WAVS / Env Filter
/polysynth/acd/lfo/frequency 54 0–127 continuous ACD / LFO
/polysynth/wavs/env_aux/attack 46 0–127 continuous WAVS / Env Aux
/polysynth/wavs/env_aux/decay 47 0–127 continuous WAVS / Env Aux
/polysynth/acd/mod/pitch_lfo 27 0–127 continuous ACD / MOD
/polysynth/fat/lfo/frequency 54 0–127 continuous FAT / LFO
/polysynth/wavs/env_aux/sustain 48 0–127 continuous WAVS / Env Aux
/polysynth/acd/mod/pw_envelope 26 0–127 continuous ACD / MOD
/polysynth/wavs/env_aux/release 49 0–127 continuous WAVS / Env Aux
/polysynth/acd/mod/pw_lfo 25 0–127 continuous ACD / MOD
/polysynth/fat/mod/fatness_lfo 24 0–127 continuous FAT / MOD
/polysynth/acd/mod/filter_lfo 78 0–127 continuous ACD / MOD
/polysynth/fat/mod/filter_lfo 78 0–127 continuous FAT / MOD
/polysynth/vap/engine_p1/shape_1 22 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/ratio_1 23 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/bow_level 20 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p1/shape_2 27 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/ratio_2 24 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/air_level 22 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p1/mix 20 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/fm 20 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/strike_level 25 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p1/pw_1 21 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/shape_1 22 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/bow_timbre 21 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p1/pw_2 28 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/shape_2 27 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/air_timbre 24 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p1/tune_1 25 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/feedback_1 21 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/strike_timbre 27 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p1/tune_2 30 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/feedback_2 28 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/air_flow 23 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p1/detune 26 0–127 continuous VAP / Engine P1
/polysynth/wtfm/engine_p1/feedback_2_1 29 0–127 continuous WTFM / Engine P1
/polysynth/pmd/exciter/strike_mallet 26 0–127 continuous PMD / Exciter
/polysynth/vap/engine_p2/noise 23 0–127 continuous VAP / Engine P2
/polysynth/wtfm/engine_p2/finetune_1 26 0–127 continuous WTFM / Engine P2
/polysynth/vap/engine_p2/finetune 31 0–127 continuous VAP / Engine P2
/polysynth/wtfm/engine_p2/finetune_2 25 0–127 continuous WTFM / Engine P2
/polysynth/pmd/resonator/form 70 0–127 continuous PMD / Resonator
/polysynth/pmd/resonator/position 85 0–127 continuous PMD / Resonator
/polysynth/vap/filter/cutoff 74 0–127 continuous VAP / Filter
/polysynth/wtfm/filter/cutoff 74 0–127 continuous WTFM / Filter
/polysynth/pmd/resonator/space 86 0–127 continuous PMD / Resonator
/polysynth/vap/filter/resonance 71 0–127 continuous VAP / Filter
/polysynth/wtfm/filter/resonance 71 0–127 continuous WTFM / Filter
/polysynth/pmd/resonator/brightness 74 0–127 continuous PMD / Resonator
/polysynth/vap/filter/env_amount 77 0–127 continuous VAP / Filter
/polysynth/wtfm/filter/env_amount 77 0–127 continuous WTFM / Filter
/polysynth/pmd/resonator/damping 71 0–127 continuous PMD / Resonator
/polysynth/vap/env_amp/attack 75 0–127 continuous VAP / Env Amp
/polysynth/wtfm/env_amp/attack 75 0–127 continuous WTFM / Env Amp
/polysynth/pmd/env_exciter/attack 75 0–127 continuous PMD / Env Exciter
/polysynth/vap/env_amp/decay 72 0–127 continuous VAP / Env Amp
/polysynth/wtfm/env_amp/decay 72 0–127 continuous WTFM / Env Amp
/polysynth/pmd/env_exciter/decay 72 0–127 continuous PMD / Env Exciter
/polysynth/vap/env_amp/sustain 76 0–127 continuous VAP / Env Amp
/polysynth/wtfm/env_amp/sustain 76 0–127 continuous WTFM / Env Amp
/polysynth/pmd/env_exciter/sustain 76 0–127 continuous PMD / Env Exciter
/polysynth/vap/env_amp/release 73 0–127 continuous VAP / Env Amp
/polysynth/wtfm/env_amp/release 73 0–127 continuous WTFM / Env Amp
/polysynth/pmd/env_exciter/release 73 0–127 continuous PMD / Env Exciter
/polysynth/vap/env_filter/attack 80 0–127 continuous VAP / Env Filter
/polysynth/wtfm/env_filter/attack 80 0–127 continuous WTFM / Env Filter
/polysynth/pmd/env_aux/attack 46 0–127 continuous PMD / Env Aux
/polysynth/vap/env_filter/decay 81 0–127 continuous VAP / Env Filter
/polysynth/wtfm/env_filter/decay 81 0–127 continuous WTFM / Env Filter
/polysynth/pmd/env_aux/decay 47 0–127 continuous PMD / Env Aux
/polysynth/vap/env_filter/sustain 82 0–127 continuous VAP / Env Filter
/polysynth/wtfm/env_filter/sustain 82 0–127 continuous WTFM / Env Filter
/polysynth/pmd/env_aux/sustain 48 0–127 continuous PMD / Env Aux
/polysynth/vap/env_filter/release 83 0–127 continuous VAP / Env Filter
/polysynth/wtfm/env_filter/release 83 0–127 continuous WTFM / Env Filter
/polysynth/pmd/env_aux/release 49 0–127 continuous PMD / Env Aux
/polysynth/vap/env_aux/attack 46 0–127 continuous VAP / Env Aux
/polysynth/wtfm/env_aux/attack 46 0–127 continuous WTFM / Env Aux
/polysynth/vap/env_aux/decay 47 0–127 continuous VAP / Env Aux
/polysynth/wtfm/env_aux/decay 47 0–127 continuous WTFM / Env Aux
/polysynth/vap/env_aux/sustain 48 0–127 continuous VAP / Env Aux
/polysynth/wtfm/env_aux/sustain 48 0–127 continuous WTFM / Env Aux
/polysynth/vap/env_aux/release 49 0–127 continuous VAP / Env Aux
/polysynth/wtfm/env_aux/release 49 0–127 continuous WTFM / Env Aux
/polysynth/phz/engine_p1/shape_1 22 0–127 continuous PHZ / Engine P1
/polysynth/grain/engine_p1/position 20 0–127 continuous GRAIN / Engine P1
/polysynth/phz/engine_p1/shape_2 27 0–127 continuous PHZ / Engine P1
/polysynth/grain/engine_p1/position_spread 21 0–127 continuous GRAIN / Engine P1
/polysynth/phz/engine_p1/mix 20 0–127 continuous PHZ / Engine P1
/polysynth/grain/engine_p1/grain_size 24 0–127 continuous GRAIN / Engine P1
/polysynth/phz/engine_p1/osc1_xmod 21 0–127 continuous PHZ / Engine P1
/polysynth/grain/engine_p1/density 23 0–127 continuous GRAIN / Engine P1
/polysynth/phz/engine_p1/osc2_xmod 28 0–127 continuous PHZ / Engine P1
/polysynth/grain/engine_p1/time_spread 22 0–127 continuous GRAIN / Engine P1
/polysynth/phz/engine_p1/osc1_ymod 23 0–127 continuous PHZ / Engine P1
/polysynth/grain/engine_p1/grain_shape 25 0–127 continuous GRAIN / Engine P1
/polysynth/phz/engine_p1/osc2_ymod 29 0–127 continuous PHZ / Engine P1
/polysynth/grain/engine_p1/pan_spread 27 0–127 continuous GRAIN / Engine P1
/polysynth/phz/engine_p2/detune 24 0–127 continuous PHZ / Engine P2
/polysynth/grain/engine_p2/tune 30 0–127 continuous GRAIN / Engine P2
/polysynth/phz/engine_p2/tune_1 25 0–127 continuous PHZ / Engine P2
/polysynth/grain/engine_p2/detune_spread 26 0–127 continuous GRAIN / Engine P2
/polysynth/phz/engine_p2/tune_2 30 0–127 continuous PHZ / Engine P2
/polysynth/grain/engine_p2/finetune 31 0–127 continuous GRAIN / Engine P2
/polysynth/phz/engine_p2/finetune 26 0–127 continuous PHZ / Engine P2
/polysynth/grain/engine_p2/size_spread 87 0–127 continuous GRAIN / Engine P2
/polysynth/grain/engine_p2/direction 86 0–127 continuous GRAIN / Engine P2
/polysynth/grain/engine_p2/space 85 0–127 continuous GRAIN / Engine P2
/polysynth/phz/filter/cutoff 74 0–127 continuous PHZ / Filter
/polysynth/phz/filter/resonance 71 0–127 continuous PHZ / Filter
/polysynth/phz/filter/env_amount 77 0–127 continuous PHZ / Filter
/polysynth/grain/filter/cutoff 74 0–127 continuous GRAIN / Filter
/polysynth/grain/filter/resonance 71 0–127 continuous GRAIN / Filter
/polysynth/grain/filter/env_amount 77 0–127 continuous GRAIN / Filter
/polysynth/phz/env_amp/attack 75 0–127 continuous PHZ / Env Amp
/polysynth/phz/env_amp/decay 72 0–127 continuous PHZ / Env Amp
/polysynth/phz/env_amp/sustain 76 0–127 continuous PHZ / Env Amp
/polysynth/grain/env_amp/attack 75 0–127 continuous GRAIN / Env Amp
/polysynth/phz/env_amp/release 73 0–127 continuous PHZ / Env Amp
/polysynth/grain/env_amp/decay 72 0–127 continuous GRAIN / Env Amp
/polysynth/grain/env_amp/sustain 76 0–127 continuous GRAIN / Env Amp
/polysynth/grain/env_amp/release 73 0–127 continuous GRAIN / Env Amp
/polysynth/phz/env_filter/attack 80 0–127 continuous PHZ / Env Filter
/polysynth/phz/env_filter/decay 81 0–127 continuous PHZ / Env Filter
/polysynth/phz/env_filter/sustain 82 0–127 continuous PHZ / Env Filter
/polysynth/grain/env_filter/attack 80 0–127 continuous GRAIN / Env Filter
/polysynth/phz/env_filter/release 83 0–127 continuous PHZ / Env Filter
/polysynth/grain/env_filter/decay 81 0–127 continuous GRAIN / Env Filter
/polysynth/grain/env_filter/sustain 82 0–127 continuous GRAIN / Env Filter
/polysynth/grain/env_filter/release 83 0–127 continuous GRAIN / Env Filter
/polysynth/phz/env_aux/attack 46 0–127 continuous PHZ / Env Aux
/polysynth/phz/env_aux/decay 47 0–127 continuous PHZ / Env Aux
/polysynth/phz/env_aux/sustain 48 0–127 continuous PHZ / Env Aux
/polysynth/grain/env_aux/attack 46 0–127 continuous GRAIN / Env Aux
/polysynth/phz/env_aux/release 49 0–127 continuous PHZ / Env Aux
/polysynth/grain/env_aux/decay 47 0–127 continuous GRAIN / Env Aux
/polysynth/grain/env_aux/sustain 48 0–127 continuous GRAIN / Env Aux
/polysynth/grain/env_aux/release 49 0–127 continuous GRAIN / Env Aux

SysEx commands (1)

OSC address Arguments
/polysynth/program_change program: u7

Performance MIDI

Notes, pitch bend and any CC are also available: /polysynth/note/on <note> <velocity>, /polysynth/cc/<number> <value>, /polysynth/pitchbend <0-16383>, /polysynth/program_change <n>.

Frequently asked questions

Which MIDI CC controls the filter cutoff on the Polyend Synth?

CC 23 (0–127), named /polysynth/fat/engine/brightness in SynthHub's map.

How many parameters of the Polyend Synth can be controlled over MIDI?

SynthHub's map of the Polyend Synth lists 195 MIDI CC 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 Polyend Synth?

Yes: SynthHub's hosted MCP server knows the Polyend Synth's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.