Song in the Air

For iPhone and iPad · UPnP & DLNA

A music player for people who still listen to albums.

Your music lives on a Synology or a server running MinimServer or Asset UPnP, and you have a hi-fi to play it on. This app brings the two together and then gets out of the way.

Download on the App Store Subscription, cancel anytime, or one-time · iPhone & iPad · iOS 15+ · no account
  • Bit-perfect
  • UPnP / DLNA
  • No account
  • No tracking

What makes it different

Watch Song in the Air

Rediscover the music you already own

Connect it to your Synology, MinimServer or Asset UPnP server and your whole library shows up. You don't have to import anything or create an account.

  1. The mixtapes list: top played, then one mixtape per genre, such as Alternative, Ambient, Electronic, Indie Rock and Post-rock.

    Mixtapes

    Mixtapes that make themselves

    Every genre with at least five artists in your tags gets its own mixtape, shuffled from your shelf. Your most played tracks get one too.

  2. The home screen with genre mixtapes, saved for later and recently played.

    Home

    A record shop you already own

    The home screen shows what you played recently, what you saved for later, what's new on the shelf and what you've never played at all.

  3. An album with play, add to queue and a full track list with next and queue buttons per track.

    Albums

    Albums first

    Songs are great. Albums are better. Play a whole record, or line up single tracks and drag them into the order you want.

  4. The player in CD view: the album cover with the disc beside it.

    Player

    Vinyl, CD or just the cover

    Swipe the player to switch. The record and the CD spin while the music plays.

  5. The pipeline view: media server, control app and network player drawn as a diagram above a live waveform.

    Pipeline

    See where your music goes

    A live diagram from your server to your speakers, with the format that's playing right now.

You own more music than you remember

So instead of always asking what's new, the app helps you find what's already there.

The music goes from your server straight to your network player. Song in the Air on your iPhone only sends commands. Your server Synology · MinimServer Your hi-fi network player · DAC THE MUSIC UNCHANGED Song in the Air just the remote The music goes from your server straight to your network player. Song in the Air on your iPhone only sends commands. Your server Synology · MinimServer · Asset UPnP Your hi-fi network player · DAC THE MUSIC, UNCHANGED Song in the Air on your iPhone JUST THE REMOTE

Bit-perfect

Don't just take our word for it

Lossless, unlike your ex.

When you play to a network player, the music goes from your server directly to your hi-fi. The app only tells the player what to play. Some servers quietly convert files along the way, though, so the app checks every track and shows you what it found.

  1. Your server announces the track with its format, bit depth, sample rate and bitrate.
  2. The app checks the file your server actually sends against that bitrate.
  3. You see the result. Bit-perfect means they match. Not bit-perfect means the stream got converted somewhere. AirPlay always shows this, because it resamples to 44.1 kHz / 16 bit. Unverified means there wasn't enough information, and the app won't guess in your favour.
The signal path panel: Signal path intact, playing bit-perfect. Claimed bitrate 1,411 kbps, measured bitrate 1,411 kbps, container audio/flac, sample rate 44.1 kHz, bit depth 16 bit, 2 channels.
Tap the badge in the player to see the claimed and measured bitrate side by side.

Transport · free and optional

No server? Build one for the road.

Transport is a Raspberry Pi that holds your music, serves it and plays it, on a Wi-Fi network it sets up by itself. Plug in your own DAC and take it wherever you're going.

  • Has its own Wi-Fi
  • Shows your whole library, AIFF too
  • Works with your own DAC
How to build one

The same record, a bigger sleeve

Song in the Air runs on iPad as well as iPhone, upright and sideways. The cover gets the room a big screen gives it, the track list stops hiding behind a tap, and the player lays itself out for whatever size you are holding. One purchase covers both — it is the same app, not a second one.

Song in the Air on an iPad in landscape: the album cover with the vinyl record beside it, title, artist, the bit-perfect marker and the format 16 bit / 44.1 kHz / FLAC.
iPad Air 13″, landscape. Portrait and every smaller iPad work the same way.

Put the cover up across the room

Turn on the second screen in the app and scan the QR code with a tablet or laptop, or open the address in your TV's browser. You'll see the cover, title, year and the actual format, big enough to read from the sofa. Nothing gets installed on the other device, and everything stays on your home network.

The second screen on a tablet: cover with vinyl record, title and artist, 24-bit / 96 kHz / FLAC, progress and playback buttons.
Five views, light or dark, and playback buttons if you want them.

Up and playing in three taps

The server list, showing a NAS and a network player found on the local network.

1 Find your gear

The app finds your servers and players on the network by itself.

An album with its cover, play button and full track list.

2 Pick a record

Browse your shelf with the covers on, or just search.

The player playing to a network player, with the Bit-perfect badge and 16 bit / 44.1 kHz / FLAC.

3 Press play

The music goes from your server straight to your player.

How it compares

Song in the Air compared with streaming services and generic UPnP control apps
  Song in the Air Streaming services Generic UPnP apps
Plays files you ownYesLimitedYes
Bit-perfect to your DACYesVariesSometimes
SubscriptionMonthly, yearly or one-timeMonthlyVaries
Account requiredNoYesVaries
Works with no internetYesDownloads only, while subscribedYes
Built around the albumYesPlaylist-firstRarely
Looks like it belongs on iOSYesYesRarely

Technical details

Protocols
UPnP AV 1.0 · DLNA
Servers tested
Synology · MinimServer · Asset UPnP
Signal path
server to player, the app only sends commands
Bit-perfect check
every track, claimed vs. delivered bitrate
Formats
FLAC · ALAC · WAV · AIFF · DSD · MP3 · AAC
Resolution
whatever your player or DAC supports
Processing
none: no transcoding, resampling or EQ
Gapless
yes, if your player supports it
Player views
cover · vinyl · CD · pipeline
Lock screen
Now Playing with skip, pause and scrub
Account · tracking
none · none
Internet
only for missing covers and artist info · details
Requires
iPhone or iPad with iOS 15+ / iPadOS 15+, a UPnP server or Transport

Questions people actually ask

Does it run on iPad?

Yes. Since version 1.3 it is one universal app for iPhone and iPad, upright and sideways, and one purchase covers both — it is the same app, not a second one. On iPad the cover gets the room a big screen gives it and the player lays itself out for the size you are holding. An iPad also makes a good second screen on its own: turn that on in the app and the iPad shows the cover, title and the real format across the room while your phone stays free to browse for what to play next.

What does bit-perfect actually mean?

It means your music reaches the player exactly the way it's stored on your server, with every sample unchanged. When you play to a network player, the music doesn't go through the app at all. The app just tells the player which file to fetch, so nothing gets resampled, converted, equalised or turned up or down along the way. A 24-bit/192 kHz FLAC leaves your server as a 24-bit/192 kHz FLAC. If your server converts files on its own, the bit-perfect check will show you. What your player or DAC does after that is up to them.

How do I know my stream is really bit-perfect?

The app checks every track. Your server tells it the bitrate of each file, and the app compares that with the size of the file the server actually sends. If they match, you see Bit-perfect. If they don't, you see Not bit-perfect, which means something is converting the stream. AirPlay always shows Not bit-perfect, because it resamples to 44.1 kHz / 16 bit. If there isn't enough information, you see Unverified. Tap the badge in the player for the details.

Is AirPlay or Bluetooth bit-perfect?

No. AirPlay resamples everything to 44.1 kHz / 16 bit, and Bluetooth uses a lossy codec. For bit-perfect playback, use a UPnP network player or a USB DAC plugged into your iPhone. With a USB DAC, the app asks for the original sample rate of every track.

Which media servers does it work with?

Standard UPnP and DLNA servers should all work. We've tested it with Synology DiskStation, MinimServer and Asset UPnP. If yours gives you trouble, write to us. The app finds servers and players on your network by itself.

Do I need a subscription or an account?

You don't need an account. The app is a subscription with a free trial, or you can buy it once as Lifetime. The App Store shows the prices for your country, and you pay and cancel through your Apple Account. There's no login of ours and no cloud, so playback only happens between your own devices. Two things do go online: if your server has no cover for an album, the app looks one up at MusicBrainz and the Cover Art Archive, and if you open the artist panel, it asks Wikidata and Wikipedia. Only artist and album names are sent to those non-profits. The privacy policy lists all of them.

How is this different from Apple Music or Spotify?

It doesn't have a catalogue. It plays the files you already own, on the equipment you already own, at the quality you already paid for. Nobody is renting your music back to you.

Which formats are supported?

That depends on your player or DAC, not on the app, because on a network player the app never touches the stream. In practice that means FLAC, ALAC, WAV, AIFF, MP3, AAC, OGG and DSD, at whatever resolution your equipment can handle.

Does gapless playback work?

Yes, if your player supports SetNextAVTransportURI, and most modern ones do. The app hands over the next track before the current one ends, so live albums play without a gap. If a player can't do it, the app notices and simply plays one track after the other.

Why does it need to keep running in the background?

Because the queue lives in the app. The UPnP standard your equipment uses only knows two commands: play this track, and play this one next. There's no way to hand a player a whole playlist, so the app has to pass the tracks along one at a time and stay awake to do it. It sends the next track before the current one ends, so locking your phone won't stop the music. Some players support the OpenHome extension and can hold a whole queue themselves, and the app uses that when it's there. Most streamers and amplifiers don't have it.

Can I use it away from home?

It's made for your home network. You can use it over a VPN back home, but there's no cloud service and no port forwarding. We left that out on purpose, for privacy.

Sounds better after midnight.

Connect your server, pick an album and press play.

Download on the App Store

Subscription, cancel anytime, or one-time · no account

Named after the title song of Elliott's 2003 album Song in the Air. We're not connected with the band.