Getting started
Add your first SMB share
- Open the Shares tab and tap +
-
Enter your server details:
- Host — IP or hostname (e.g.
192.168.1.10orsynology.local) - Share — the share name (e.g.
Music) - Username / Password — your SMB credentials
- Host — IP or hostname (e.g.
- Tap Save. The password is stored in your iPhone's Keychain and never leaves the device.
- Grant Local Network permission when iOS prompts — required to reach servers on your Wi-Fi.
Servers that advertise via Bonjour (_smb._tcp) appear in the
Nearby list — tap one to pre-fill the host.
Scan your library
- Open a share and navigate into a folder containing audio
- Tap Scan (top right)
- Pass 1 walks the folder tree and imports track rows
- Pass 2 opens each file to read tags, artwork, and duration
- Switch to Library — albums, artists, and playlists are ready
Rescans are incremental — only folders whose modification time has changed are re-processed. Use Full rescan from the menu after moving files around.
Play
- Tap any track to start
- The Now Playing view gives you scrubbing and skip
- Lock Screen, AirPods, CarPlay, and Apple Watch remote controls work as expected
- Background audio survives screen-off and app-switch
FAQ
What file formats are supported?
DSF (DSD64/128/256) bit-exact to DoP-capable USB DACs; FLAC, ALAC, WAV, AIFF at native rate; MP3, AAC for legacy files.
Why do DSD files need a USB DAC?
DSD is a 1-bit format iOS doesn't decode natively. The app packs DSD into DoP frames and sends them to a USB DAC, which unpacks and plays the original bits. Without a DoP-capable DAC, DSD files show a DSD rate not negotiated error.
Which USB DACs work?
Any USB DAC that advertises DoP (DSD-over-PCM) support. Connect via USB-C (newer iPhones) or a Lightning-to-USB camera adapter. If your DAC's documentation mentions DoP, it will work.
Why does DSD playback take a moment to start?
By default, the entire DSF file is downloaded before playback begins. This guarantees DoP marker alignment never hiccups mid-track. For large DSD256 files this can take 10–30 seconds on first play. Enable Settings → Stream large DSD files to trade that for faster starts — works well on stable Wi-Fi, less so on flaky networks.
Does the app send my data anywhere?
No tracking, no analytics, no account system. The only outbound request is the optional Deezer artist-image lookup (anonymous, off/on per your setting). SMB credentials live in the iOS Keychain on-device.
Will this ever support streaming services?
No. This app is for playing files you own, from a server you control.
Troubleshooting
"Couldn't connect to server"
- Server online and on the same Wi-Fi as your iPhone
- Hostname/IP correct — try pinging from a Mac on the same LAN
- SMB2 (or higher) enabled on the server — SMB1 is not supported
- Share name matches exactly (case-sensitive on most servers)
"Authentication failed"
-
Username is typically without domain prefix (
ars, notWORKGROUP\ars) - Some NAS systems require enabling "SMB file sharing" separately
- Test the same credentials from Finder → Go → Connect to Server to isolate client vs. server issues
DSD track plays silence or stutters
- USB DAC connected and powered on before starting playback
- DAC's DoP indicator showing DoP (not PCM)
- Some DACs need a powered hub for higher DSD rates via Lightning adapters
- Toggle Settings → Stream large DSD files off to force full pre-cache
"DSD rate not negotiated"
Your DAC doesn't advertise DoP for that sample rate. Confirm DoP mode is enabled on the DAC, and try a DSD64 file before DSD128/256.
Scan stops partway through
- A share-level connection drop aborts a scan. Tap Scan again — it skips folders that already completed.
- If a specific folder fails consistently, the Shares tab shows the underlying error.
Library looks stale after renaming an album on the server
Use Full rescan from the menu. Incremental scans skip folders whose modification time hasn't changed, so server-side renames need a full pass.
Known limitations
- DSD requires an external USB DAC. Built-in output, AirPlay, and Bluetooth don't do DSD — there's no path around this on iOS.
- SMB1 is not supported. Enable SMB2 or higher on your server.
- Hybrid DSD streaming is opt-in, not default. The default path is full pre-cache. This is deliberate — the failure mode of mid-stream underrun on DSD is worse than a few seconds of startup latency.