Gapless at DSD512
Why seamless playback becomes a cache and scheduling problem at very high output rates.
Gapless playback is easy to describe: the next track should begin immediately after the current track without an inserted silence or audible discontinuity.
At high-rate DSD, achieving that result reliably requires considerably more than removing a pause between two files.
Two Tracks, One Timeline
The player knows that Track A and Track B are separate files.
The DAC does not care.
From the output device's perspective, the desirable result is simply one uninterrupted sequence of correctly timed samples.
Conversion Takes Time
If Track B must be decoded, sample-rate converted and modulated into DSD only after Track A finishes, the system is already too late.
The next track therefore needs to exist—at least partially—before it is required.
Look-Ahead
This naturally leads to a sliding playback window:
- previous material retained where useful;
- current material actively consumed;
- upcoming material prepared ahead of time.
At high output rates, the exact size of that window becomes an engineering trade-off between memory, CPU scheduling and responsiveness.
Boundaries
Track boundaries also interact with converter state.
Some processing stages have history. Treating every file as an isolated operation can therefore produce behavior at the boundary that differs from continuous processing.
Conclusion
Gapless playback is not primarily a button or an audio-device feature.
At high DSD rates it is an orchestration problem: data must be decoded, converted, buffered and committed in the right order before the listener reaches the boundary.