303BOX HARDWARE LAB / TD-3

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

A TD-3 can receive live notes while a pattern-memory transfer fails. Start with the first failed checkpoint: output and channel for live notes; input/output pairing, SysEx replies and pitch encoding for memory transfer. This guide describes the checks in 303box and a test procedure you can record on your own device.

Written by Z3Z
Open the sequencerComplete MIDI guide
Evidence and limits

What we can establish

A user reported successful live USB MIDI playback with a TD-3 while memory writing still failed. That report establishes a useful diagnostic split; it does not establish the cause of every transfer failure or a successful fix on that device.

The writer tests compare encoded bytes with an independently constructed packet, interpret its note pool, and exercise backup, confirmation, write, read-back and restore with simulated MIDI ports. They cover rests, accents, slides, bank boundaries, triplet mismatches and invalid input. They are software tests, not a physical TD-3 recording. We have not published a successful physical-device write and listening record for this release; direct writing remains experimental.

Why a verified write could previously play the wrong notes

TD-3 memory separates timing from its note pool. A rest occupies a timing step but no pitch, accent or slide entry. The previous writer left gaps in that pool, so notes after rests shifted; its decoder repeated the same mistake and could report a match. Version 2026.09.28.2 packs the sounding notes together and checks them against the visible timeline. It also resets the destination to sixteen straight steps instead of inheriting its old triplet setting.

The grid’s ○ is an outgoing legato connection: its own pitch still sounds. The writer now preserves that pitch and enables slide when the next step contains a note, matching the live MIDI connection rule, including the loop boundary. It does not translate ○ into TD-3 tie timing, which advances the pitch pool differently. An isolated ○ before a rest uses the hardware’s normal gate; its exact duration is not stored by this transfer format.

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
124Sent as MIDIWithin the encoder range
236Sent as MIDIWithin the encoder range
348Sent as MIDIWithin the encoder range
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

For a reviewable device test, record the date, exact model and firmware, browser and operating system, selected ports, group/section/slot, backup result and read-back comparison. Mark an unperformed step as “not tested.” An encoder accepting a note does not prove that a device stored it or sounded it correctly.

Firmware, port naming and browser permissions can differ. Use a disposable slot and keep a separate device backup. The direct-write protocol is reverse-engineered; the sources below describe different parts of the workflow.