Reconfigurable Analog Polyphonic Synthesizer
MIDI Implementation Chart
Manufacturer: Tonifex
Model: Timbre
Date: 2026.03.08
Version: 1.0
Function Transmitted Recognized Remarks
Basic Channel
Default 1 1 MPE: manager ch 1
Changed 1–16 1–16
Mode
Default Mode 3 Mode 3
Messages × Mode 3, 4 Mode 4 = MPE
Altered
Note Number
True Voice × 0–127
24–108 Musically useful range
Velocity
Note On × VCA gain + filter offset
Note Off × MPE lift velocity
After Touch
Key's (poly) × Per-note: filter, VCA, osc mode
Ch's (channel) × Configurable target
Pitch Bend × Per-ch in MPE; SC clock ratio
Control Change
1 Mod Wheel × LFO depth
7 Volume ×
10 Pan × 64 = center
64 Sustain × On manager ch (MPE)
71 Resonance × SC block capacitor ratio
74 Brightness / Slide × MPE: osc mode morph
91 Reverb Send × If external FX present
120 All Sound Off × Immediate silence
123 All Notes Off × Respects sustain pedal
Program Change × Stored presets
System Exclusive Mfr ID: 0x7D (dev) / TBD
System Common
Song Position × ×
Song Select × ×
Tune Request × ×
System Real Time
Clock × LFO sync to external clock
Start / Stop × Sequencer transport
Aux Messages
Local On/Off × × No internal keyboard
All Notes Off × CC 123
Active Sensing × Monitors for 300 ms timeout
System Reset × Returns to power-on state
Identity Reply × Universal SysEx (Phase 1+)
Mode 1: OMNI ON, POLY Mode 2: OMNI ON, MONO Mode 3: OMNI OFF, POLY Mode 4: OMNI OFF, MONO
= Yes × = No

SysEx Command Summary

Command Byte Direction Description
Version Query01Host → TimbreRequest firmware version
Version Reply02Timbre → HostASCII version string
Patch Dump Req10Host → TimbreRequest stored patch
Patch Dump11EitherComplete patch state
Patch Load12Host → TimbreWrite patch to storage
Param Get20Host → TimbreQuery single parameter
Param Set21Host → TimbreSet single parameter
Param Reply22Timbre → HostResponse to Param Get
Voice Arch Query30Host → TimbreQuery voice topology
Voice Arch Reply31Timbre → HostSC block config map
Diag Reg Read40Host → TimbreRead PSoC register
Diag Reg Reply41Timbre → HostRegister contents
Diag Reg Write42Host → TimbreWrite PSoC register

USB Device Identity

Descriptor Value Notes
idVendor0x303AEspressif Systems (dev); production PID via allocation
idProductTBDPhase 3
iManufacturer"Tonifex"
iProduct"Timbre"Appears in DAW MIDI preferences
bcdDeviceYYMMDate-based firmware version
bDeviceClass0x01 Audio
bDeviceSubClass0x03 MIDI StreamingClass-compliant, no driver

MPE Zone Configuration

Configuration Manager Members Use Case
Full lower zone (default)Ch 12–16 (15)Single controller, full MPE
Split — lower + upper1, 162–8, 9–15Two controllers / split
Lower zone — reducedCh 12–5 (4)Phase 2 prototype
Standard MIDI1–16Legacy / multi-timbral
Default MCM Sequence (Lower Zone, 15 members)
B0 65 00CC#101 = 0 (RPN MSB) on ch 1
B0 64 06CC#100 = 6 (RPN LSB) on ch 1
B0 06 0FCC#6 = 15 (Data Entry) on ch 1

Latency Budget

Stage USB DIN Notes
Transport≤1 ms~1 msUSB host poll / DIN serial
ESP32 MIDI parse~50 µs~50 µsRunning buffer, channel routing
Voice allocation~10 µs~10 µsRound-robin / lowest-available
I2C write~200 µs~200 µs8 bytes @ 400 kHz Fast Mode
PSoC register apply<12 µs<12 µsAnalog block config propagation
SC settling~100 µs~100 µsSwitched-cap filter steady state
Total (single voice) ~1.3 ms ~1.4 ms Well under 3 ms threshold