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
| Path | What crosses USB | What success proves | What it does not prove |
|---|---|---|---|
| Live MIDI | Note on/off, velocity, clock and optional transport | The browser output and receive channel reach the synth engine | That TD-3 pattern memory can be read or written |
| Direct pattern transfer | Device-specific SysEx read/write messages | The selected slot can be backed up, encoded, written and read back | That 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
- Stop browser and MIDI playback so note traffic cannot overlap the transaction.
- Open the selected TD-3 MIDI input and output pair.
- Request device information. A timeout here is recorded, not mislabelled as an incompatible synth.
- Read the exact group, section and pattern slot selected on screen.
- Validate the reply and keep the original 123-byte pattern payload as a browser backup.
- Encode the sixteen steps only after every active pitch passes the memory-range check.
- Ask for explicit confirmation before sending the write message.
- 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 octave | C sent live | Live playback | Direct TD-3 memory write |
|---|---|---|---|
| 1 | 24 | Supported | Supported |
| 2 | 36 | Supported | Supported |
| 3 | 48 | Supported | Supported |
| 4 | 60 | Sent as normal MIDI | Outside the documented pattern field |
| 5 | 72 | Sent as normal MIDI | Outside 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.
| Step | Note | Octave | Gate | Expression | Reason |
|---|---|---|---|---|---|
| 1 | C | 2 | Trigger | Accent | Clear start marker |
| 4 | G | 2 | Trigger | None | Audible pitch contrast |
| 7 | C | 3 | Trigger | Slide | Single octave transition |
| 8 | D# | 3 | Trigger | None | Slide destination |
| 11 | A# | 2 | Trigger | Accent | Second strong marker |
| 15 | G | 2 | Trigger | None | End-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
| Status | Meaning | Next action |
|---|---|---|
| USB MIDI pair not found | The browser exposes no matching input/output pair | Reconnect USB, close other MIDI software, reload and select the new output |
| Product-name query timed out | The optional friendly-name reply did not arrive | Allow the exact pattern-read compatibility probe to continue |
| Hardware explicitly identifies as another product | A real reply contradicts the TD-3 profile | Stop and select the correct physical output |
| Pattern read timed out | Bidirectional SysEx did not complete | Check the input side and whether another application owns the port |
| Octave range warning | Active steps cannot be represented safely in TD-3 memory | Lower the listed steps to octaves 1–3; live MIDI may remain higher |
| Read-back mismatch | The committed slot differs from the encoded pattern | Restore 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.
- Behringer TD-3 Quick Start Guide — manufacturer USB/MIDI context.
- TD-3 MIDI implementation notes — independent reverse-engineered pattern fields.
- 303box MIDI & Hardware Guide — browser permissions, ports and channel matching.