This page is read from MIDI Instrument Definitions, a Python library used in the author's other projects, in which every number is traced to a document its maker published. Its source is on GitHub.
Roland JD-08 MIDI implementation
The MIDI implementation of the Roland JD-08: what it answers to, and the 85 controls it offers, on firmware 1.03.
At a glance
- Firmware
- This page describes firmware 1.03.
- MIDI channel
- Any one of 1 to 16.
- Parts
- Part, 2 of them: each on a MIDI channel of its own, taking notes, controls, and program changes.
System: on a MIDI channel of its own, taking notes and program changes. - MIDI mode
- 3: omni off, poly.
- Voices
- Not recorded.
- Note range
- 0 to 127: C-1 to G9, counting middle C as C4.
- Velocity
- Sent and received. Release velocity is ignored.
- Aftertouch
- Polyphonic, a value for each key. It sends none.
- Pitch bend
- How far it bends is not recorded, and the range can be changed.
- Program change
- Received and sent, with 256 presets.
- MIDI clock
- Sent and received.
- Start and stop
- Sent and received.
- Control change
- 85 controls, in the tables below.
- NRPN
- None.
- System exclusive
- None.
Controls
In the order the definition gives them, by part and group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("roland/jd_08") has loaded them.
Part
Portamento
| Control | CC | Values |
|---|---|---|
PORTAMENTO TIMEportamento_time |
5 | 0-127 Received, never sent |
PORTAMENTOportamento |
117 | 0-127 |
PORTAMENTO MODEportamento_mode |
118 | 0-127 Received, never sent |
Bender range
| Control | CC | Values |
|---|---|---|
BENDER RANGE UPbender_range_up |
41 | 0-127 Received, never sent |
BENDER RANGE DOWNbender_range_down |
49 | 0-127 Received, never sent |
TVF
| Control | CC | Values |
|---|---|---|
TVF CUTOFFtvf_cutoff |
3 | 0-127 |
TVF RESONANSEtvf_resonance |
9 | 0-127 |
TVF FILTER MODEtvf_filter_mode |
86 | 0-127 |
TVF ENVELOPE DEPTHtvf_env_depth |
87 | 0-127 |
TVF KEY FOLLOWtvf_key_follow |
89 | 0-127 |
TVF LFO SELECTtvf_lfo_select |
90 | 0-127 |
TVF LFO DEPTHtvf_lfo_depth |
102 | 0-127 |
TVA
| Control | CC | Values |
|---|---|---|
TVA LEVELtva_level |
103 | 0-127 |
TVA BIAS POINTtva_bias_point |
104 | 0-127 |
TVA BIAS LEVELtva_bias_level |
105 | 0-127 |
TVA BIAS DIRECTIONtva_bias_direction |
106 | 0-127 |
TVA LFO SELECTtva_lfo_select |
107 | 0-127 |
TVA LFO DEPTHtva_lfo_depth |
108 | 0-127 |
LFO 1
| Control | CC | Values |
|---|---|---|
LFO1 RATElfo1_rate |
14 | 0-127 |
LFO1 DELAYlfo1_delay |
15 | 0-127 |
LFO1 FADElfo1_fade |
16 | 0-127 |
LFO1 OFFSETlfo1_offset |
17 | 0-127 |
LFO1 KEY TRGlfo1_key_trg |
18 | 0-127 |
LFO1 WAVEFORMlfo1_waveform |
19 | 0-127 |
LFO1 RATE (Rate sync)lfo1_rate_sync |
96 | 0-127 |
LFO 2
| Control | CC | Values |
|---|---|---|
LFO2 RATElfo2_rate |
20 | 0-127 |
LFO2 DELAYlfo2_delay |
21 | 0-127 |
LFO2 FADElfo2_fade |
22 | 0-127 |
LFO2 WAVEFORMlfo2_waveform |
23 | 0-127 |
LFO2 OFFSETlfo2_offset |
24 | 0-127 |
LFO2 KEY TRGlfo2_key_trg |
25 | 0-127 |
LFO2 RATE (Rate sync)lfo2_rate_sync |
97 | 0-127 |
Pitch envelope
| Control | CC | Values |
|---|---|---|
PITCH ENVELOPE TIME KEY FOLLOWpitch_env_time_key_follow |
26 | 0-127 |
PITCH ENVELOPE L0pitch_env_l0 |
27 | 0-127 |
PITCH ENVELOPE T1pitch_env_t1 |
28 | 0-127 |
PITCH ENVELOPE L1pitch_env_l1 |
29 | 0-127 |
PITCH ENVELOPE T2pitch_env_t2 |
30 | 0-127 |
PITCH ENVELOPE T3pitch_env_t3 |
31 | 0-127 |
PITCH ENVELOPE L2pitch_env_l2 |
35 | 0-127 |
Filter envelope
| Control | CC | Values |
|---|---|---|
FILTER ENVELOPE TIME KEY FOLLOWfilter_env_time_key_follow |
46 | 0-127 |
FILTER ENVELOPE T1filter_env_t1 |
47 | 0-127 |
FILTER ENVELOPE L1filter_env_l1 |
48 | 0-127 |
FILTER ENVELOPE T2filter_env_t2 |
50 | 0-127 |
FILTER ENVELOPE L2filter_env_l2 |
51 | 0-127 |
FILTER ENVELOPE T3filter_env_t3 |
52 | 0-127 |
FILTER ENVELOPE SUSTAIN LEVELfilter_env_sustain_level |
53 | 0-127 |
FILTER ENVELOPE T4filter_env_t4 |
54 | 0-127 |
FILTER ENVELOPE L4filter_env_l4 |
56 | 0-127 |
Amp envelope
| Control | CC | Values |
|---|---|---|
AMP ENVELOPE TIME KEY FOLLOWamp_env_time_key_follow |
55 | 0-127 |
AMP ENVELOPE T1amp_env_t1 |
57 | 0-127 |
AMP ENVELOPE L1amp_env_l1 |
58 | 0-127 |
AMP ENVELOPE T2amp_env_t2 |
59 | 0-127 |
AMP ENVELOPE L2amp_env_l2 |
60 | 0-127 |
AMP ENVELOPE T3amp_env_t3 |
61 | 0-127 |
AMP ENVELOPE SUSTAIN LEVELamp_env_sustain_level |
62 | 0-127 |
AMP ENVELOPE T4amp_env_t4 |
63 | 0-127 |
WG
| Control | CC | Values |
|---|---|---|
WAVEFORMwaveform |
72 | 0-108 |
PITCH COARSEpitch_coarse |
79 | 0-127 |
PITCH FINEpitch_fine |
80 | 0-127 |
PITCH RANDOMpitch_random |
81 | 0-127 |
PITCH KEY FOLLOWpitch_key_follow |
82 | 0-127 |
WG LFO1 DEPTHwg_lfo1_depth |
83 | 0-127 |
WG LFO2 DEPTHwg_lfo2_depth |
85 | 0-127 |
Effect B
| Control | CC | Values |
|---|---|---|
FX B LEVELfx_b_level |
12 | 0-127 Received, never sent |
FX B REVERB TIMEfx_b_reverb_time |
13 | 0-127 Received, never sent |
FX B REVERB LEVELfx_b_reverb_level |
91 | 0-127 Received, never sent |
FX B DELAY L LEVELfx_b_delay_l_level |
92 | 0-127 Received, never sent |
FX B CHORUS LEVELfx_b_chorus_level |
93 | 0-127 Received, never sent |
FX B DELAY C LEVELfx_b_delay_c_level |
94 | 0-127 Received, never sent |
FX B DELAY R LEVELfx_b_delay_r_level |
95 | 0-127 Received, never sent |
Palette
| Control | CC | Values |
|---|---|---|
TONE PALETTE Atone_palette_a |
68 | 0-127 Sent, never received |
TONE PALETTE Btone_palette_b |
69 | 0-127 Sent, never received |
TONE PALETTE Ctone_palette_c |
70 | 0-127 Sent, never received |
TONE PALETTE Dtone_palette_d |
71 | 0-127 Sent, never received |
Without a group
| Control | CC | Values |
|---|---|---|
Modulation Wheelmodulation_wheel |
1 | 0-127 |
PART LEVELpart_level |
7 | 0-127 Received, never sent |
EXPRESSIONexpression |
11 | 0-127 Received, never sent |
HOLD PEDALhold_pedal |
64 | 0-127 Received, never sent |
SOSTENUTO PEDALsostenuto_pedal |
66 | 0-127 Received, never sent |
LEVELlevel |
110 | 0-127 Received, never sent |
LAYERlayer |
111 | 0-127 |
ACTIVEactive |
112 | 0-127 |
SOLOsolo |
115 | 0-127 |
LEGATOlegato |
116 | 0-127 Received, never sent |
UNISONunison |
119 | 0-127 Received, never sent |
Where these facts come from
Source documents
- JD-08 Owner’s Manual, eng01, dated June 2022, its user manual, read on 8 October 2026 (the file read).
- JD-08 Reference Manual (HTML): MIDI Implementation Chart (Part), its MIDI implementation, read on 8 October 2026 (the file read).
- JD-08 Quick Start, eng01, dated June 2021, its user manual, read on 8 October 2026 (the file read).
- Roland - Support - JD-08 - Owner's Manuals, its download page, read on 8 October 2026.
- Roland - Support - JD-08 - Updates & Drivers, its download page, read on 8 October 2026.
- JD-08 System Program ( Ver.1.03 ), Ver.1.03, dated November 2025, its release notes, read on 8 October 2026 (the file read).
How they were read
The manual Roland lists as the JD-08 Reference Manual, which calls itself "JD-08 Owner’s Manual" (reference p. 64) on its back, edition 01, 64 pages: the panel at pp. 3 to 13, patches at pp. 15 and 16, the sound modes and portamento at pp. 19 and 20, patterns at p. 23, the sequencer settings at p. 32, Effect B at p. 36, the part, layer, LFO, WG and key range settings at pp. 41 to 47, the keyboard and MIDI settings at pp. 49 and 50, the factory patches at pp. 55 and 56, the waveform list at pp. 56 to 58, the Part chart at pp. 59 to 61, the System chart at p. 62 and the specifications at p. 63. The HTML edition's Part chart, read against the PDF's. The Quick Start, read for an absence. And Roland's Owner's Manuals and Updates & Drivers pages for the JD-08, with the system program's own page.
THE SURVEY BEHIND THIS CORPUS SAID ROLAND PUBLISHES NO MIDI IMPLEMENTATION CHART FOR THE JD-08, AND ITS MANUAL CARRIES TWO, BEFORE ITS SPECIFICATIONS. "MIDI Implementation Chart (Part)" (reference p. 59) and "MIDI Implementation Chart (System)" (reference p. 62), each Date: Oct. 13, 2021 and Version: 1.00. The Owner's Manuals page lists seven Quick Starts and the Reference Manual twice, as PDF and as HTML, and no separate MIDI implementation (manuals_page); JD-08_reference_eng02_W.pdf and every other name tried answered 403. The HTML edition's Part chart has the same 85 controller rows as the PDF's, number, marks and name (chart_html).
TWO PARTS AND A SYSTEM CHANNEL, EACH WITH A CHANNEL OF ITS OWN. "Sets the MIDI transmitting/receiving channel for PART A." (reference p. 50), and the same for PART B, each 1 to 16; and the system's, 1 to 16 or OFF, where the parts have no OFF: "Pattern selection (program change messages) is output using this channel." (reference p. 50). The system channel is also the one an external keyboard plays on: "Use the MIDI channel you set here when using an external MIDI keyboard in place of the K-25m." (reference p. 50), and another setting names the connector it arrives at - off, MIDI or USB - which "Normally you will leave this “OFF.”" (reference p. 50). Each part plays a patch of its own: "You can select separate patches for parts A and B." (reference p. 15). The Part chart, by its title, covers the two parts. The System chart takes no control change, selects a pattern by program change, "Selects the step sequencer pattern." (reference p. 62), and passes notes, velocity and aftertouch on: "Transmits/receives between the selected part and the system." (reference p. 62). It also recognises pitch bend, and no page says what that bends. No page gives a factory channel for any of the three, or says what the system channel's OFF does.
EIGHTY-FIVE CONTROLLERS: 63 BOTH WAYS, 18 RECEIVED ONLY AND 4 SENT ONLY. The four sent only are the PALETTE sliders, TONE PALETTE A to D on 68 to 71 (reference p. 60), which carry "The last parameters you operated" (reference p. 6). The 18 received only are portamento time and mode, the part's level, expression, LEVEL, the hold and sostenuto pedals, the two bender ranges, the seven Effect B controllers and the legato and unison switches. Effect B can be heard on Part A only: "Effect B is only enabled for PART A." (reference p. 36), and no page says what its seven controllers do on Part B's channel. The keyboard's controllers go out on each part's channel, "What you play on the keyboard for PART A (note and control change messages) as well as patch selections (program change messages) are output using this channel." (reference p. 50); a sequencer setting, CC, makes the unit output a control change when a panel control moves - "When this is on, the unit outputs a control change message whenever you change the patch’s settings (when you operate the controls on the panel)." (reference p. 32) - and no page says what happens when it is off, or outside sequencer mode. There is no controller for the part's pan, "Sets the pan position for each part." (reference p. 42), and 10 is not on the chart.
EVERY CONTROL BELOW NAMES THE PART, BECAUSE THE PARTS' CHANNELS ARE THE ONLY ONES THAT TAKE CONTROL CHANGE. No channel derives from a base - the system's and each part's are set on their own (reference p. 50) - so a control naming no part would mean a channel the JD-08 does not have. All eighty-five numbers are on the Part chart, which by its title covers the parts, and the System chart crosses control change in both columns (reference p. 62): so by the two charts an external keyboard, which plays on the system channel, reaches no part with its controllers. The chart treats the two parts alike, so each control is written once; the seven Effect B controllers name the part too, and the paragraph above says what is known of Part B's.
NO PAGE SAYS WHICH LAYER A RECEIVED CONTROLLER CHANGES. A patch has four layers, switched on and off and chosen for editing with the [TONE A] to [TONE D] buttons: "Select the layer to edit." (reference p. 3). Most of the controllers set what the manual calls a layer's parameters - "Configures the LFO-related settings for the selected layer." (reference p. 41), and the TVA "Adjusts the layer’s volume." (reference p. 11) - and the chart names 111 LAYER and 112 ACTIVE without saying what their values mean (reference p. 60). Nor does it say which volume 110 LEVEL is, where the manual has three: "Adjusts the part volume." (reference p. 42), "Adjusts the tone volume." (reference p. 42) and the layer's. What the hold pedal does is a layer's setting too: "Sets whether the tone sustains when you operate the hold pedal." (reference p. 43).
ONE CONTROLLER HAS A RANGE PRINTED IN THE CHART, AND IT DOES NOT FIT ITS LIST. 72's remark reads WAVEFORM (TX: ENCODER) (RX: 0-108) (reference p. 60): received over 0 to 108, and sent as TX: ENCODER, which the chart does not explain, while the waveform list numbers 108 waveforms from 1 (reference pp. 56 to 58). No other controller has a range or a value printed in the chart, and no page says how a value maps onto its parameter, so those that set a choice - the TVF's mode, HPF, BPF or LPF (reference p. 10), or an LFO's five waveforms (reference p. 7) - are left continuous here, their states named only on the panel's pages. The labels are the chart's Remarks with their doubled spaces made single, and 72's shortened to WAVEFORM; the chart's own spelling, TVF RESONANSE, is kept.
PROGRAM CHANGE REACHES 256 PATCHES, BY BANK. "letting you save a total of 4 x 8 x 8 = 256 patches." (reference p. 15), in groups A to D, banks 1 to 8 and numbers 1 to 8, all of them user memories; the factory filled 85, A.11 to B.35: "This is a list of the patches stored in this unit by factory default." (reference p. 55). The Part chart gives LSB 0, MSB 0–1 and PC 0–127 both ways (reference p. 60), so a bank select of 0 or 1 and a program of 0 to 127 reach them - but no page maps a number to a group, bank and patch. The system channel's program change instead selects one of 128 patterns (reference pp. 23, 62 and 63), and "A pattern can contain patch numbers for parts A and B, as well as the recorded sequence data." (reference p. 23).
CLOCK AND TRANSPORT BOTH WAYS, ON THE SYSTEM CHANNEL'S CHART, AND NO SONG POSITION. Clock, Start and Stop are circled both ways and Continue is received only: "Works the same as “start.”" (reference p. 62), and Song Position is crossed both ways on both charts (reference pp. 60 and 62). The Part chart circles Clock and Commands both ways without the System chart's distinction (reference p. 60). Which port the sequencer follows is a MIDI setting - automatic, internal, MIDI or USB - and which port sends clock another - off, MIDI, USB or all (reference p. 50); neither has a default stated, and the automatic choice "Automatically detects the signal inputted to the jack." (reference p. 50) without naming the jack. The EXT CLK IN jack takes pulses: "Use this jack to input clock signals from an external source." (reference p. 12). A soft thru setting re-sends what arrives at MIDI IN "as-is from the MIDI OUT connector." (reference p. 50).
PITCH BEND AND AFTERTOUCH ARE RECEIVED, NOT SENT. Pitch bend and polyphonic aftertouch are crossed as transmitted and circled as recognised, and channel aftertouch crossed both ways, on both charts (reference pp. 59 and 62). A layer switch, bEnd, "Sets whether MIDI pitch bend messages are received (ON) or not (OFF)." (reference p. 45), and another, AFt.b, whether aftertouch bends the pitch. Aftertouch also moves the cutoff and the volume by layer settings (reference p. 43), has a part's sensitivity, "Sets the aftertouch sensitivity." (reference p. 42), and can give vibrato (reference p. 45); the modulation lever's vibrato depth is a WG setting: "Sets the depth of vibrato that is controlled by the modulation lever." (reference p. 45). The bend range is set in the range menu, which the manual calls "range-related settings for the selected part" (reference p. 41), down 0 to 48 semitones and up 0 to 12 (reference p. 47), and 41 and 49 set it over MIDI.
MODE 3, AND THREE OF THE FOUR MODE MESSAGES ARE ALL NOTES OFF ON A PART'S CHANNEL. Mode 3 is the default both ways on both charts (reference pp. 59 and 62). On a part's channel, omni off, omni on and mono "Works the same as “all notes off.”" (reference pp. 60-61), poly is crossed both ways (reference p. 61), and all sound off, reset all controllers and all notes off are received. The system channel takes none of them (reference p. 62). Local control is crossed. Active sensing is circled both ways on both charts.
SYSTEM EXCLUSIVE IS CROSSED BOTH WAYS ON BOTH CHARTS (reference pp. 60 and 62), and no other page mentions it, so it is recorded as absent, as roland/tr_08's is.
THREE MORE FAULTS AND ONE ODDITY, NONE IN A FIELD, ALL FOUND BY THE BLIND SECOND READER. The System chart's aftertouch row carries the remark "Transmits/receives between the selected part and the system." (reference p. 62) over a cross for transmitted. The layer settings print F.AFt for two settings, aftertouch to cutoff and aftertouch to volume (reference p. 43). The TVA envelope has an L4 in the text - "This adjusts the volume for L1, L2, SUSTAIN LEVEL and L4." (reference p. 8) - and no controller on the chart, where the filter envelope's L4 is 56. And the two LFOs take their controllers in different orders: offset, key trigger and waveform on 17 to 19 for LFO1, waveform, offset and key trigger on 23 to 25 for LFO2 (reference p. 59), which both editions print.
NOT RECORDED, AND WHY:
- the polyphony, which no page states for the sound generator - the one figure, "8 notes (Polyphonic)" (reference p. 63), sits in the specifications' Step Sequencer row beneath
64 steps, and the page does not say whose figure it is; - the voicing, a setting of solo or poly with no count for poly (reference p. 19);
- and a default bend range.
The Quick Start holds no MIDI map at all (quick_start).