Roland VP-03 MIDI CC chart, NRPN and OSC map¶
The Roland VP-03 MIDI implementation: 60 CC, each named, for Claude (MCP), SuperCollider or any OSC app.
| Device | Roland VP-03 |
|---|---|
| Vendor | Roland |
| OSC prefix | /vp_03 |
| Source | ποΈ Derived from an Electra One community preset |
| Revision | per pencilresearch canonical CSV |
| Upstream | electra-preset |
| Driver file | devices/roland/vp_03.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/roland/vp_03.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 vp_03: ask βwhat can the Roland VP-03 do?β and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (60)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/vp_03/general/modulation |
1 | 0β127 | continuous | General | |
/vp_03/general/pitch_pedal |
4 | 0β127 | continuous | General | |
/vp_03/general/portament_time |
5 | 0β127 | continuous | General | |
/vp_03/general/pitchbend_range |
20 | 0β127 | continuous | General | |
/vp_03/general/hold |
64 | 0β127 | continuous | General | |
/vp_03/general/portament_on_off |
65 | 0β127 | continuous | General | |
/vp_03/general/release |
72 | 0β127 | continuous | General | |
/vp_03/general/strings_attack |
73 | 0β127 | continuous | General | |
/vp_03/general/strings_tone |
74 | 0β127 | continuous | General | |
/vp_03/general/human_voice_attack |
75 | 0β127 | continuous | General | |
/vp_03/general/vibrato_rate |
76 | 0β127 | continuous | General | |
/vp_03/general/vibrato_depth |
77 | 0β127 | continuous | General | |
/vp_03/general/vibrato_delay_time |
78 | 0β127 | continuous | General | |
/vp_03/general/tune |
79 | 0β127 | continuous | General | |
/vp_03/pitch/time |
12 | 0β127 | continuous | Pitch | |
/vp_03/pitch/set |
13 | 0β127 | continuous | Pitch | |
/vp_03/pitch/shift |
14 | 0β127 | continuous | Pitch | |
/vp_03/pitch/shft_mode |
15 | 0β127 | continuous | Pitch | |
/vp_03/balance/direct_mic |
16 | 0β127 | continuous | Balance | |
/vp_03/balance/human_voice |
17 | 0β127 | continuous | Balance | |
/vp_03/balance/strings |
18 | 0β127 | continuous | Balance | |
/vp_03/vocoder/vocodor_formant |
9 | 0β127 | continuous | Vocoder | |
/vp_03/vocoder/hold |
66 | 0β127 | continuous | Vocoder | |
/vp_03/vocoder/level |
70 | 0β127 | continuous | Vocoder | |
/vp_03/vocoder/tone |
71 | 0β127 | continuous | Vocoder | |
/vp_03/vocoder/on_off |
80 | 0β127 | continuous | Vocoder | |
/vp_03/sound_options/human_voice_male_8 |
81 | 0β127 | continuous | Sound options | |
/vp_03/sound_options/vuman_voice_female_4 |
82 | 0β127 | continuous | Sound options | |
/vp_03/sound_options/strings_on_off |
83 | 0β127 | continuous | Sound options | |
/vp_03/sound_options/vocoder_ensemble |
91 | 0β127 | continuous | Sound options | |
/vp_03/sound_options/human_voice_ensemble |
92 | 0β127 | continuous | Sound options | |
/vp_03/time |
12 | 0β127 | continuous | ||
/vp_03/set |
13 | 0β127 | continuous | ||
/vp_03/bend_range |
20 | 0β127 | continuous | ||
/vp_03/tune |
79 | -64β63 | continuous | ||
/vp_03/direct_mic |
16 | 0β127 | continuous | ||
/vp_03/strings |
18 | 0β127 | continuous | ||
/vp_03/shift |
14 | 0β127 | continuous | ||
/vp_03/shift_mode |
15 | 0β127 | continuous | ||
/vp_03/hold |
64 | 0β127 | continuous | ||
/vp_03/human_voice |
17 | 0β127 | continuous | ||
/vp_03/formant |
19 | 0β127 | continuous | ||
/vp_03/hold |
66 | 0β127 | continuous | ||
/vp_03/ensemble |
91 | 0β127 | continuous | ||
/vp_03/attack |
73 | 0β127 | continuous | ||
/vp_03/release |
72 | 0β127 | continuous | ||
/vp_03/level |
70 | 0β127 | continuous | ||
/vp_03/tone |
71 | 0β127 | continuous | ||
/vp_03/vocoder |
80 | 0β127 | continuous | ||
/vp_03/tone |
74 | 0β127 | continuous | ||
/vp_03/strings |
83 | 0β127 | continuous | ||
/vp_03/rate |
76 | 0β127 | continuous | ||
/vp_03/depth |
77 | 0β127 | continuous | ||
/vp_03/time |
5 | 0β127 | continuous | ||
/vp_03/attack |
75 | 0β127 | continuous | ||
/vp_03/male_8 |
81 | 0β127 | continuous | ||
/vp_03/delay_time |
78 | 0β127 | continuous | ||
/vp_03/portament |
65 | 0β127 | continuous | ||
/vp_03/ensemble |
92 | 0β127 | continuous | ||
/vp_03/female_4 |
82 | 0β127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /vp_03/note/on <note> <velocity>, /vp_03/cc/<number> <value>, /vp_03/pitchbend <0-16383>, /vp_03/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.
Frequently asked questions¶
How many parameters of the Roland VP-03 can be controlled over MIDI?
SynthHub's map of the Roland VP-03 lists 60 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 Roland VP-03?
Yes: SynthHub's hosted MCP server knows the Roland VP-03's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.