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.
- Tracks get in via the main button or the options menu (⋮).
- If you like, playback starts automatically when you add something to an empty queue (user settings, off out of the box).
- You change the order by dragging: on a computer you drag the row directly. On a touchscreen you first tap the pencil icon for Edit and then drag by the handle (⠿) on the left. The track follows your finger, and the list makes room where it will land when you let go. With the keyboard, tab to the handle: ↑ and ↓ move by one place, Home and End to the start or the end.
- You remove individual tracks under Edit. The bin at the top left clears the whole queue and is always there.
- In edit mode, a button at the top centre takes you to the playlist manager. There you edit the same queue with more room and can save it as a playlist.
Three quality levels
In the user menu you switch between three levels:
| Level | What happens |
|---|---|
| Original | The file as it's stored on the server. FLAC stays FLAC. |
| Low compression | The server converts to Opus, at a high bitrate. |
| High compression | The 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:
- The headroom depends on the equaliser. Tunetorch only plans in more headroom when the equaliser actually boosts. Without the equaliser, correspondingly more volume is left over.
- At the end of the chain sit a true-peak limiter and a brickwall limiter as a safety net. They only step in when Tunetorch actually raises the level (a quiet track or an equaliser band above 0 dB). With normalisation off and a flat equaliser, the track comes out unchanged.
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:
- Seamless: straight away, without a gap. In the Android app with normalisation switched on, a very short gap remains: that's where the level changes between tracks, otherwise the new track would briefly start at the volume of the previous one.
- Pause of 0.5, 1 or 2 seconds (default: 1 s)
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.