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 TR-08 MIDI implementation
The MIDI implementation of the Roland TR-08: what it answers to, and the 38 controls it offers, on firmware 1.08.
At a glance
- Firmware
- This page describes firmware 1.08.
- MIDI channel
- Any one of 1 to 16.
- MIDI mode
- 3: omni off, poly.
- Voices
- Not recorded.
- Notes
- Each note plays a drum of its own, listed below.
- Note range
- Not recorded.
- Velocity
- Sent and received. Release velocity is received.
- Aftertouch
- None, sent or answered.
- Pitch bend
- Not recorded.
- Program change
- Not received or sent.
- MIDI clock
- Sent and received.
- Start and stop
- Sent and received.
- Control change
- 38 controls, in the tables below.
- NRPN
- None.
- System exclusive
- None.
Drum notes
Each drum plays from the note beside it. Where a drum has more than one note, the first is the one to send. The last column is the note the instrument itself sends for each.
| Drum | Answers to | Sends |
|---|---|---|
bass_drum |
36, C2 35, B1 |
36, C2 |
rim_shot |
37, C#2 | 37, C#2 |
snare_drum |
38, D2 40, E2 |
38, D2 |
hand_clap |
39, D#2 | 39, D#2 |
closed_hi_hat |
42, F#2 44, G#2 |
42, F#2 |
low_tom |
43, G2 41, F2 |
43, G2 |
open_hi_hat |
46, A#2 | 46, A#2 |
mid_tom |
47, B2 45, A2 |
47, B2 |
cymbal |
49, C#3 | 49, C#3 |
high_tom |
50, D3 48, C3 |
50, D3 |
cow_bell |
56, G#3 51, D#3 |
56, G#3 |
high_conga |
62, D4 | 62, D4 |
mid_conga |
63, D#4 | 63, D#4 |
low_conga |
64, E4 | 64, E4 |
maracas |
70, A#4 | 70, A#4 |
claves |
75, D#5 | 75, D#5 |
Controls
In the order the definition gives them, by group. Under each control is the name a program calls it by, once pymidiinstrumentdefs.load("roland/tr_08") has loaded them.
ACCENT
| Control | CC | Values |
|---|---|---|
ACCENTaccent |
71 | 0-127 |
BASS DRUM
| Control | CC | Values |
|---|---|---|
BD TUNEbd_tune |
20 | 0-127 |
BD TONEbd_tone |
21 | 0-127 |
BD COMPbd_comp |
22 | 0-127 |
BD DECAYbd_decay |
23 | 0-127 |
BD LEVELbd_level |
24 | 0-127 |
SNARE DRUM
| Control | CC | Values |
|---|---|---|
SD TONEsd_tone |
25 | 0-127 |
SD SNAPPYsd_snappy |
26 | 0-127 |
SD COMPsd_comp |
27 | 0-127 |
SD DECAYsd_decay |
28 | 0-127 |
SD LEVELsd_level |
29 | 0-127 |
LOW TOM
| Control | CC | Values |
|---|---|---|
LT TUNElt_tune |
46 | 0-127 |
LT DECAYlt_decay |
47 | 0-127 |
LT LEVELlt_level |
48 | 0-127 |
MID TOM
| Control | CC | Values |
|---|---|---|
MT TUNEmt_tune |
49 | 0-127 |
MT DECAYmt_decay |
50 | 0-127 |
MT LEVELmt_level |
51 | 0-127 |
HI TOM
| Control | CC | Values |
|---|---|---|
HT TUNEht_tune |
52 | 0-127 |
HT DECAYht_decay |
53 | 0-127 |
HT LEVELht_level |
54 | 0-127 |
RIM SHOT
| Control | CC | Values |
|---|---|---|
RS TUNErs_tune |
55 | 0-127 |
RS DECAYrs_decay |
56 | 0-127 |
RS LEVELrs_level |
57 | 0-127 |
HAND CLAP
| Control | CC | Values |
|---|---|---|
CP TUNEcp_tune |
58 | 0-127 |
CP DECAYcp_decay |
59 | 0-127 |
CP LEVELcp_level |
60 | 0-127 |
COWBELL
| Control | CC | Values |
|---|---|---|
CB TUNEcb_tune |
86 | 0-127 |
CB DECAYcb_decay |
87 | 0-127 |
CB LEVELcb_level |
88 | 0-127 |
CYMBAL
| Control | CC | Values |
|---|---|---|
CY TONEcy_tone |
83 | 0-127 |
CY DECAYcy_decay |
84 | 0-127 |
CY LEVELcy_level |
85 | 0-127 |
OPEN HIHAT
| Control | CC | Values |
|---|---|---|
OH TUNEoh_tune |
80 | 0-127 |
OH DECAYoh_decay |
81 | 0-127 |
OH LEVELoh_level |
82 | 0-127 |
CLS’D HIHAT
| Control | CC | Values |
|---|---|---|
CH TUNEch_tune |
61 | 0-127 |
CH DECAYch_decay |
62 | 0-127 |
CH LEVELch_level |
63 | 0-127 |
Where these facts come from
Source documents
- TR-08 MIDI Implementation Chart, eng01, dated 8 August 2017, its MIDI implementation, read on 7 October 2026 (the file read).
- TR-08 Owner's Manual, eng04, dated 20 September 2018, its user manual, read on 7 October 2026 (the file read).
- TR-08 Owner's Manual, eng03, dated 25 August 2017, its user manual, read on 7 October 2026 (the file read).
- Roland TR / Serato DJ Pro Connection Guide, 01, dated 14 February 2019, its user manual, read on 7 October 2026 (the file read).
- TR-08 Preset Track List, eng01, dated 28 August 2017, data list, read on 7 October 2026 (the file read).
- Roland - Support - TR-08 - Owner's Manuals, its download page, read on 7 October 2026.
- Roland - Support - TR-08 - Updates & Drivers, its download page, read on 7 October 2026.
- TR-08 System Program ( Ver.1.08 ), Ver.1.08, dated November 2021, its release notes, read on 7 October 2026 (the file read).
How they were read
MIDI Implementation Chart, one A3 sheet cited as p. 1: the chart, both note tables and the control change list, which is every controller and note number below. Owner's Manual, edition 04, two A3 sheets cited as p. 1 and p. 2: the channel, clock and thru settings and what each panel control is. Edition 03 of the same manual, which Roland no longer lists, for what 1.07 added. The Serato connection guide and the preset track list, the other two documents Roland lists. And Roland's own three pages for this instrument: its owner's manuals, its updates, and the notes for system program 1.08.
NEITHER THE CHART NOR EITHER MANUAL PRINTS A PAGE NUMBER, and nor does the Serato guide, whose 01 at the foot of its first sheet is its edition. So every locator below is a sheet counted from one. The track list numbers its four sheets, and its numbers are the sheets'. The manual is two sheets of A3, each carrying the text of a small booklet.
THIRTY-EIGHT CONTROLLERS, ALL OF THEM BOTH WAYS. The chart's Control Change row gives four ranges, 20–29, 46–63, 71 and 80–88, each o in both columns, and points at the list: "For details, refer to 'Control change list.'" (chart p. 1). The list names every number in those ranges and no other, so the chart and the list are thirty-eight numbers twice over and agree.
THE LABELS ARE THE LIST'S OWN WORDS IN ITS OWN CAPITALS, BD TUNE and the like: a two-letter instrument code and a parameter, except 71, which is ACCENT alone. The codes are the manual's own, expanded in its entry for the select switch: "AC (ACCENT), BD (BASS DRUM), SD (SNARE DRUM), LT (LOW TOM), MT (MID TOM), HT (HI TOM), RS (RIM SHOT), CP (HAND CLAP), CB (COWBELL), CY (CYMBAL), OH (OPEN HIHAT), CH (CLS’D HIHAT)" (manual p. 1). That expansion is where the twelve group labels come from, in its spelling and its capitals.
AND ALL BUT THREE PARAMETERS ARE ONES THE MANUAL GIVES THAT INSTRUMENT. LEVEL is on all eleven: "You can use 11 different instruments (BD–CH) in a pattern." (manual p. 1), and "Use the [LEVEL] knob of each instrument to adjust the volume balance" (manual p. 1). TONE is on exactly the three the knob names: "In the case of the bass drum and snare drum, this adjusts the tension of the head. In the case of the cymbal, this adjusts the character of the sound." (manual p. 1). SNAPPY is the snare's alone. COMP is on the two the menu's compression reaches: "Adjusts the level of compression applied to BD and SD." (manual p. 2). That reads as one value for the pair, where the gain beside it is chosen drum by drum - "Use the [2]–[12] buttons to select the instrument." (manual p. 2) - and the list gives each drum a number of its own, so whether 22 and 27 move one setting or two is not said. TUNE is on the menu's six - "This can be set for BD, RS, CP, CB, OH, and CH." (manual p. 2) - and the three toms, whose [TUNING] knob "Adjusts the pitch of a tom or conga." (manual p. 1). DECAY is on the menu's eight - "This can be set for SD, LT, MT, HT, RS, CP, CB, and CH." (manual p. 2) - and on three more, the bass drum, the open hi-hat and the cymbal, which are presumably the panel's DECAY knob. No text gives those three a decay at all: the knob's entry names no instrument, and the panel drawing's labels are part of an image. What has no number is the rest of the menu's sound settings: pan, gain, the bass drum's type, the hi-hat link and the level knob's curve.
AND THE HI-HAT LINK MAY SILENCE TWO OF THEM. "If this is On, the settings of OH and CH (Tune and Level settings) are linked." (manual p. 2), and "When they are linked, the settings for CH are ignored" (manual p. 2). So while the link is on, 61 and 63, CH TUNE and CH LEVEL, would seem to change nothing; no page says so of MIDI.
FIVE PANEL POSITIONS SERVE TWO INSTRUMENTS EACH, AND THE LIST NAMES ONLY ONE. The instrument select switch's entry pairs the low, mid and high congas with the three toms, the claves with the rim shot and the maracas with the hand clap, and "It is not possible to play or write both of these instruments simultaneously." (manual p. 1). The list's codes are the toms', the rim shot's and the clap's. So whether 46, LT TUNE, retunes the low conga when the switch is on it is not said, and nor is whether a note can sound both of a pair at once: the note tables give all sixteen instruments a number of their own, and the page does not say whether that sentence applies to notes arriving over MIDI.
TWO NOTE TABLES, ONE SENT AND ONE ANSWERED TO. The chart's Note Number row reads *1 transmitted against *2 recognised, and the two tables on the right are headed *1 and *2. Each lists the same sixteen instruments. Seven answer to two numbers and send one: bass drum 35 and 36, snare 38 and 40, closed hi-hat 42 and 44, low tom 41 and 43, mid tom 45 and 47, high tom 48 and 50, and cowbell 51 and 56. The number sent is one of the pair, and not always the higher - the snare sends 38 and the closed hi-hat 42. voices below lists both numbers of each pair, the one sent first, and voices_sent holds the transmitted table, every number of which is also answered to. Until 2026-10-13 voices held the transmitted table, and the seven second numbers were in these words. Twenty-three numbers are answered to in all: every one from 35 to 51, then 56, 62, 63, 64, 70 and 75. So no note range is recorded, because 35 to 75 would claim eighteen numbers the table does not have.
THE CHART'S FOOTNOTE MARKS EACH DO TWO JOBS, AND ONE OF THEM IS EXPLAINED NOWHERE. *1 heads the transmitted note table and is also printed in the Remarks of the Mode row's Default and Messages lines, where no note on the sheet says what it means. *2 heads the recognised note table and also qualifies four Aux rows, which is the one note the sheet prints: "*2 The same processing will be carried out as when All Notes Off is received." (chart p. 1). The mode below is read from the cells, which are plain.
MODE 3, AND NOTHING OVER MIDI CHANGES IT. Default Mode 3 in both columns and Messages x. Omni Mode Off, Omni Mode On, Mono Mode On and Poly Mode On are x transmitted and o recognised, each with that *2: each is processed as an All Notes Off would be, and none of them changes the mode.
ONE CHANNEL, WHICH MAY BE SWITCHED OFF. The Basic Channel row gives 1 as the default both ways, remarked Memorized, and 1–16, OFF as the range. The manual's menu says "Specifies the MIDI transmit/receive channel." (manual p. 2); edition 03 had said the range in words, "Specifies the MIDI transmit/receive channel (1–16, OFF)." (manual_eng03 p. 2).
CLOCK BOTH WAYS, AND A SETTING DECIDES WHETHER INCOMING CLOCK IS FOLLOWED. Clock, Start, Continue and Stop are o in both columns, and so is Song Position. Since 1.07 the menu has four sources: automatic, internal, the MIDI IN connector alone and the USB port alone. Internal follows neither port: "Use this setting if you don’t want to synchronize with an external device." (manual p. 2). Of the automatic one: "If MIDI clock is input simultaneously from the MIDI IN connector and the USB port, the USB port takes priority." (manual p. 2). No document says which source is the default, nor which port sends clock, beyond the Serato guide's word that MIDI OUT syncs other instruments. The USB port carries MIDI as well as audio: "It can be used to transfer USB MIDI and USB audio data." (manual p. 1).
SOFT THRU, FROM 1.07, AND NO DEFAULT FOR IT EITHER. "Specifies whether data received from the MIDI IN connector will be retransmitted from the MIDI OUT connector (On) or will not be retransmitted (OFF)." (manual p. 2). It speaks of the two MIDI connectors and of nothing arriving by USB.
HOW THE MANUAL WAS SHOWN TO DESCRIBE 1.07. Roland's notes for that release name two MIDI additions, "USB and MIDI have been added as MIDI clock sources." (release_notes) and "A function enabling switching soft thru on and off has been added." (release_notes), and support for Serato DJ Pro besides. Edition 03, made in August 2017 by its own metadata, has two clock sources and no thru switch. Edition 04, the one Roland links, has four, the switch, and the rule for when both ports carry clock; the rest of what differs drops a range restated in brackets or changes a word's case, and neither edition describes the Serato sync. So edition 04 is the manual for 1.07's MIDI settings, although its own metadata dates it September 2018, four months before the release.
NO PROGRAM CHANGE AND NO SYSTEM EXCLUSIVE, BOTH CROSSED BOTH WAYS. Song Select is crossed too, so the chart offers no message that chooses one of the 256 rhythm patterns or the twelve tracks: "The TR-08 has 256 rhythm patterns, and two variations (A and B) for each rhythm pattern." (manual p. 1).
THREE AUX MESSAGES ARE SENT WITH A REMARK NOTHING EXPLAINS. All Sound Off, Reset All Controllers and All Notes Off are o both ways, each remarked "Transmitted: MIDI OFFLINE" (chart p. 1), and neither the sheet nor either manual says what offline means here. Active Sensing is o both ways; Local On/Off and System Reset are x both ways.
VELOCITY IS MARKED BOTH WAYS AND NO PAGE SAYS WHAT IT DOES. The chart's two Velocity rows, Note On and Note Off, are o in all four cells. Neither edition of the manual uses the word velocity. What it has is an accent: a knob, which "Adjusts the strength of the accent." (manual p. 1), and a position on the select switch, AC, whose steps are written into a pattern as a drum's are - but no note number. Controller 71, ACCENT, is presumably the knob, so it sets the accent's strength rather than accenting a step. Whether a received velocity changes the sound, or an accented step is sent louder, is not said.
THE SERATO GUIDE NAMES THIS INSTRUMENT AND SPEAKS OF CLOCK. "Roland TR-8S, TR-8, TR-08, and TR-09 drum machines are now sync compatible with Serato DJ Pro via USB." (serato_guide p. 1), and "the MIDI OUT port on the TR-8S, TR-8, TR-08, and TR-09 allows synchronization of other external sequencer-based instruments" (serato_guide p. 1). Its section for this machine says "Update your TR-08 to Ver.1.07 or later." (serato_guide p. 3). It names no controller, note or exclusive message. And it sends the reader to a heading neither edition of the manual has - "refer to 'Device Connections - Micro USB Port' in the owner’s manual" (serato_guide p. 3) - while the SYNC mode it switches on with the menu button is in neither edition either. The preset track list is four sheets of track credits - number, tempo, genre, author and a web address - beside artwork with no text, and the word MIDI is not in it.
CHECKED AND ABSENT: both aftertouches and pitch bend, each x in both columns; Song Select and Tune Request; and NRPN, because the chart's Control Change row names every number the instrument uses and an NRPN needs four that are not among them. Swept across both editions of the manual with the text reduced to letters and digits, none of NRPN, exclusive, program change, bank select, control change, velocity, aftertouch, pitch bend, polyphony, omni or offline appears.
NOT RECORDED:
- the polyphony, which no document states;
- values, bands or defaults for any control, none of which any document gives;
- and how a controller's 0 to 127 lands on the menu's own ranges, -128 to 127 for tune and decay and 0 to 100 for compression, which no document gives either.