A Squeezebox player for iOS devices that transforms your iPhone or iPad into a high-quality network audio player for Lyrion Media Server (LMS).
- Gapless Playback - True gapless transitions between tracks using BASS push streams
- Native FLAC / Opus Support - High-quality lossless or efficiently compressed audio streaming with native decoding
- Material Web Interface - Embedded Material skin for full LMS control
- Background Audio - Continuous playback with lock screen integration and position recovery
- Interruption Handling - Smart pause/resume for phone calls and other app interruptions
- Server Discovery - Automatic LMS server detection with failover support
- iOS Optimized - Native SwiftUI app with BASS-managed audio sessions
- Custom CarPlay Interface - Native CarPlay interface with album browsing, track lists, and playback controls
- Player Synchronization - Sync playback across multiple LMS players
- HTTP Authentication - Support for password-protected LMS servers
- Bit-Perfect USB DAC - Sample rate matching for external audio interfaces
- Premium Icon Pack - 11 alternate app icons available as optional in-app purchase
- FLAC, AAC, M4A, Opus, OGG Vorbis, WAV - All formats supported with native BASS codecs
- Gapless Playback - Supported across all formats using push stream architecture
- Maximum Bitrate Selection for Transcoding - Adjustable in App Settings
- iOS 15.6 or later (iPad app also runs on macOS via "Designed for iPad")
- Lyrion Media Server (LMS/Lyrion Music Server)
- Material Skin plugin (install from LMS Settings → Plugins)
- Network connection to your LMS server
For remote access outside your home network, you'll need a secure VPN solution like Tailscale Etc.
- Install Tailscale on your iOS device and your server.
- Enable MagicDNS - ensure server and iOS device have MagicDNS enabled.
- Enter the MagicDNS name of your server into LyrPlay during app setup.
- Listen to LyrPlay on cellular!
Important: Direct internet exposure of LMS servers is not recommended due to security risks.
LyrPlay can play MP3/AAC/WAV and FLAC without additional plugins, but the MobileTranscode Plugin makes app more capable. For full functionality, use the Mobile Transcode plugin to convert FLAC to Opus.
To install it go to Server Settings -> Manage Plugins -> 3rd Party -> Mobile Transcode
Mobile Transcode Plugin URL: https://raw.githubusercontent.com/mtxmiller/MobileTranscode/main/repo.xml
NOT REQ'd with plugin but if you want to manually configure your custom-convert.conf please see reference here: https://github.com/mtxmiller/MobileTranscode/blob/main/custom-convert.conf
Benefits:
- Opus 256kbps - Bandwidth efficient modern codec with working seek/scrub support
- Lower Data Usage - Smaller file sizes for mobile streaming
- Full Seeking - For manual seek and auto position reccovery on App-open
# Install opus-tools in your LMS container docker exec -it lms bash -c "apt-get update && apt-get install -y opus-tools"
- Create a script in your /"container folder"/config named custom-init.sh with below code
- This will ensure Opus-tools are always enabled on your Lyrion Container
#!/bin/bash
# Install opus-tools for Opus transcoding support
apt-get update -qq
apt-get install --no-install-recommends -qy opus-tools
LyrPlay is designed specifically for the Material Skin by CDrummond. Make sure you have installed the Material Skin plugin in LMS:
- Install Material Skin: LMS Settings → Plugins → Material Skin → Install
- Access App Settings: In Material web interface, go to Settings → Application
- LyrPlay Configuration: App-specific settings appear in the Material settings menu under ‘Application’
Built with:
- SwiftUI for iOS interface
- BASS audio library for streaming playback with gapless support - Un4Seen
- CocoaAsyncSocket for SlimProto communication (via CocoaPods)
- WebKit for Material web interface integration
- BASS integration via Swift bridging header (libbass, libbassmix, libbassflac, libbassopus)
Report issues or request features through GitHub Issues.
App Store Support URL: https://github.com/mtxmiller/LyrPlay/issues
LyrPlay is free and open source. If it's been useful to you, consider supporting continued development:
- ⭐ Star this repository (helps with visibility)
- 💖 Sponsor me on GitHub (monthly or one-time support)
- 🐛 Report issues and suggest features
- 🤝 Contribute code if you're a developer
Your support helps maintain LyrPlay and add community-requested features!
See MIT License.
Copyright 2025 Eric Miller. All rights reserved.