Roland JD-08 (per Electra preset) MIDI CC chart, NRPN and OSC map¶
The Roland JD-08 MIDI implementation: 153 CC, each named, for Claude (MCP), SuperCollider or any OSC app.
| Device | Roland JD-08 |
|---|---|
| Vendor | Roland |
| OSC prefix | /jd_08 |
| Source | ποΈ Derived from an Electra One community preset |
| Revision | per Electra preset |
| Upstream | electra-preset |
| Driver file | devices/roland/jd_08.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.
Other versions of the Roland JD-08 (1)
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/jd_08.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 jd_08: ask βwhat can the Roland JD-08 do?β and it reads this map with list_routes. See the MCP guide.
MIDI CC and NRPN parameters (153)¶
| OSC address | CC | NRPN (MSB/LSB) | Range | Nature | Section |
|---|---|---|---|---|---|
/jd_08/waveform_1_27 |
72 | 0β127 | continuous | ||
/jd_08/active_layer |
112 | 0β127 | continuous | ||
/jd_08/select_layer |
111 | 0β127 | continuous | ||
/jd_08/ptch_key_folw |
82 | 0β127 | continuous | ||
/jd_08/pitch_semitone |
79 | 0β127 | continuous | ||
/jd_08/level |
110 | 0β127 | continuous | ||
/jd_08/part_level |
7 | 0β127 | continuous | ||
/jd_08/pitch_fine |
80 | 0β127 | continuous | ||
/jd_08/pitch_random |
81 | 0β127 | continuous | ||
/jd_08/ptch_env_lo |
27 | 0β127 | continuous | ||
/jd_08/ptch_env_t1 |
28 | 0β127 | continuous | ||
/jd_08/ptch_env_t2 |
30 | 0β127 | continuous | ||
/jd_08/ptch_env_t3 |
31 | 0β127 | continuous | ||
/jd_08/tva_level |
103 | 0β100 | continuous | ||
/jd_08/tva_bias_point |
104 | 0β127 | continuous | ||
/jd_08/ptchenvtimekey |
26 | 0β127 | continuous | ||
/jd_08/ptch_env_l1 |
29 | 0β127 | continuous | ||
/jd_08/ptch_env_l2 |
35 | 0β127 | continuous | ||
/jd_08/tva_bias_level |
105 | -10β10 | continuous | ||
/jd_08/tva_bias_direc |
123 | 0β127 | continuous | ||
/jd_08/ampenvtimekey |
55 | 0β127 | continuous | ||
/jd_08/amp_env_t1 |
57 | 0β127 | continuous | ||
/jd_08/amp_env_t2 |
59 | 0β127 | continuous | ||
/jd_08/amp_env_t3 |
61 | 0β127 | continuous | ||
/jd_08/amp_env_43 |
63 | 0β127 | continuous | ||
/jd_08/amp_env_l1 |
58 | 0β127 | continuous | ||
/jd_08/amp_env_l2 |
60 | 0β127 | continuous | ||
/jd_08/ampenvsustlvl |
62 | 0β127 | continuous | ||
/jd_08/lfo1_waveform |
19 | 0β127 | continuous | ||
/jd_08/lfo1_rate |
14 | 0β100 | continuous | ||
/jd_08/lfo1_delay |
15 | 0β100 | continuous | ||
/jd_08/lfo1_fade |
16 | -50β50 | continuous | ||
/jd_08/lfo_1_offset |
17 | 0β127 | continuous | ||
/jd_08/lfo1_key_trig |
18 | 0β127 | continuous | ||
/jd_08/lfo2_waveform |
23 | 0β127 | continuous | ||
/jd_08/lfo2_rate |
20 | 0β100 | continuous | ||
/jd_08/lfo2_delay |
21 | 0β100 | continuous | ||
/jd_08/lfo2_fade |
22 | -50β50 | continuous | ||
/jd_08/lfo_2_offset |
24 | 0β127 | continuous | ||
/jd_08/lfo2_key_trig |
25 | 0β127 | continuous | ||
/jd_08/tva_lfo_select |
107 | 0β127 | continuous | ||
/jd_08/wg_lfo1_depth |
83 | -50β50 | continuous | ||
/jd_08/tvf_lfo_select |
90 | 0β127 | continuous | ||
/jd_08/tvf_filt_mode |
86 | 0β127 | continuous | ||
/jd_08/tvf_env_depth |
87 | -50β50 | continuous | ||
/jd_08/tvf_key_follow |
89 | -100β150 | continuous | ||
/jd_08/tva_lfo_depth |
108 | -50β50 | continuous | ||
/jd_08/wg_lfo2_depth |
85 | -50β50 | continuous | ||
/jd_08/tvf_lfo_depth |
102 | -50β50 | continuous | ||
/jd_08/tvf_cutoff |
3 | 0β100 | continuous | ||
/jd_08/tvf_resonance |
9 | 0β100 | continuous | ||
/jd_08/sync_test |
96 | 0β127 | continuous | ||
/jd_08/fltenvtimekey |
46 | 0β127 | continuous | ||
/jd_08/flt_env_t1 |
47 | 0β127 | continuous | ||
/jd_08/flt_env_t2 |
50 | 0β127 | continuous | ||
/jd_08/flt_env_t3 |
52 | 0β127 | continuous | ||
/jd_08/flt_env_t4 |
54 | 0β127 | continuous | ||
/jd_08/flt_env_l1 |
48 | 0β127 | continuous | ||
/jd_08/flt_env_l2 |
51 | 0β127 | continuous | ||
/jd_08/fltenvsustlvl |
53 | 0β127 | continuous | ||
/jd_08/flt_env_l4 |
56 | 0β127 | continuous | ||
/jd_08/lforate_2_sync |
97 | 0β127 | continuous | ||
/jd_08/fx_b_level |
12 | 0β127 | continuous | ||
/jd_08/fx_b_rvrb_lvl |
91 | 0β127 | continuous | ||
/jd_08/fx_b_rvrb_time |
13 | 0β127 | continuous | ||
/jd_08/fx_b_chors_lvl |
93 | 0β127 | continuous | ||
/jd_08/fx_delay_c_lvl |
94 | 0β127 | continuous | ||
/jd_08/fx_delay_l_lvl |
92 | 0β127 | continuous | ||
/jd_08/fx_delay_r_lvl |
95 | 0β127 | continuous | ||
/jd_08/mod_wheel |
1 | 0β127 | continuous | ||
/jd_08/portamento |
117 | 0β127 | continuous | ||
/jd_08/portament_mode |
118 | 0β127 | continuous | ||
/jd_08/legato |
116 | 0β127 | continuous | ||
/jd_08/unison |
119 | 0β127 | continuous | ||
/jd_08/solo |
115 | 0β127 | continuous | ||
/jd_08/portamentotime |
5 | 0β127 | continuous | ||
/jd_08/waveform_1_27 |
72 | 0β127 | continuous | ||
/jd_08/active_layer |
112 | 0β127 | continuous | ||
/jd_08/select_layer |
111 | 0β127 | continuous | ||
/jd_08/ptch_key_folw |
82 | 0β127 | continuous | ||
/jd_08/pitch_semitone |
79 | 0β127 | continuous | ||
/jd_08/level |
110 | 0β127 | continuous | ||
/jd_08/part_level |
7 | 0β127 | continuous | ||
/jd_08/pitch_fine |
80 | 0β127 | continuous | ||
/jd_08/pitch_random |
81 | 0β127 | continuous | ||
/jd_08/ptch_env_lo |
27 | 0β127 | continuous | ||
/jd_08/ptch_env_t1 |
28 | 0β127 | continuous | ||
/jd_08/ptch_env_t2 |
30 | 0β127 | continuous | ||
/jd_08/ptch_env_t3 |
31 | 0β127 | continuous | ||
/jd_08/tva_level |
103 | 0β100 | continuous | ||
/jd_08/tva_bias_point |
104 | 0β127 | continuous | ||
/jd_08/ptchenvtimekey |
26 | 0β127 | continuous | ||
/jd_08/ptch_env_l1 |
29 | 0β127 | continuous | ||
/jd_08/ptch_env_l2 |
35 | 0β127 | continuous | ||
/jd_08/tva_bias_level |
105 | -10β10 | continuous | ||
/jd_08/tva_bias_direc |
123 | 0β127 | continuous | ||
/jd_08/ampenvtimekey |
55 | 0β127 | continuous | ||
/jd_08/amp_env_t1 |
57 | 0β127 | continuous | ||
/jd_08/amp_env_t2 |
59 | 0β127 | continuous | ||
/jd_08/amp_env_t3 |
61 | 0β127 | continuous | ||
/jd_08/amp_env_43 |
63 | 0β127 | continuous | ||
/jd_08/amp_env_l1 |
58 | 0β127 | continuous | ||
/jd_08/amp_env_l2 |
60 | 0β127 | continuous | ||
/jd_08/ampenvsustlvl |
62 | 0β127 | continuous | ||
/jd_08/lfo1_waveform |
19 | 0β127 | continuous | ||
/jd_08/lfo1_rate |
14 | 0β100 | continuous | ||
/jd_08/lfo1_delay |
15 | 0β100 | continuous | ||
/jd_08/lfo1_fade |
16 | -50β50 | continuous | ||
/jd_08/lfo_1_offset |
17 | 0β127 | continuous | ||
/jd_08/lfo1_key_trig |
18 | 0β127 | continuous | ||
/jd_08/lfo2_waveform |
23 | 0β127 | continuous | ||
/jd_08/lfo2_rate |
20 | 0β100 | continuous | ||
/jd_08/lfo2_delay |
21 | 0β100 | continuous | ||
/jd_08/lfo2_fade |
22 | -50β50 | continuous | ||
/jd_08/lfo_2_offset |
24 | 0β127 | continuous | ||
/jd_08/lfo2_key_trig |
25 | 0β127 | continuous | ||
/jd_08/tva_lfo_select |
107 | 0β127 | continuous | ||
/jd_08/wg_lfo1_depth |
83 | -50β50 | continuous | ||
/jd_08/tvf_lfo_select |
90 | 0β127 | continuous | ||
/jd_08/tvf_filt_mode |
86 | 0β127 | continuous | ||
/jd_08/tvf_env_depth |
87 | -50β50 | continuous | ||
/jd_08/tvf_key_follow |
89 | -100β150 | continuous | ||
/jd_08/tva_lfo_depth |
108 | -50β50 | continuous | ||
/jd_08/wg_lfo2_depth |
85 | -50β50 | continuous | ||
/jd_08/tvf_lfo_depth |
102 | -50β50 | continuous | ||
/jd_08/tvf_cutoff |
3 | 0β100 | continuous | ||
/jd_08/tvf_resonance |
9 | 0β100 | continuous | ||
/jd_08/sync_test |
96 | 0β127 | continuous | ||
/jd_08/fltenvtimekey |
46 | 0β127 | continuous | ||
/jd_08/flt_env_t1 |
47 | 0β127 | continuous | ||
/jd_08/flt_env_t2 |
50 | 0β127 | continuous | ||
/jd_08/flt_env_t3 |
52 | 0β127 | continuous | ||
/jd_08/flt_env_t4 |
54 | 0β127 | continuous | ||
/jd_08/flt_env_l1 |
48 | 0β127 | continuous | ||
/jd_08/flt_env_l2 |
51 | 0β127 | continuous | ||
/jd_08/fltenvsustlvl |
53 | 0β127 | continuous | ||
/jd_08/flt_env_l4 |
56 | 0β127 | continuous | ||
/jd_08/lforate_2_sync |
97 | 0β127 | continuous | ||
/jd_08/fx_b_level |
12 | 0β127 | continuous | ||
/jd_08/fx_b_rvrb_lvl |
91 | 0β127 | continuous | ||
/jd_08/fx_b_rvrb_time |
13 | 0β127 | continuous | ||
/jd_08/fx_b_chors_lvl |
93 | 0β127 | continuous | ||
/jd_08/fx_delay_c_lvl |
94 | 0β127 | continuous | ||
/jd_08/fx_delay_l_lvl |
92 | 0β127 | continuous | ||
/jd_08/fx_delay_r_lvl |
95 | 0β127 | continuous | ||
/jd_08/mod_wheel |
1 | 0β127 | continuous | ||
/jd_08/portamento |
117 | 0β127 | continuous | ||
/jd_08/portament_mode |
118 | 0β127 | continuous | ||
/jd_08/legato |
116 | 0β127 | continuous | ||
/jd_08/unison |
119 | 0β127 | continuous | ||
/jd_08/solo |
115 | 0β127 | continuous | ||
/jd_08/portamentotime |
5 | 0β127 | continuous | ||
/jd_08/list |
32 | 0β127 | continuous |
Performance MIDI¶
Notes, pitch bend and any CC are also available: /jd_08/note/on <note> <velocity>, /jd_08/cc/<number> <value>, /jd_08/pitchbend <0-16383>, /jd_08/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¶
Which MIDI CC controls the filter cutoff on the Roland JD-08?
CC 3 (0β100), named /jd_08/tvf_cutoff in SynthHub's map.
How many parameters of the Roland JD-08 can be controlled over MIDI?
SynthHub's map of the Roland JD-08 lists 153 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 JD-08?
Yes: SynthHub's hosted MCP server knows the Roland JD-08's MIDI map, and its browser relay lets the agent send it parameter changes or load a sound, each sound change confirmed by you.