← Back to tools
HTML TR-8 Machine Library · User manual

HTR8ML

A browser-based TR-8 companion: 11-track step sequencer, per-track synthesis, full MIDI I/O on configurable channels, MIDI clock sync, MIDI REC mode, and a persistent pattern library — designed to compose, store and transfer patterns directly to the Roland TR-8.

V1 · 2026 · Web Audio API · Web MIDI API · chilango.cl/SBI

Requirements

Note
The first time you open HTR8ML with a MIDI device connected, Chrome will request MIDI access permission. Click Allow — without this, the MIDI port dropdowns will stay empty.

Interface overview

BlockDescription
MIDI panelPort selectors (In/Out), configurable MIDI channels for both In and Out, clock mode buttons, and connection status.
Pattern LibrarySave, load, update, delete and search patterns. Export/import as JSON. Persists between sessions.
TransportPlay/Pause, Clear, Duplicate 16→32, Loop ON/OFF, MIDI REC, and BPM slider.
Sequencer grid11 rows (one per TR-8 instrument), each with a knob panel + volume slider on the left and 32 steps on the right.

🥁 Sequencer & pads

Click any pad to toggle it on or off. Active pads light up in amber. The currently playing step flashes brighter.

⏱ Transport controls

ControlFunction
▶ Play / ❚❚ PauseStarts or stops playback. Also sends MIDI Start/Stop if clock mode is "Send". Spacebar works as a shortcut.
✕ ClearErases all active steps on all 11 tracks.
⧉ Dup 16→32Copies steps 1–16 into steps 17–32, doubling the pattern length.
🔁 Loop: ON/OFFWhen ON, the pattern loops continuously. When OFF, it plays once and stops — ideal for recording into the TR-8.
⏺ MIDI RECEnables real-time MIDI step recording. See MIDI REC mode.
BPMSets tempo from 60 to 180 BPM. Disabled when clock mode is "Receive".

🎚 The 11 tracks

HTR8ML mirrors the exact 11-instrument layout of the Roland TR-8, using the same General MIDI note numbers. All sounds are synthesized — no samples.

TrackFull nameNoteSynthesis
BDBass Drum36Sine oscillator with fast pitch drop
SDSnare Drum38Band-filtered noise + triangle tone layer
LTLow Tom43Sine oscillator with pitch drop (low)
MTMid Tom47Sine oscillator with pitch drop (mid)
HTHi Tom50Sine oscillator with pitch drop (high)
RSRim Shot37Square wave click + high-pass noise burst
HCHand Clap39Three staggered layers of band-filtered noise
CHClosed Hi-Hat42High-pass noise, short decay. Cuts the open HH.
OHOpen Hi-Hat46High-pass noise, long decay. Cut by closed HH.
CCCrash Cymbal49Bright high-pass noise with peaking EQ, slow fade
RCRide Cymbal51Four detuned sine partials + subtle noise tail
Hi-Hat auto-mute
Triggering CH instantly cuts any ringing OH, and vice versa — just like a real hi-hat choke mechanism.

🎛 Knobs: Tune, Dur, Atk

KnobRangeScaleEffect
Tune0.25x – 2xLinearMultiplies the sound's base frequency — pitch up or down.
Dur20 ms – 1500 msLinearTotal duration of the sound envelope.
Atk1 ms – 80 msLogarithmicTime to reach peak volume from silence. Log scale for natural feel.

🔊 Per-track volume

Below the knobs on each track is a horizontal volume slider (0–100%), controlling that track's output level independently. A Master volume slider at the bottom scales all tracks together.

🔌 MIDI connection & channels

  1. Connect your USB-MIDI interface (and Roland TR-8) before opening the page.
  2. Open HTR8ML in Chrome or Edge and grant MIDI access when prompted.
  3. Select your Input and Output ports from the dropdowns.
  4. Set Ch In to match the channel your external device transmits on (default: 10).
  5. Set Ch Out to match the channel your external device receives on (default: 10).
Important
MIDI In and Out channels are independently configurable (1–16 each). HTR8ML works with any device regardless of MIDI channel — not just channel 10.

🎹 MIDI notes

HTR8ML uses the exact note mapping of the Roland TR-8 (General MIDI percussion standard).

🎚 Control Change (CC)

All three knobs (Tune, Dur, Atk) for each track are mapped to MIDI CC numbers starting at CC 16:

TrackTune CCDur CCAtk CC
BD161718
SD192021
LT222324
MT252627
HT282930
RS313233
HC343536
CH373839
OH404142
CC434445
RC464748

⏱ MIDI Clock

ModeBehavior
InternoHTR8ML uses its own BPM. No clock messages sent or received.
EnviarHTR8ML is the clock master. Sends 24 ppqn + Start/Stop to the output port.
Recibir (TR-8 master)HTR8ML follows an external clock. BPM slider disabled. Incoming Start/Stop controls playback. Recommended when TR-8 is your master clock.
Important
Switching clock mode while playing automatically stops the sequencer. Press Play again after switching.

⏺ MIDI REC mode

MIDI REC lets you program patterns by playing a pad controller or the TR-8 pads in real time while the sequencer runs.

  1. Press ▶ Play (Loop ON recommended for multiple passes).
  2. Press ⏺ MIDI REC — the button turns red.
  3. Play notes on your controller on the configured In channel. Each Note On writes a step into the current sequencer position for the matching track.
  4. Pads light up in the grid as you record.
  5. Press ⏺ MIDI REC again to stop recording.
Tip
MIDI REC works in all clock modes, including "Recibir" with the TR-8 as master.
Note
MIDI REC only adds steps — it does not erase existing ones. Press ✕ Clear before recording to start fresh.

📂 Pattern Library

The library stores your patterns persistently between sessions (browser storage). Each pattern saves the full 32-step grid, BPM, and all knob and volume settings.

Saving

Type a name and press 💾 Guardar to save as new, or ↺ Update on an existing entry to overwrite it.

Loading

Click ▶ Cargar. Restores the full grid, BPM and all knob settings. The active pattern is highlighted in amber.

Export / Import

First launch
On first launch, HTR8ML automatically populates the library with four example patterns: Rock básico, Hip-hop, Funk and Latino — each with a suggested BPM.

🎛 TR-8 workflow: composing and transferring patterns

Recommended setup

Composing

  1. Set clock to Interno and compose freely using the step grid.
  2. Use ⏺ MIDI REC + Play to record steps by playing the TR-8 pads or any MIDI controller.
  3. Name and save the pattern to the library.

Transferring a pattern to the TR-8

  1. Load the pattern from the library.
  2. Set Loop: OFF — the sequencer will play exactly one pass and stop.
  3. Set clock to Recibir (TR-8 master).
  4. On the TR-8: select the destination pattern slot and enter TR-REC mode.
  5. Press Play on the TR-8 — it sends clock start, HTR8ML begins transmitting Note On messages step by step.
  6. After one full cycle, HTR8ML stops automatically.
  7. Press Stop on the TR-8 to exit REC mode. The pattern is now stored in the TR-8's memory.
Key detail
The TR-8 does not support SysEx — there is no way to dump or restore its internal patterns digitally. HTR8ML works around this by acting as a real-time MIDI sequencer that "plays" the pattern into the TR-8's TR-REC mode, exactly as if you were playing it manually on the pads.
Tip
After transferring, disconnect HTR8ML and the TR-8 runs the pattern standalone. Build an entire repertoire in the library and load them into the TR-8 one by one before a session or gig.

🛟 Troubleshooting

No MIDI devices in the dropdowns

TR-8 not playing in sync

MIDI REC not writing steps

Knobs not responding to incoming CC

No audio

Patterns not saving between sessions

Still stuck?
Email sebastian@chilango.cl with your browser version, OS, and MIDI interface model.