303BOX HARDWARE LAB / TD-3

Live MIDI and pattern-memory writing are two different TD-3 tests.

A TD-3 can play notes from the browser while refusing a pattern-memory write. This report documents the exact split, the checks used by 303box and a repeatable way to identify whether a failure is in MIDI routing, SysEx verification, pattern encoding or the device’s stored-pattern range.

Written and field-tested by Z3ZTest path: Chrome → USB → TD-3
Open the sequencerComplete MIDI guide
Observed in development

What was actually tested

The development test used a TD-3 connected directly over USB, visible as a Behringer TD-3 MIDI output, with the bass receive path matched to channel 2. Live note playback worked before direct memory writing did. That distinction exposed a verification bug: a missing reply to the optional product-name request was being treated as proof that the device was incompatible, even though a target-specific pattern read could identify the TD-3 safely.

The corrected flow does not assume every unit returns the same friendly product-name string. It asks for the exact target pattern, validates the manufacturer prefix, command, group, section and slot, and accepts the device only after a correctly shaped pattern reply. An explicit incompatible product reply still stops the write.

The two signal paths

PathWhat crosses USBWhat success provesWhat it does not prove
Live MIDINote on/off, velocity, clock and optional transportThe browser output and receive channel reach the synth engineThat TD-3 pattern memory can be read or written
Direct pattern transferDevice-specific SysEx read/write messagesThe selected slot can be backed up, encoded, written and read backThat the hardware patch will sound identical to the browser synth

If live notes work but VERIFY USB / SYSEX fails, do not change the bass channel first. Channel matching belongs to live notes; memory transfer depends on the bidirectional SysEx port pair and a valid device reply.

The safe write sequence used by 303box

  1. Stop browser and MIDI playback so note traffic cannot overlap the transaction.
  2. Open the selected TD-3 MIDI input and output pair.
  3. Request device information. A timeout here is recorded, not mislabelled as an incompatible synth.
  4. Read the exact group, section and pattern slot selected on screen.
  5. Validate the reply and keep the original 123-byte pattern payload as a browser backup.
  6. Encode the sixteen steps only after every active pitch passes the memory-range check.
  7. Ask for explicit confirmation before sending the write message.
  8. Wait for memory commit, read the same slot again and compare the result.

BACKUP + WRITE takes longer than live playback because it is deliberately a read-before-write and read-after-write transaction, not a blind dump.

Why Base Octave 4 and 5 behave differently

For live MIDI, 303box maps C in Base Octaves 1–5 to standard MIDI note numbers 24, 36, 48, 60 and 72. Those values are sent directly without rewriting the browser’s MIDI output function.

303box octaveC sent liveLive playbackDirect TD-3 memory write
124SupportedSupported
236SupportedSupported
348SupportedSupported
460Sent as normal MIDIOutside the documented pattern field
572Sent as normal MIDIOutside the documented pattern field

The reverse-engineered pattern format describes a stored pitch field of 0x00–0x2F, offset one octave below normal MIDI numbering. The old encoder silently clamped higher notes to 0x2F, making different high notes collapse onto one pitch. 303box now refuses that unsafe write and lists the steps that must be lowered. Nothing is written when this range check fails.

A reproducible sixteen-step transfer test

Use one controlled pattern before testing a complex line. Set Base Octave 2, enter the following active steps and leave the others as rests.

StepNoteOctaveGateExpressionReason
1C2TriggerAccentClear start marker
4G2TriggerNoneAudible pitch contrast
7C3TriggerSlideSingle octave transition
8D#3TriggerNoneSlide destination
11A#2TriggerAccentSecond strong marker
15G2TriggerNoneEnd-of-bar check

First listen in BROWSER mode. Then use BROWSER + MIDI and confirm that the TD-3 follows the same pitch order. Finally run TEST READ (NO WRITE), VERIFY USB / SYSEX and BACKUP + WRITE. Changing only one layer at a time makes the first failing checkpoint visible.

Failure messages and the next useful action

StatusMeaningNext action
USB MIDI pair not foundThe browser exposes no matching input/output pairReconnect USB, close other MIDI software, reload and select the new output
Product-name query timed outThe optional friendly-name reply did not arriveAllow the exact pattern-read compatibility probe to continue
Hardware explicitly identifies as another productA real reply contradicts the TD-3 profileStop and select the correct physical output
Pattern read timed outBidirectional SysEx did not completeCheck the input side and whether another application owns the port
Octave range warningActive steps cannot be represented safely in TD-3 memoryLower the listed steps to octaves 1–3; live MIDI may remain higher
Read-back mismatchThe committed slot differs from the encoded patternRestore the saved backup and do not repeat the write blindly

Why the TD-3 does not sound identical to the browser

Pitch order can match while timbre does not. The browser preview and TD-3 use different synthesis paths. On the hardware, waveform, cutoff, resonance, envelope modulation, decay, accent response, tuning, distortion and the audio chain determine the result. Treat the browser as a structural audition of notes, rests and phrasing—not as a promise to reproduce the exact analog patch.

For a fair comparison, disable browser delay and distortion, use a simple TD-3 patch, compare one bar at the same tempo and listen first for note order and rests. Judge filter character only after the sequence itself matches.

Scope, limitations and sources

This is a development and regression-test record, not a manufacturer service manual. Firmware, operating-system MIDI naming and browser permissions can differ. The direct-write protocol is reverse-engineered and intentionally marked experimental. Always test on a copied or disposable slot and retain the automatic backup.