Swing Music is an open-source, self-hosted music streaming server designed for people who own their music files and want a modern, Spotify-style listening experience without a subscription or third-party server. It runs as a lightweight server application that you install on your own hardware, whether a home computer, NAS, or a small server, and stream to any browser on your network or, with additional setup, remotely.
The project is maintained by the swingmx organization on GitHub and is free to use, modify, and redistribute under the AGPLv3 license.
Key Features
Swing Music focuses on making a personal music collection feel like a polished streaming service. It generates daily curated mixes from listening history, normalizes inconsistent metadata across a library, and tracks album versions such as deluxe or remastered editions separately while still associating them correctly.
Additional features include folder-based library browsing, silence detection combined with crossfade for seamless playback, grouping albums and artists into custom collections, detailed listening statistics, Last.fm scrobbling integration, and support for multiple user accounts on the same server.
Pricing
Swing Music is completely free and open-source. There are no paid tiers, subscriptions, or premium feature gates. Users only bear the cost of the hardware and, optionally, the network setup needed to run and access the server.
Key Features
Daily mixes — Automatically curated playlists generated from a user's own listening activity.
Metadata normalization — Cleans up inconsistent tags across a music library for a more consistent browsing experience.
Album versioning — Tracks and labels different album editions, such as deluxe or remastered versions, without duplicating entries incorrectly.
Folder-based browsing — Lets users navigate their library by the underlying file and folder structure, not just by tags.
Silence detection and crossfade — Detects silence in tracks and combines it with crossfade for smoother transitions between songs.
Listening statistics — Provides insight into listening habits and activity over time.
Last.fm scrobbling — Integrates with Last.fm to log listening activity to an external scrobbling service.
Multi-user support — Allows multiple accounts to use the same server instance with separate libraries or preferences.
Pros & Cons
Pros
Completely free and open-source with an active GitHub community
Modern, Spotify-like interface for personal music libraries
Runs on Windows, Linux, and ARM devices, with Docker support
No subscription fees or reliance on a third-party streaming catalog
Useful extras like daily mixes and listening statistics not found in simple file servers
Cons
Requires self-hosting and basic server administration skills
No official cloud-hosted version, so users manage their own uptime and backups
Library quality depends on the user's own file tagging and organization
No verified information on company, funding, or long-term commercial backing
Remote access outside the local network requires additional configuration
Yes, Swing Music is free and open-source software released under the AGPLv3 license.
Do I need my own music files to use SwingMusic
Yes, Swing Music streams your own local audio files rather than offering a licensed streaming catalog like Spotify.
What platforms does SwingMusic support
Swing Music runs on Windows and Linux, including ARM64 and x86 architectures, and can be deployed with Docker. A separate Android client is also available.
Does SwingMusic have a mobile app
There is an Android client available separately; the core server is accessed through a browser-based web interface.
Can multiple people use the same SwingMusic server
Yes, Swing Music supports multiple user accounts on a single server instance.
Does SwingMusic support Last.fm scrobbling
Yes, Swing Music integrates with Last.fm for scrobbling listening activity.
What port does SwingMusic run on by default
By default, Swing Music starts on port 1970, accessed at localhost:1970 in a browser.
Is SwingMusic actively maintained
Yes, the project is maintained on GitHub by the swingmx organization with ongoing releases and contributions.