Stock path · baseline
A sustained C4 through the unmodified 1.2.1 Core 0 program. The wavetable source is a clean synthetic seed, not factory ROM data.
Independent offline research notebook
Understand the DSP56724 program well enough to make safe, measured changes: expose hidden behavior, reshape effects, add new oscillator and synthesis modes, and only then assess more simultaneous parts.
CPU-emulated DSP output
Matched stock-program probes plus clean-room DSP56300 algorithm kernels. Headphones recommended.
A sustained C4 through the unmodified 1.2.1 Core 0 program. The wavetable source is a clean synthetic seed, not factory ROM data.
The same note, host flow and render length with Synth 1 chorus level moved to its declared maximum through the original Project activation code.
The same controlled render with Synth 1 reverb send at maximum. The recovered send, split, algorithm-output and stereo return buffers all become live.
A 440 Hz carrier phase-modulated by an 880 Hz operator at 0.25-cycle peak deviation. All 96,094 samples match an independent fixed-point model; this is not yet patched into the stock voice path.
Evidence ledger
Claims stay deliberately separated from implementation hypotheses.
The STM32 initialization, Project activation, live note routine, Core 1 shared-copy service, stock Core 0 program and ESAI output are coupled in one deterministic CPU-emulation profile.
Both projects pin dsp56300 commit c051afa. Gearmulator contributes device-wrapper, debugger, profiling and hash-gated patch patterns—not reusable Virus oscillator source.
Voice accumulation, mix, delay, reverb send/return, master ring and ESAI staging are independently observed. Several one-word offline patches already produce changed-and-restored audio evidence.
A composite saw + pulse/PWM + sub oscillator can retain the stock envelopes, filter, voice allocation, mixer and chorus. That bounds both code and integration risk.
The 39-word benchmark produces 256 bit-exact samples at 20.03 instructions / 30.10 modeled cycles each. A separate two-second render matches the independent Q1.23/Q0.24 model for all 96,094 samples. Stock integration remains unproven.
Six notes per part activate all twelve recovered voice-state blocks plus delay and reverb. The maximum is 42,214 / 81,920 Timer ticks (51.53%). Drum triggers are mapped, but missing external sample memory means the drum renderer is not yet a true worst case.
Possibility map
The order favors bounded experiments that reuse proven stock contracts.
Stored modulation slots 13–20, deep patch fields, effect macros and live setters can add capability without replacing synthesis code.
High value · lower DSP riskJuno-style composite DCO, two-op PM/FM, additive, wavetable and Karplus-Strong modes can reuse the stock voice envelope/filter/mix path.
Best route to new timbresChorus, tape/modulated delay, diffusion, freeze, reverb variants, dynamics, width and output coloration can run at part or global block rate.
Strong seams · cycle tests pendingPossible in principle, but these need a new patch ABI, host scheduling, memory allocation, mixer routes and proven worst-case cycles—not just unused UI slots.
Long-horizon researchChronological notebook
Short entries are published when a result changes the working model or creates something audible.
Sent six notes to each synth through the original live STM32 method under a mapped high-activity Project. All twelve Y-memory voice blocks change, both part accumulators and global delay/reverb paths are nonzero, and the maximum block cost is 42,214 of 81,920 Timer ticks. Four drum lanes were triggered, but sample-memory reconstruction is still required before calling this a complete worst case.
Built a firmware-independent DSP56300 kernel lab, then assembled a stateful two-operator phase-modulation oscillator. The 39-word benchmark and two-second render both match an independent fixed-point model exactly; the long render is now published above.
The benchmark uses a shared 256-word sine table, two persistent phase words and 39 P words. It measures 30.10 modeled DSP cycles per sample before parallel-move optimization; twelve voices would represent about 7.1% of the raw 32-frame DSP-cycle deadline if added wholesale, but replacement cost and worst-case stock load remain unknown.
Added opt-in WAV capture at the ESAI callback. The harness measures all six transmitter lines, selects active transmitter 4, exports the two time slots as stereo PCM and records frame count plus SHA-256.
Confirmed that the existing Tracks harness already uses Gearmulator's exact dsp56300 revision. Adopted its checksum-gated patch discipline and separated multi-DSP emulation lessons from unsupported single-chip capacity assumptions.
AMY is the strongest clean reference found: MIT-licensed fixed-point C with six-op DX7 routing, a Juno voice, bandlimited oscillators, filters and effects. It will supply behavior and vectors, not drop-in DSP code.
Build a 32-sample kernel ABI and assemble a sine lookup plus two-operator phase-modulation routine. Compare golden output and exact emulator cycles before touching the stock oscillator dispatcher.
Research boundary
Primary references