Playback & audio quality

With Tunetorch, sound quality comes before convenience. You'll notice that in a few decisions: tracks are loaded in full before they play, the volume matching reliably protects against clipping, and the original is never altered.

The queue

What you're listening to is in the queue. It's stored on the server. If you sign in on another device, it's there, including the playback position.

Three quality levels

In the user menu you switch between three levels:

LevelWhat happens
OriginalThe file as it's stored on the server. FLAC stays FLAC.
Low compressionThe server converts to Opus, at a high bitrate.
High compressionThe server converts to Opus, at an economical bitrate.

Converted versions are cached, so the same track only has to be converted once. A maintenance task keeps this cache small. On a phone you can also switch the level directly in the full-screen player via the bitrate indicator.

For the car there's a quality level of its own (User settings → Playback → Android Auto). That way you listen more economically on mobile data on the road than at home on Wi-Fi.

Loudness normalisation

Tunetorch measures every track according to EBU R128 and brings it to −16 LUFS during playback. Loud tracks get quieter, and unlike many other players, quiet tracks get louder too. Built-in headroom makes sure nothing clips in the process.

When it's measured: immediately on upload and import. For a folder mounted read-only, only when the track plays for the first time, whether in the app, in the browser or when casting. The value is stored, so each track is measured only once. The first start takes a little longer because of it. If you'd rather get that done in one go, let the Measure loudness maintenance task run once.

Two details that make the difference:

You can switch normalisation off: in the user settings (Playback → Volume) or directly at the player via the “LUFS” indicator.

Equaliser

You open the 10-band equaliser at the player via the “EQ” indicator (on the desktop it appears when you move the mouse over the cover art) or under User settings → Playback → Equaliser with “Show sliders”.

Seven presets are included: Flat, Bass Boost, Vocal / Podcast, Rock, Electronic / Club, Classical, Acoustic. Their sliders can't be moved. For settings of your own, create a profile with New, as many as you like.

Your own profiles live on the server like all settings, so they apply on every device.

Dropout-free playback

Every track is loaded onto the device in full before it starts and played from there, instead of loading more during playback. That's why Tunetorch doesn't stutter even on a shaky mobile connection.

Once the current track reaches 80 %, the next one preloads in the background. The change therefore happens with practically no delay.

Pauses from outside stay pauses. Whether you pause via the app, your headphones (including the conversation detection of modern earbuds) or the lock screen: the player doesn't start playing again by itself.

Audio buffer

Under User settings → Playback → Audio processing you choose the buffer size in four levels: Automatic, 0.3 s (default), 0.5 s or 0.75 s.

A larger buffer helps prevent dropouts over Bluetooth, but the equaliser reacts a little more slowly. If you hear crackling over Bluetooth, this is the setting to adjust.

Transition between tracks

Under Playback → Playlist you decide how the next track follows on:

Headphones, lock screen and hardware buttons

Tunetorch works with the operating system's media controls. Bluetooth and hardware buttons control play/pause, next, previous and the position. The lock screen and headphone display show title, artist, album and cover art. If there are several names in the artist line, the full credit appears there (“Beth Hart & Joe Bonamassa”), just as in the app. Guest appearances that are only added after it aren't shown there. Tags appear in square brackets after the title (“… [Live]”).

For uninterrupted playback with the screen locked on Android, there's the Android app. It keeps playing independently of the browser, even though Android otherwise likes to shut down background apps. See App, PWA & offline.

Smartwatches

The Android app also works with the media card of a paired watch: title, artist and cover art appear on your wrist, and you control play/pause and next/previous from there. This has been tested with the Pixel Watch. Watches from other manufacturers also control playback but show more or less depending on the companion app. You can't browse the library from the watch; that only works in the app and in Android Auto.

Instant load and syncing the library

The complete library is cached in the browser. When you open Tunetorch again, it's there immediately, without waiting for the server. If the cached copy is more than an hour old, Tunetorch fetches the new one in the background. Tunetorch also checks for changes whenever you return to the app (tab or window back in the foreground), at most every five minutes. Until the new copy arrives, the previous view stays in place.

If you want to see a change right away: User settings → Advanced → Library → Sync library.

Debug mode and debug log

For troubleshooting there's a debug mode under Advanced → Development. It writes actions, requests to the server and player events to the browser console in colour, with timestamps down to the millisecond.

For the player, you can follow the whole playback path with it: preloading the next track, whether the loudness values arrived in time, the volume matching in plain words (“track should be raised by +6 dB, only +0.5 dB because of clipping protection”) and interruptions.

The last 250 events are also stored on the device. You can view them directly in the settings and download them as a JSON file. That way, for example, a dropout in the background on a phone can be reproduced and the log passed on, without anyone having to set up remote debugging. The mode is off out of the box.

Where to go next

Back to the documentation overview