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-800 MIDI implementation
The MIDI implementation of the Roland JD-800: what it answers to, and the 19 controls it offers.
At a glance
- Firmware
- Not recorded.
- MIDI channel
- Any one of 1 to 16.
- Parts
- Part, 5 of them: each on a MIDI channel of its own, taking notes, controls, and program changes.
Special Part: on a MIDI channel of its own, taking notes, controls, and program changes. - MIDI mode
- 3: omni off, poly.
- Voices
- 24, or 6, 8, or 12 as set on the instrument, shared by the parts that play notes.
- Note range
- 0 to 127: C-1 to G9, counting middle C as C4.
- Velocity
- Sent and received. Release velocity is received.
- Aftertouch
- Channel pressure, one value for every key. It sends aftertouch too.
- Pitch bend
- How far it bends is not recorded, and the range can be changed.
- Program change
- Received and sent, with 128 presets.
- MIDI clock
- Neither sent nor received.
- Start and stop
- Neither sent nor received.
- Control change
- 19 controls, in the tables below.
- NRPN
- None.
- System exclusive
- Supported.
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_800") has loaded them.
On the base MIDI channel
| Control | CC | Values |
|---|---|---|
Modulationmodulation |
1 | 0-127 |
Breathbreath |
2 | 0-127 Received, never sent |
Portamento timeportamento_time |
5 | 0-127 Received, never sent |
Volumevolume |
7 | 0-127 |
Panpan |
10 | 0-127 Sent, never received |
Hold 1hold_1 |
64 | 0-127 |
Portamentoportamento |
65 | 0-127 Received, never sent |
Part
| Control | CC | Values |
|---|---|---|
Modulationpart_modulation |
1 | 0-127 |
Breathpart_breath |
2 | 0-127 Received, never sent |
Portamento timepart_portamento_time |
5 | 0-127 Received, never sent |
Volumepart_volume |
7 | 0-127 |
Panpart_pan |
10 | 0-127 |
Hold 1part_hold_1 |
64 | 0-127 |
Portamentopart_portamento |
65 | 0-127 Received, never sent |
Special part
| Control | CC | Values |
|---|---|---|
Modulationspecial_modulation |
1 | 0-127 |
Breathspecial_breath |
2 | 0-127 Received, never sent |
Volumespecial_volume |
7 | 0-127 |
Panspecial_pan |
10 | 0-127 Sent, never received |
Hold 1special_hold_1 |
64 | 0-127 |
Where these facts come from
Source documents
- JD-800 Owner's Manual II (Reference), dated March 1991, its user manual, read on 7 October 2026 (the file read).
- JD-800 Owner's Manual I (User's Guide), dated March 1991, its user manual, read on 7 October 2026 (the file read).
- Roland - Support - Manual Archive, its download page, read on 7 October 2026 (the file read).
How they were read
Owner's Manual II (Reference), printing code '91-3, 316 sheets, a scan: how the instrument is organised at sheets 9 and 13, the polyphony at sheet 145, the MIDI implementation at sheets 285 to 296, its three charts at sheets 297, 299 and 301, the specifications at sheet 303, the MIDI chapter of Section III at sheets 204 to 218, external control at sheet 201, and Multi mode at sheets 165 to 174. Owner's Manual I (User's Guide), of the same printing, 146 sheets, a scan: its chapter About MIDI at sheets 107 to 140, for the polyphony and to audit the Reference. And Roland's manual archive page, which links both.
ROLAND LINKS BOTH MANUALS FROM ITS MANUAL ARCHIVE, THOUGH THE PRODUCT HAS NO SUPPORT PAGE. The archive lists "JD-800 Owner’s Manual" (archive) and "JD-800 Users Guide" (archive), the landing page roland/tr_909 and roland/juno_106 already cite. The support address the product would have returns Roland's generic page with no product named.
SEVEN PERFORMANCE CONTROLLERS ARE RECOGNISED AND FOUR SENT, BESIDES DATA ENTRY, RPN AND THE MODE MESSAGES. The Single mode chart circles 1 Modulation, 5 Portamento time and 65 Portamento as recognised, and marks 2 Breath, 7 Volume and 64 Hold 1 with its footnote *1, which says each can be changed manually and is memorised (reference p. 297); 10 Pan is recognised only in the chart for parts 1 to 5 (reference p. 299). Modulation, Volume, Pan and Hold 1 are sent - "JD-800 transmits this message when the modulation lever is operated or when the pedal is operated with Ext control set as MOD." (reference p. 288), and the same for the pedal at VOL and PAN and for the hold pedal. Breath is received only: "Breath messages can only be received by the JD-800, not transmitted." (reference p. 216), and it is converted rather than obeyed, "to modulation, aftertouch or volume message according to the settings of Rx breath" (reference p. 285). Data Entry 6 and 38 and RPN 100 and 101 are recognised too and are how the two registered parameters travel, so they are not carried; Reset All Controllers and the mode messages are the MIDI specification's own.
PAN IS THE ONE PLACE THE SINGLE AND PARTS CHARTS DIFFER, AND THE PROSE SAYS WHY. "This message is used to localize tone sources in multi mode" (reference p. 285) and "In SINGLE mode, this message is ignored." (reference p. 285); the Single mode chart crosses Pan as recognised and the parts' chart circles it. The external control page says the same of the pedal: set to PAN it has no effect in Single mode and sets Part pan in Multi (reference p. 201). The special part's chart crosses Pan as well, and Multi mode says why: "It is not possible to specify overall pan for the Special Part." (reference p. 170).
THE SPECIAL PART'S CHART IS MISPRINTED, AND ITS MARKS ARE READ BY ITS REMARKS. Its control change rows print the numbers 1, 2, 7, 10, 64, 100, 101, 38, 6, 121 in a column that does not match its remarks: 7 stands beside Portamento time, 10 beside Data Entry and 64 beside Pan, while Volume and Hold 1 have no number and 38, 6 has neither marks nor a name (reference p. 301). The marks line up with the remarks, the rows for Portamento time and Portamento are blank, and the numbers 5 and 65 are not printed. That is consistent with the special setup, whose common settings are only a bender range and an aftertouch bend sensitivity (reference p. 174), though no page says the special part ignores portamento. The special part's controls below rest on this reading, and its want of a pan on page 170 as well.
EACH CONTROLLER IS WRITTEN ONCE FOR EACH CHART THAT MARKS IT, SENT OR RECOGNISED. A control naming no part takes the Single mode chart's pair of marks. Keyed part_ it names one of the five synth parts and takes the parts' chart's, and keyed special_ it names the special part and takes that chart's. So pan naming no part is sent and not received. All three charts mark it *1 as transmitted, which is the pedal set to PAN (reference p. 288), the special part's on the reading by its remarks, and only the five parts' chart circles it as recognised. The special part has five of the seven, modulation, breath, volume, hold and a pan that is sent only: its chart leaves both portamento rows blank. The *1 beside Hold 1 as recognised, in the Single and parts charts, is no setting of the MIDI menu: each Tone's Hold control "also determines the effect of Hold messages from MIDI IN." (reference p. 31). What is received arrives on Single mode's receive channel or on the part's own. What is sent leaves on the transmit channel. That follows the receive channel at RX CH in Single mode and PART in Multi, where "The transmit channel will be the same as the receive channel of the Part" (reference p. 207), and at PATCH too for the special part, where the Transmit Channel table's PARTS line "acts as Rx ch." (reference p. 288); its other values are a fixed channel from 1 to 16, PATCH and OFF.
PROGRAM CHANGE REACHES 128 PATCHES, HALF OF THEM ON A CARD. "64 patches can be stored internally and an additional 64 patches can be stored on a separately sold DATA card for a combined total of 128." (reference p. 9), and program numbers 00H to 7FH run from patch I-11 to C-88 (reference p. 287). In the special part a program change of 0 or 1 chooses the internal or the card setup instead (reference p. 287).
THE REFERENCE'S OWN TABLE OF THE MAPPING IS WRONG TWICE: it prints BANK across the top and NUMBER down the side (reference p. 211), the transpose of the User's Guide's table (guide p. 113) and of the implementation, where 01H is I-12 (reference p. 287) - bank 1 number 2, by the guide's "For example, if you press BANK 4 and then NUMBER 7, Patch I-47 will be selected." (guide p. 32); and its sixth row reads 42 42 43 where the guide's reads 41 42 43. Read the guide's table, not the Reference's. The blind second reader found the transposition.
TWENTY-FOUR VOICES ARE TWENTY-FOUR TONES, NOT NOTES. The specifications give 24 voices (reference p. 303), a patch combines one to four tones (reference p. 9), and "The JD-800 is able to produce up to 24 Tones simultaneously." (reference p. 145), above a table of 24, 12, 8 and 6 notes for one to four tones. The User's Guide does the same sum - "24 (Tones) divided by 4 (Tones per note) equals 6 (notes)." (guide p. 124) - under advice for "a multi-part ensemble" (guide p. 124).
THE PARTS SHARE THE TWENTY-FOUR, which is what the guide says when it sets receive channels: "By turning unneeded Parts off, you can conserve notes for those Parts which are sounding." (guide p. 137).
AFTERTOUCH IS CHANNEL ONLY, BOTH WAYS. "Only channel aftertouch messages (Dn) are received and transmitted. Polyphonic aftertouch messages (An) cannot be received or transmitted." (reference p. 214). Aftertouch has a send and a receive switch, Tx A-touch and Rx Atouch on the display (reference pp. 213 and 214); program change has a three-way send setting and a receive switch; volume has a receive switch and breath a receive selector of eight settings (reference p. 216).
SYSTEM EXCLUSIVE CARRIES THE WHOLE INSTRUMENT. Roland's ID, model ID 3DH, request and data set messages, and a parameter address map over seven areas (reference pp. 290 to 296). With Tx edit data on, moving a slider sends its parameter as an exclusive message (reference p. 218). The device ID follows a unit number of 17 to 32, set to 17 at power-up (reference p. 206).
NOT RECORDED, AND WHY:
- the firmware, which neither manual names;
- the special part's addressing, because it plays a tone of the player's choosing on each key from 36 to 96 - a factory Setup List names each key (reference p. 314), and every name and tone can be changed;
- and a pitch bend range, which is a patch's Bender Range, settable over RPN 0 to twelve semitones at most: "Upper limit of the setting is 0CH (12)" (reference p. 286).