Giter Club home page Giter Club logo

selfhosted-music-overview's Introduction

selfhosted-music-overview

selfhosted-music-overview intends to provide an overview of self-hostable music streaming servers and clients.

Table of Contents

  1. Server Overview
  2. Client Overview
  3. Emoji Definitions
  4. How to Contribute
  5. Selfhosted Photos
  6. Footnotes

Server Overview

Scrobbling Jukebox Mode Read Tags Write Tags API Share Music Multi-User Multi-Library Smart Playlists Heart/ Favorites 5 Star Rating Replay Gain Transcode DLNA Multi-Room Lyrics free Demo Source Code License Reviewed Version
Airsonic last.fm ✔️ ✔️ Subsonic ✔️ ✔️ ✔️ ✔️ ✔️💲 ✔️💲 GitHub GPLv3 10.6.2 Airsonic
Airsonic-advanced last.fm ✔️ ✔️ Subsonic ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ GitHub GPLv3 11 Airsonic-advanced
gonic last.fm, ListenBrainz ✔️ ✔️ OpenSubsonic ✔️ ✔️ ✔️ 1 ✔️ ✔️ ✔️ ✔️ ✔️ 1 ✔️ GitHub GPLv3 0.16.2 gonic
Ampache last.fm, ListenBrainz, libre.fm ✔️ ✔️ Subsonic, custom ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Demo GitHub aGPLv3 5.6.0 Ampache
Jellyfin last.fm 2, ListenBrainz3 ✔️ ✔️ Jellyfin, Subsonic4 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Demo GitHub GPLv2 10.7.7 Jellyfin
Funkwhale last.fm, ListenBrainz, libre.fm, Maloja 5 ✔️ ✔️ WIP custom, subsonic ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ GitLab aGPLv3 1.2.6 Funkwhale
Lightweight Music Server ListenBrainz ✔️ Subsonic, OpenSubsonic ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Demo GitHub GPLv3 3.48.0 Lightweight Music Server
Logitech Media Server last.fm ✔️ ✔️ custom ✔️ 6 ✔️ ❔ 7 ✔️ 8 ✔️ 9 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ GitHub GPLv2 8.2 Logitech Media Server
mStream last.fm ✔️ ✔️ custom ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Demo GitHub GPLv3 5.9.4 mStream
Navidrome last.fm, ListenBrainz ✔️ ✔️ OpenSubsonic ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Demo GitHub GPLv3 0.50.2 Navidrome
Plex last.fm ✔️ ✔️ ✔️ ✔️ 💲 ✔️ ✔️ ✔️💲 ✔️ ✔️ ✔️💲 ✔️ ✔️ ✔️💲 Demo GitHub Plex
Polaris last.fm ✔️ custom ✔️ ✔️ ✔️ ✔️ ✔️ GitHub MIT 0.13.5 Polaris
Scrobbling Jukebox Mode Read Tags Write Tags API Share Music Multi-User Multi-Library Smart Playlists Heart/ Favorites 5 Star Rating Replay Gain Transcode DLNA Multi-Room Lyrics free Demo Source Code License Reviewed Version

Client Overview

OS Gapless Playback Album View Songs View Folder View Album Artist View Artist View Genre View Decade View Year View Playlist Support Most Played Song Most Played Album Recently Played Song Recently Played Album Recently Added Song Recently Added Album Frequently Played Album Offline Mode Download Music Podcasts Scrobbling Musicbrainz Similar Songs Artist Top Songs Shuffle Play Random Album Favorites / Starred Bookmarks 5 Stars Search function Chromecast Support Android Auto Dark Mode Themeable Open Source free Smart Recommendations Video Support Internet Radio Lyrics Crossfade API f-droid Source Code License Reviewed Version
Dsub Android ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic ✔️ 10 GitHub GPLv3 5.5.2 Dsub
Finamp Android, iOS ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Jellyfin ✔️ 11 Github MPL 2.0 0.5.1 Finamp
Gelli Android ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Jellyfin ✔️ 12 GitHub GPLv3 1.3.2 Gelli
Polaris Android Android ✔️ ✔️ ✔️ ✔️ last.fm ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ custom ✔️ 13 GitHub MIT 0.13.5 Polaris Android
substreamer Android, iOS ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic 0.5.1 substreamer
Subtracks Android ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ 14 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic ✔️ 15 GitHub GPLv3 1.0.1 Subtracks
Ultrasonic Android ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic, Airsonic, Supysonic, Ampache ✔️ 16 GitHub GPLv3 2.23.1 Ultrasonic
SubMusic Garmin ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic, Ampache, Plex GitHub GPLv3 0.2.8-oebalus SubMusic
Lightweight Music Server Web ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ custom GitHub GPLv3 3.48.0 Lightweight Music Server
Navidrome Web ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️17 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic GitHub GPLv3 0.47.0 Navidrome
Polaris Web Web ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ custom GitHub MIT 0.13.5 Polaris Web
Tauon Music Box Linux ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Airsonic, Jellyfin, Plex, Subsonic, Koel, Emby, Spotify Github GPLv3 7.0.1 Tauon Music Box
Jellyamp L, W, M ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Jellyfin Github MIT 1.1.1 Jellyamp
Sonixd L, W, M ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ 18 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Jellyfin, Subsonic Github GPLv3 0.8.5 Sonixd
Funkwhale Web ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ custom Gitlab aGPLv3 1.2.6 Funkwhale
Funkwhale Android Android ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ custom ✔️19 Gitlab MIT 0.1.4 Funkwhale Android
Symfonium Android ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Plex, Emby, Jellyfin, Subsonic, Kodi 20 Proprietary 3.2.0 (852) Symfonium
Supersonic L, W, M ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic, OpenSubsonic, Jellyfin GitHub GPLv3 0.8.2 Supersonic
tempo Android ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Subsonic GitHub GPLv3 3.2.8 tempo
OS Gapless Playback Album View Songs View Folder View Album Artist View Artist View Genre View Decade View Year View Playlist Support Most Played Song Most Played Album Recently Played Song Recently Played Album Recently Added Song Recently Added Album Frequently Played Album Offline Mode Download Music Podcasts Scrobbling Musicbrainz Similar Songs Artist Top Songs Shuffle Play Random Album Favorites / Starred Bookmarks 5 Stars Search function Chromecast Support Android Auto Dark Mode Themeable Open Source free Smart Recommendations Video Support Internet Radio Lyrics Crossfade API f-droid Source Code License Reviewed Version

Emoji Definitions

  • ✔️ means yes, it is supported
  • ❌ means no, it is not supported
  • 💲 means the service/feature has a price p where p>0
  • ❔ means help wanted, original author wasn't sure or couldn't judge the covered topic.
  • ⚪ means the feature doesn't apply to this service and cannot be evaluated.
  • an empty cell is missing information. It is not intentionally left blank.

How to Contribute (WIP)

  • work in an editor that supports no forced line breaks (word wrap), otherwise you can't read the raw markdown table. VSCodium, Atom, Notepad++, Kate and others are suitable for raw markdown editing.

  • work in an editor that supports some sort of WYSIWYG like Obsidian or Typora otherwise it is a real mess to fill a markdown table. Typora can clean the final raw markdown table as well, and so can Obsidian with the Advanced Tables plugin.

  • To add a service it is always good to take the current version of the table to match the columns. I'll try to merge all PRs in a timely manner.

  • open issue or a PR

  • matrix-room: #selfhosted-music-overview

Noteworthy

Music Assistant is useful in order to connect streaming services with speakers.

Selfhosted Photos

To get an overview of selfhosted photo libraries please visit foss_photo_libraries. I just found it and thought I should share it since it provides a nive overview and is similar to this project but for photos instead of music.

Footnotes

Footnotes

  1. https://github.com/sentriz/gonic/wiki/recipes#smart-playlists 2

  2. https://github.com/jesseward/jellyfin-plugin-lastfm

  3. https://github.com/lyarenei/jellyfin-plugin-listenbrainz

  4. https://github.com/nvllsvm/jellysub

  5. https://docs.funkwhale.audio/users/builtinplugins.html

  6. Native Plugin enabling UPnP/DNLA support

  7. needs review

  8. Plugin

  9. works best if music library has been analysed by MusicIP beforehand, otherwise limited capability

  10. https://f-droid.org/en/packages/github.daneren2005.dsub/

  11. https://f-droid.org/packages/com.unicornsonlsd.finamp/

  12. https://f-droid.org/en/packages/com.dkanada.gramophone/

  13. https://f-droid.org/en/packages/agersant.polaris/

  14. There is a download button. It doesn't work for me.

  15. https://f-droid.org/en/packages/com.subtracks/

  16. https://www.f-droid.org/en/packages/org.moire.ultrasonic/

  17. Can't write tags to file.

  18. Is planned

  19. https://f-droid.org/en/packages/audio.funkwhale.ffa/

  20. without google play services, you need to become creative. The app generates a unique key once it gets installed which can not be inserted manually.

selfhosted-music-overview's People

Contributors

alphajack avatar bachoseven avatar basings avatar billbutter avatar c0smin avatar dustins avatar dweymouth avatar epoupon avatar extarys avatar freaktechnik avatar joshuaboniface avatar lnicola avatar m0ngr31 avatar memen45 avatar mgray88 avatar mitchray avatar nygellyndley avatar pcowandre avatar sentriz avatar timschneeb avatar vodes avatar zachmyers3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

selfhosted-music-overview's Issues

Add Jukebox Mode to server

Jukebox mode (plays music on an audio device attached to the server, and control from the UI/Mobile client)

I've seen a few servers with the ability. Do we want to add it?

remove the OS column

we need a better handling of this. It is ugly. maybe we need to make a separate table for web, android, etc.

consider swapping rows and columns

  • if a service is added/removed you can simply add/remove a row instead of deleting each element in each row.
  • you can sort based on features

Jellyfin server, some more clients

Emby is in the server part, but Jellyfin is missing 😢

Gelli for Jellyfin was added as a client tho #45

There are also some other clients missing.

  • Server: Jellyfin
  • Client: Tauon (Desktop)
  • Client: S2 (Android) for Jellyfin and Emby

should Internal Access mean external access?

Server table headers:

"Internal Access" -- this should read "external access" I presume, i.e. the ability to access the music server (via simple app/client) from outside the server's home network?

change order

Currently the order of the services is random or based on time when the service was added.

solution: sort rows based on alphabetical order

how to include artist information?

substreamer gives you information about an artist from last.fm if you open the artist page on android. I don't know how to call / abbreviate this feature. add a col?
I really like that feature.

Notes for the Contribution Guide

How to handle new features/columns

Problem:

Let's say we agree on a list of features/columns that need to be reviewed (basically everything that makes sense), what if service X introduces feature Y next month and contributor A adds another column?

Solution:

He then fills out the cell for service X but since he has no further information about other services, he needs to fill out all other cells with the help tag ❔ , otherwise the PR won't get merged. An empty cell is a bad cell once something is reviewed. Noone knows why it is left blank.

Add col for listening progress tracking

Tracking listening progress, both at an album level and at a track level, is important for serving long-form audio files such as audiobooks and podcasts. Please add this to your tracker.

The following software says that it tracks listening progress, though I haven't been able to personally confirm:

  • Booksonic-Air (there's a linuxserver.io docker container)
  • Audioserve

Add Logitech Media Server

Table Content
"Logitech Media Server" (a.k.a. Squeezebox Server) (downloads via https://downloads.slimdevices.com/, information mainly on https://forums.slimdevices.com/forumdisplay.php?27-Logitech-Media-Server) should "check" the following:

Scrobble Plays | Can Read Tags | Can Write Tags | Subsonic API | Can Share Music | Multi-User Support | Multi-Library Support | Smart Playlists | Heart/ Favorites | 5 Star Rating | Replay Gain | Transcode | free | Demo | Source Code | License | Reviewed Version
✔️ | ✔️ | -- | -- | -- | (✔️) 1 | ✔️ 2 | ✔️ 3 | ✔️ | (✔️) 4 | ✔️ | ✔️ | ✔️ | -- | ✔️ | -- | 8.2

1 - not sure
2 - via plugin
3 - works best if music library has been analysed by MusicIP beforehand, otherwise limited capability
4 - not sure what this relates to, but can play "only 5 star rated songs"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.