2 min
Audiophile playback should not be a myth. This technical brief tries to uncover the veil from “audiophile-quality sound,” preventing it from becoming the new “military-grade encryption.”
Reduce Uncertainty
Thanks to Tonal’s new audio archive format, playback in the Tonal app is more predictable:
- Only two decoders are involved in the playback (PCM×1 & DSD×1).
- Only one set of decoding parameters per decoder.
- Only one decoder is shipped with the Tonal app.
Audio Stack
To reveal the authentic sound rendered in your audio device’s subtle nuance, Tonal taps into the lowest possible level——the Hardware Abstraction Layer, which bypasses all digital signal processing (sample rate conversion, mixing, etc.). Communication with audio hardware is surgically accurate.
Code Footprint
Tapping into the lowest layer in the audio stack does not give you the shortest digital signal path for free. The audio player’s code that serves the critical real-time rendering IO process still counts.
Tonal’s implementation is both canonical and featherweight. The code between raw lossless audio and the hardware layer is unbelievably tiny: 4 SLOC in C. To put it in another way, the digital signal path in the Tonal app is about one-tenth to one-thousandth that of other “bit-perfect” audio players.
Buffering Stages
For silky-smooth audiophile playback, the Tonal app has the optimal buffering mechanism built-in——no more, no less:
Renderer buffer. The size is measured on-site using a binary search algorithm just before the playback begins. The refresh rate increases linearly with the sample rate.
Feeder buffer. Refresh at a constant tempo for all sample rates (even for DSD audio).
Decoder buffer. An isolated “memory play” buffer with reasonable size.
Coda
Play your favorite music using your trusted audio devices and let the Tonal app speak for itself.
–30–