Awesome
LMS - Lightweight Music Server
LMS is a self-hosted music streaming software: access your music collection from anywhere using a web interface!
A demo instance is available. Note the administration settings are not available.
Main features
- Recommendation engine
- Multi-valued tags:
genre
,mood
,artists
, ... - Artist relationships:
composer
,conductor
,lyricist
,mixer
,performer
,producer
,remixer
- Release types:
album
,single
,EP
,compilation
,live
, ... - MusicBrainz Identifier support to handle duplicated artist and release names
- ListenBrainz support for:
- Scrobbling and synchronizing listens
- Synchronizing 'love' feedbacks
- Audio transcoding for maximum interoperability and reduced bandwith requirements
- Multi-library support
- ReplayGain support
- User management, with several authentication backends
- Subsonic/OpenSubsonic API support
Music discovery
LMS provides several ways to help you find the music you like:
- Tag-based filters (ex: "Rock", "Metal and Aggressive", "Electronic and Relaxed", ...)
- Recommendations for similar artists and albums
- Radio mode, with endless filling of the play queue with tracks similar to what is there
- Searches in album, artist and track names (including sort names)
- Starred Albums/Artists/Tracks
- Random/Starred/Most played/Recently played/Recently added for Artist/Albums/Tracks, allowing you to search for things like:
- Recently added Electronic artists
- Random Metal and Aggressive albums
- Most played Relaxed tracks
- Starred Jazz albums
- ...
Note: depending on your database size and/or your hardware, the tag-based recommendation engine may significantly slow down the user interface. You can disable it in the administration settings.
About tags
LMS relies exclusively on tags to organize your music collection.
Filtering
It is possible to apply global filters on your collection using genre
, mood
, grouping
and language
tags. More tags can be added in the database administration settings, even custom tags.
Note: you can use the lms-metadata
tool to have an idea of the tags parsed by LMS using TagLib.
Multiple album artists
LMS requires the albumartists
and albumartistssort
tags to properly handle multiple album artists on the same album. As they are custom tags, you may need to set up your favorite tagger to add them.
Note: if you use Picard, add the following script to include these tags:
$setmulti(albumartists,%_albumartists%)
$setmulti(albumartistssort,%_albumartists_sort%)
Keyboard shortcuts
- Play/pause: <kbd>Space</kbd>
- Previous track: <kbd>Ctrl</kbd> + <kbd>Left</kbd>
- Next track: <kbd>Ctrl</kbd> + <kbd>Right</kbd>
Installation
See INSTALL.md file.
Contributing
Any feedback is welcome:
- feel free to participate in discussions if you have questions,
- report any bug or request for new features in the issue tracker,
- submit your pull requests based on the develop branch.