docs: cause of the dx7-algorithm-32 -79.5 dB native-vs-wasm diff #43

Merged
aqua merged 2 commits from aqua/dx7-32-diff-cause into main 2026-11-12 10:38:02 +00:00
Member

Cause found, two parts, no code bug.

  1. The native phasor increment rounds one 2^-30 step differently once time = ba.time / ma.SR shares the reciprocal of the sample rate in the graph (native freq*fround(1/SR) = 0.008166666143 vs wasm 0.008166667074 at 392 Hz; matches Math.fround exactly). Linear phase drift. Removing it: -79.3 to -93.0 dB.
  2. si.smoo library text on the macro params (known old vs imp3 form), masked by (1) in the 2026-11-10 imp3 pin. With both removed: -141.2 dB.

Not a quiet-signal artefact (RMS 0.193), not a shift (lag test), not filters. Note: docs/renders/dx7-algorithm-32-native-diff-cause.md; comments in native-diff.mjs and the 2026-11-10 report updated. Unverified: generated code was not read (no C++ backend in wasm, no faust CLI); which compiler version/path causes the division-vs-reciprocal choice is open. Nothing was heard.

🤖 Generated with Claude Code

Cause found, two parts, no code bug. 1. The native phasor increment rounds one 2^-30 step differently once `time = ba.time / ma.SR` shares the reciprocal of the sample rate in the graph (native `freq*fround(1/SR)` = 0.008166666143 vs wasm 0.008166667074 at 392 Hz; matches Math.fround exactly). Linear phase drift. Removing it: -79.3 to -93.0 dB. 2. `si.smoo` library text on the macro params (known old vs imp3 form), masked by (1) in the 2026-11-10 imp3 pin. With both removed: -141.2 dB. Not a quiet-signal artefact (RMS 0.193), not a shift (lag test), not filters. Note: docs/renders/dx7-algorithm-32-native-diff-cause.md; comments in native-diff.mjs and the 2026-11-10 report updated. Unverified: generated code was not read (no C++ backend in wasm, no faust CLI); which compiler version/path causes the division-vs-reciprocal choice is open. Nothing was heard. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
aqua merged commit ae453a4e3d into main 2026-11-12 10:38:02 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/AquaSynth!43
No description provided.