Why a gap can appear
A player may wait for one track to finish before opening, decoding, and scheduling the next. Even a short delay becomes obvious in live recordings, classical works, continuous DJ mixes, and albums where one track crosses directly into another.
Gapless playback is not crossfade. Crossfade overlaps and changes the audio near a transition. A gapless hand-off preserves the boundary represented by the files.
How Nyquist schedules local playback
Nyquist streams PCM frames from disk and uses a shared audio player node. When the next track has the same processing format, it schedules that segment before the current one finishes. The audio engine can then cross the file boundary without stopping and rebuilding the path.
If the processing format changes, Nyquist uses a normal completion-driven hand-off. It does not hide a format change behind an unreported conversion merely to keep the transition gapless.
Large files do not need to enter memory at once
Tracks are scheduled as file segments rather than decoded whole into RAM. This keeps memory bounded for long or high-rate files and still allows the next compatible segment to be prepared in advance.
NAS playback adds network timing
For an SMB library, Nyquist starts playback from the remote source while making a temporary local copy. It prefetches the next track so network access is less likely to interrupt rotation. Seeking becomes immediate after the current file is cached.
Network receivers make the final decision
For UPnP/DLNA playback, Nyquist can arrange an original-file hand-off, but the receiver must support gapless queueing for the result to remain continuous. Support varies by device, firmware, container, and codec.
See NAS playback in Nyquist or return to the digital audio guides.