|
Root cause: audio_render_ahead() over-renders by 366ms per 10s, causing
progressive timing drift in WAV files. Events appear early in viewer.
Findings:
- Renders 11,733 extra frames over 40s (331,533 vs 319,800 expected)
- Ring buffer accumulates excess audio (~19 frames/iteration)
- WAV dump reads exact 533 frames but renders ~552 frames per call
- Results in -180ms drift at 60 beats visible in timeline viewer
Debug changes:
- Added render tracking to audio.cc to measure actual vs expected
- Added drift printf to tracker.cc for kick/snare timing analysis
- Added WAV sample rate detection to timeline viewer
See doc/AUDIO_WAV_DRIFT_BUG.md for complete analysis and proposed fixes.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|