ro-drums-808

Roland TR-808 Rhythm Composer emulation

betaVersion 0.1.0 is a beta

Expect bugs, and changes before 1.0. The installers aren't signed yet, so macOS and Windows warn before opening them. How to open them

Factory rhythms
Dataro-drums-808 0.1.0
Emulates
Roland TR-808 Rhythm Composer
Year
1980
Type
drum machine
Status
working
Without ROM
[~] voice mode
ROM image
d650c-085.ic4, not included
Outputs
Master HI, eleven MULTI OUTs
macOS 11+
Universal: AU, VST3, standalone
Windows 10+
VST3, standalone

Release announcements by email

Nothing else is sent. Mailing list

ro-drums-808 in voice mode: the TR-808 panel with its knobs, step keys and lamps, its brand marks' places left blank, and the plugin bar with SYNC, REAR and SERVICE
A1Sequencer. The CPU, a uPD650C, runs its original program from d650c-085.ic4.
A2Voices. Every voice a netlist of the service notes' schematic, run sample by sample.
FIG. 1Voice mode: the panel with its brand marks' places left blank, and the plugin bar with SYNC, REAR and SERVICE.

In numbers

Measured against Michael Fischer's recordings of a real TR-808 at every knob mark, the unit it is calibrated to. Method: How it was made.

The clips at the top: the rhythms printed in the TR-808's rhythm chart, as a new instance holds them, every knob at its default, in mono, with no effects; four bars at 120 BPM, BASIC-VARIATION at AB.

±12 ¢
every tom and conga, at every knob mark
Roland's TR-808 software: the low tom's median is 67 ¢ sharp, the high tom's 44 ¢ flat.
0.77 dB
the bass drum's median log-spectral distance from the real unit
Roland's TR-808 software: 6.93 dB.
1.0 dB
the spread of 13 voices' levels against one recording gain
Interquartile range, every LEVEL at max on his individual outputs. None is more than 2.2 dB from the rest.

Take the panel off

The main board, the voicing board and the switch board, every part where the service notes draw it, with the six trimmers and their procedures, the circuit by serial number (Board revisions), and a scope on any pin of any part. SERVICE in the guide

45 / 56 Pass
service-note checks
Every frequency, and all the decays but one. The other 11: Differences
ro-drums-808 with SERVICE on: the TR-808's main and voicing boards above its switch board, every part drawn where the service notes put it, and on the right the scope, its readouts, the six trimmers and the circuit by serial number
FIG. 2SERVICE: the boards as they hang under the panel. On the right, the scope, the six trimmers with SET UP, and the circuit by serial number.

Board revisions

Roland changed the TR-808 during production. The service notes list each change by the first serial number to have it (SN p.15). SERVICE's circuit setting picks the unit by serial number, and the model puts back the parts each later change replaced. Every other part is the calibrated unit's. The snare and clap's "PORTION CHANGED" gives no serial, so it is a setting of its own, EARLY or LATE. Both are saved with the session. SERVICE in the guide

From serialPartsChangeWhat it doesModelled
300C11, C203, R49 (INT clock).068 → .047 + .039; R49 150 kΩ → 100 kΩKeeps the clock in range against HD14584 hysteresisYes
300C6, R44, R45 (cowbell).01 → .022; 390 kΩ → 150 kΩ; 330 kΩ → 100 kΩLets the cowbell's frequencies be set in rangeYes
10600R346, R332 (clap)1 kΩ → 680 Ω; 22 kΩ → 27 kΩ“CP sound overmatches the rest in level”Yes
10600R127, R129, R131, C200, C202 (noise)The DC path → C200 10 µF; R131 300 kΩ → 100 kΩ; C202 22 pF addedKeeps IC24's bias current off its outputYes
10600R106, R154, R182, R213, R242, R268, R298 (voice gates)22 kΩ → 10 kΩGate drive at a lower COMMON TRIGYes
10600R101, C201 (common trig)10 kΩ → 100 kΩ; 22 pF addedStops the clap's high frequencies upsetting the other voicesNo: the common trig is an ideal 1 ms pulse
10600R91 (CPU), R25 (DIN sync)15 kΩ → 1 MΩ; 220 kΩ → 1.5 MΩThe battery's drain; false triggeringNo: outside what the model runs

What is still different

The snare's snappy
A little short at mid SNAPPY, its −20 dB point 0.09 octave early against the calibrated unit, and a little strong at the top.
The clap's level
It follows the clap's trimmer, TM3, and real units differ widely: the clap against the maracas reads −3 to +11 dB across four units, +3.3 here.
Units differ
The calibration is one unit's, Michael Fischer's serial 103852, with the clap's TM3 at the value three other units share. Another unit's cymbal rings 1.6 times as long at the same marks. Earlier boards come from the serial number in SERVICE (Board revisions), with the calibrated unit's other parts.
Fitted values
Two lie outside their parts' tolerances: the cymbal's R125 (3.55 kΩ against the printed 2.2) and the rim shot's R318 (165 kΩ against 220).
The toms' diodes
The 1S188FM germanium diodes have no data sheet. Their model is a guess that a real unit's accents bear out.
Service-note checks
11 of 56 fail. The accents of the snare and toms read 14–15 V against the notes' 10–12: the archive.org unit accents its toms as the model does, and Reverb's its snare. The rim shot reads 3.9 and 17.9 V against 3 and 10, the peak to peak of a spiky wave; its accent by RMS is within 0.4 dB of a real unit's. The mid conga's 2.1 V is R253 as printed. The maracas' 4.2 V is the calibrated unit's hotter noise. The cowbell and closed hat accent less than the table; a real unit's accents agree with the model's. The cymbal decays in 355 ms against 800: the calibrated unit takes 380.
CPU
The voices run on worker threads beside the host's. On one core of an Apple M5 Max at 48 kHz, the audio thread carries about 10 % for a kit and 15 % with every voice going.

Not emulated

TRIGGER OUT, the footswitch jacks, SYNC OUT, the factory rhythm tracks 1 and 2 (no document lists their bars), hum, temperature drift, and the supply rails' sag.

How it was made

  1. 01

    The firmware

    Roland's program runs unmodified on an emulated uPD650C. Its I/O map and RAM format were worked out against the owner's manual, procedure by procedure. In time with a host, all 16 steps land within 12 ms of the grid, 5 ms late as DIN sync makes it.

  2. 02

    Schematic and SPICE

    Every circuit of the voicing board was transcribed part by part from the service notes into a netlist, which a circuit solver runs sample by sample: no voice is a hand-made approximation. Each netlist is checked against ngspice on the same circuit: the bass drum, snare, toms, congas, cowbell, clap, rim shot and mixer within 0.3 % RMS, the maracas 0.6 %, the cymbal 1.4 %, the hats 4 %, the claves 5–6 % from discretisation.

  3. 03

    Calibration to a real unit

    The schematic doesn't fix the pots' laws, the trimmers or the parts' spread. These were fitted to Michael Fischer's recordings of a TR-808, serial 103852, at every knob mark, and checked on the marks held out of the fit and on three other units' recordings.

    PartSchematic valueFitted
    Cowbell's two oscillators, TM1 and TM2540, 800 Hz558.3, 823.6 Hz
    The metal squares' duty0.470.545
    White noise, TM4130 mV rms190 mV
    Clap offset, TM3mid0.37
    Bass drum VR6500 kΩ585 kΩ
    Cymbal R1252.2 kΩ3.55 kΩ
    Rim shot R318220 kΩ165 kΩ

Roland's TR-808 software

Its renders measured against the same real unit, at the same knob marks. ro-drums-808 is the closer of the two on 95 of the 99 recordings both can play, on the marks it wasn't fitted to as well. Roland's accents swell its hits 3–6 dB more than the real unit's.

Medians against the real unit. ¢ = cents; LSD = log-spectral distance.
VoicePitch, Roland'sPitch, ro-drums-808LSD, Roland'sLSD, ro-drums-808
Bass drum−102 ¢−11 ¢6.93 dB0.77 dB
Snare−38 ¢+10 ¢5.32 dB1.52 dB
Low tom+67 ¢−7 ¢5.75 dB2.99 dB
High tom−44 ¢0 ¢5.36 dB3.06 dB
Cowbell−23 ¢−4 ¢3.28 dB2.53 dB
Cymbal——2.89 dB1.57 dB

ro-drums-808 was calibrated on this unit; Roland's software wasn't.

ROM image and voice mode

The sequencer program is in the CPU's mask ROM, Roland's copyrighted work, so it isn't included. With the image from MAME's tr808 set, d650c-085.ic4, ro-drums-808 runs it on an emulated CPU. Without it, it runs in voice mode: the same voices over MIDI, with no sequencer. The ROM and voice mode

Panel artwork

Roland's logo and the model names are trademarks, so their four places on the panel are blank. Each place takes an SVG or PNG file of your own, named ro-drums-808-maker and so on, in the ROM folder: drawn yourself, or generated with an AI tool such as Claude or ChatGPT. Panel artwork