TE

Tempo

Material You Subsonic music client for Android

Media Servers ★ 2.2k stars Easy setup GPL-3.0

Tempo is a free and open-source music streaming client for Subsonic-compatible servers such as Navidrome and Airsonic. It features a Material You interface, offline downloads, and Android Auto support.

Key features

  • Subsonic API support
  • Material You theming
  • Android Auto
  • Offline downloads

Pros & cons

Strengths

  • Modern Android design
  • Works with multiple servers

Trade-offs

  • Android only
  • No video support

Tempo replaces

Last reviewed Sep 13, 2026 · 837 words

Tempo is the phone half of a self-hosted music setup, not the server half. You still need a Subsonic-compatible server such as Navidrome holding the files; Tempo is the Android app that turns it into something you would actually hand to a passenger in the car. Among the Subsonic clients I have tried, it is the one whose default screens look like a 2026 streaming app rather than a 2012 file browser, and offline downloads plus Android Auto are the two features that make it the one I keep installed.

Where Tempo sits in a self-hosted music stack

The stack has three layers. Files on disk, tagged properly. A server that indexes them and speaks the Subsonic API: Navidrome for most people, gonic if you want something even smaller, or Airsonic-Advanced if you inherited one. Then clients, one per device type, all talking the same API. Tempo covers Android phones and cars; on the desktop you would use Feishin or the server's own web UI. Because the API is a standard, nothing in Tempo locks you to a server, and you can point it at two servers at once and switch between them, which is useful if a friend shares their library.

The Navidrome walkthrough covers the server side. This guide assumes that exists and is reachable, ideally over HTTPS or Tailscale, since you will be sending your credentials from a phone on whatever Wi-Fi it happens to find.

Connecting it to your server

Install from GitHub releases or the IzzyOnDroid F-Droid repository, add a server with its URL, username, and password, and Tempo pulls the library. It authenticates the Subsonic way, with a salted token rather than the password on each call, and it stores the credentials on-device. Two settings matter more than the rest. The streaming bitrate for mobile data: Navidrome transcodes per player, so ask for 128 or 192 kbps Opus on cellular and the original on Wi-Fi, and your 40 GB FLAC library stops being a data-plan problem. Scrobbling: Tempo reports plays back to the server, and Navidrome can forward those to Last.fm or ListenBrainz, so your listening history stays in one place regardless of client.

It is GPL-3.0, written in Java, and at 2,240 stars it has a healthy contributor count for a client app that first appeared in 2022; releases arrive every few weeks rather than every few months.

Offline downloads and Android Auto are the reasons to pick it

Downloads work at album, playlist, and artist level and are stored in the app's private storage, so you can pre-load a road trip and turn off data entirely. The downloaded copies are whatever bitrate you configured, which means "download at original quality on Wi-Fi, stream at low quality otherwise" is a real workflow. Android Auto support is the other differentiator: the browse tree exposes playlists, albums, and artists on the car screen with proper voice control, and it just works with a Navidrome backend. Most Subsonic clients either lack it or half-implement it. Material You theming means the app picks up your wallpaper colours, which sounds cosmetic and is the reason non-technical family members accept it.

Also present and quietly useful: synced lyrics when the server has them, podcasts and internet radio via the Subsonic API, a home screen of recently added and most played, and gapless playback that behaves on live albums.

What it will not do

Android only, no iOS build, and no desktop. No video, so a Jellyfin library with concert films stays in Jellyfin; the Jellyfin versus Navidrome comparison explains why those two servers are not really rivals. No tag editing, no library management, because that is the server's job. It does not cast to Chromecast in every setup, and the Subsonic API's older parts can produce odd artwork or sort orders on servers other than Navidrome. If a feature is missing, check whether the server exposes it before opening an issue on the client.

Alternatives on the phone

Symfonium is the polished paid option with wider server support, including Jellyfin and Plex, and better casting. Ultrasonic is the older open-source choice with a plainer interface and a longer history. Tempo sits between them: free, actively developed, modern-looking, Navidrome-first. If you need Plex or Jellyfin as well, buy Symfonium; if you need something that has existed for a decade, Ultrasonic; otherwise Tempo.

What I'd do

Navidrome on the server, Tempo on every Android phone in the house, streaming set to 192 kbps Opus on mobile data and original on Wi-Fi, scrobbling on, and a downloaded "car" playlist that refreshes on home Wi-Fi. Expose the server through Tailscale rather than a public port unless you need to share with people outside your network. That combination has replaced Spotify in my household for two years without anyone asking to go back.

Compare Tempo

23 head-to-head comparisons.

Similar media servers apps