Surprise VS Navidrome Music Server

Compare Surprise vs Navidrome Music Server and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Surprise Navidrome Music Server
8 302
6,194 10,043
- 3.9%
2.7 9.5
7 days ago 5 days ago
Python Go
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Surprise

Posts with mentions or reviews of Surprise. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-16.
  • Recommender Systems: Surprise library installation on m1 mac
    1 project | /r/learnpython | 12 Jan 2023
    Something is wrong with the repo. The compiler fails with this error clang: error: no such file or directory: 'surprise/similarities.c' If you go to the repo, you'll see the file is indeed missing: https://github.com/NicolasHug/Surprise/tree/master/surprise
  • Recommender systems question
    1 project | /r/MLQuestions | 12 Nov 2022
    Scikit-surprise is a useful package and has pretty good documentation to help make the leap from conceptual understanding to code. If you want to understand the various implementations, the package is open source and available on GitHub. I canā€™t speak for optimal computational efficiency but I think that itā€™s premature to worry about that while youā€™re still making the transition from concept to functionality.
  • Surprise ā€“ a simple recommender system library for Python
    1 project | /r/Python | 1 Mar 2022
    1 project | /r/recommendersystems | 1 Mar 2022
    1 project | /r/programming | 1 Mar 2022
    1 project | news.ycombinator.com | 1 Mar 2022
  • Dislike button would improve Spotify's recommendations
    4 projects | news.ycombinator.com | 16 Oct 2021
    I spent the latter half of 2019 trying to build this as a startup. Ultimately I pivoted (now I do newsletter recommendations instead), but if I hadn't made some mistakes I think it could've gotten more traction. Mostly I should've simplified the idea to make it easier to build. If anyone's interested in working on this, here's what I would do:

    (But first some background: The way I saw it, you can split music recommendation into two tasks: (1) picking a song you already know that should be played right now, and (2) picking a new song you've never heard of before. (Music recommendation is unique in this way since in most other domains there isn't much value in re-recommending items). I think #1 is more important, and if you nail that, you can do a so-so job of #2 and still have a good system.)

    Make a website that imports your Last.fm history. Organize the history into sessions (say, groups of listen events with a >= 30 minute gap in between). Feed those sessions into a collaborative filtering library like Surprise[1], as a CSV of `, , 1` (1 being a rating--in this case we only have positive ratings). Then make some UI that lets people create and export playlists. e.g. I pick a couple seed songs from my listening history, then the app uses Surprise to suggest more songs. Present a list of 10 songs at a time. Click a song to add it, and have a "skip all" button that gets a new list of songs. Save these interactions as ratings--e.g. if I skip a song, that's a -1 rating for this playlist. For some percentage of the suggestions (20% by default? Make it configurable), use Last.fm's or Spotify's API to pick a new song not in your history, based on the songs in the current playlist. Also sometimes include songs that were added to the playlist previously--if you skip them, they get removed from the playlist. Then you can spend a couple minutes every week refreshing your playlists. Export the playlists to Spotify/Apple Music/whatever.

    As you get more users, you can do "regular" collaborative filtering (i.e. with different users) to recommend new songs instead of relying on external APIs. There are probably lots of other things you could do too--e.g. scrape wikipedia to figure out what artists have done collaborations or something. In general I think the right approach is to build a model for artist similarity rather than individual song similarity. At recommendation time, you pick an artist and then suggest their top songs (and sometimes pick an artist already in the user's history, and suggest songs they haven't heard yet--that's even easier).

    This is the simplest thing I can think of that would solve my "I love music but I listen to the same old songs everyday because I'm busy and don't want to futz around with curating my music library" problem. You wouldn't have to waste time building a crappy custom music app, and users won't have to use said crappy custom music app (speaking from personal experience...). You wouldn't have to deal with music rights or integrating with Spotify/Apple Music since you're not actually playing any music.

    If you want to go further with it, you could get traction first and then launch your own streaming service or something. (Reminds me a bit of Readwise starting with just highlights and then launching their own reader recently). I think it'd be neat to make an indie streaming service--kind of like Bandcamp but with an algorithm to help you find the good stuff. Let users upload and listen to their own MP3s so it can still work with popular music. Of course it'd be nicer for users in the short term if you just made deals with the big record labels, however this would help you not end up in Spotify's position of pivoting to podcasts so you can get out of paying record labels. And then maybe in a few decades all the good music won't be on the big labels anyway :).

    Anyway if anyone is remotely interested in building something like this, I'll be your first user. I really need it. Otherwise I'll probably build it myself at some point in the next year or two as a side project.

    [1] http://surpriselib.com/

  • Show HN: The Sample ā€“ newsletters curated for you with machine learning
    1 project | news.ycombinator.com | 28 Jun 2021
    I'm planning to build a business on this, so probably won't open-source it--but I'm always looking for interesting things to write about! I write a weekly newsletter called Future of Discovery[1]; I might write up some more implementation details there in a week or two. In the mean time, most of the heavy lifting is done by the Surprise python lib[2]. It's pretty easy to play around with, just give it a csv of , , and then you can start making rating predictions. Also fastText[3] is easy to mess around with too. Most of the code I've written just layers things on top of that, e.g. to handle exploration-vs-exploitation as discussed in another thread here.

    Recently I've been factoring out the ML code into a separate recommendation service so it can different kinds of apps (I just barely made this essay recommender system[4] start using it for example).

    I'm happy to chat about recommender systems also if you like, email's in my profile.

    [1] https://findka.com

    [2] http://surpriselib.com/

    [3] https://fasttext.cc/

    [4] https://essays.findka.com

Navidrome Music Server

Posts with mentions or reviews of Navidrome Music Server. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-11.
  • How the greatest MP3 player undid itself (2017)
    1 project | news.ycombinator.com | 16 Apr 2024
  • When you use a Walkman the memories come back: the people in love with old tech
    1 project | news.ycombinator.com | 19 Feb 2024
    My primary way to play music is from my self-hosted navidrome[1] server with my collection of albums I've mostly purchased from bandcamp. I can stream it to many different devices at home or on the go.

    But sitting next to my bed is a Walkman (actually a $10 Jensen version) with a few of my favorite cassettes in the nightstand drawer. Granted, I listen to raw black metal, so the format fits the music well, but I really enjoy just popping in a cassette and hitting play. When I "metaltate", I listen to full albums and do not want to ever be interrupted or have skipping audio due to bluetooth or anything else. It is a really simple and great experience.

    Would I ever take my walkman with me or want to carry around a bunch of tapes on a trip? Of course not! But it does have a time and place that is valuable.

    When friends come over, we use either vinyl or my custom built RFID cards. There is more of a ceremony to digging through a physical stack of albums and being forced to listen to the album front to back.

    [1] https://www.navidrome.org/

  • Navidrome: Self-Hostable Music Server
    1 project | news.ycombinator.com | 9 Feb 2024
  • Ask HN: Managing MP3s on Mac/iOS Without Streaming Services
    1 project | news.ycombinator.com | 15 Dec 2023
    Basically, you run a server on your Mac that scans your music collection and "broadcasts" it to the network (LAN or WAN) via either the venerable UPnP/DLNA[1] family of technologies or the newish Subsonic API[2]. Of course, there are others, like DAAP or AURA, etc..

    From there, you need to point a compatible player to said server to play your music on any supported device.

    If you want to listen to your music on the go, pairing a Subsonic-compatible server on your Mac and a Subsonic-compatible app on your iPhone is probably the way to go. On the server side, I have only used the original Subsonic[3], which was good, but Navidrome[4] seems to be OK. But be aware that the whole "scene" is super messy and fragmented, with the usual abandoned forks of open source alternatives of everything.

    Note that this means opening your local network, which comes with its own complexity.

    This r/selfhosted thread[5] should give you an idea.

    My use case is slightly different. I only care about streaming to my Denon CEOL mini system, which only supports UPnP/DLNA, so my current setup is:

    - All my music is stored on a 2011 Mac Mini,

    - I use Kazoo Server[6] (not perfect but reliable) to stream it to my audio system,

    - which I control via the HEOS app provided by Denon.

    Whatever stack you choose, make sure your files are tagged correctly and consistently.

    [1] https://en.wikipedia.org/wiki/DLNA

    [2] http://www.subsonic.org/pages/api.jsp

    [3] http://www.subsonic.org/pages/index.jsp

    [4] https://www.navidrome.org/

    [5] https://old.reddit.com/r/selfhosted/comments/pz9dpb/lets_mak...

    [6] https://docs.linn.co.uk/wiki/index.php/Kazoo_Server_setup_Ma...

  • Navidrome 0.50.1 Bug Fix Release
    1 project | /r/navidrome | 23 Nov 2023
    [Scanner] Fix Windows scanner (#2633). Thanks @caiocotts
  • Navidrome 0.50.0 just released!
    1 project | /r/navidrome | 19 Nov 2023
    EDIT: This version has a bug when running on Windows that breaks your database! I deleted the Windows binary from the download page and will publish a fix very soon. For details see: https://github.com/navidrome/navidrome/issues/2630
  • .NET 8 Standalone 50% Smaller On Linux
    9 projects | news.ycombinator.com | 11 Nov 2023
    Jellyfin is great for movies & shows. As an anecdote, it's not so good for music if you're a collector. I personally use Navidrome for that[0].

    Anyway, Sonarr[1] makes use of .NET, too. Very reliable software, in my experience.

    [0]: https://github.com/navidrome/navidrome

  • Navidrome: Open-Source Software to enjoy your music collection from anywhere
    4 projects | news.ycombinator.com | 15 Oct 2023
  • How to fix ND playlist after changing folder structure?
    1 project | /r/navidrome | 23 Sep 2023
    I am running ND via the docker container (deluan/navidrome:latest which is 0.49.3 (8b93962f) at the time of this writing) and interact with ND using the web interface.
  • Building a digital music collection in 2023
    5 projects | news.ycombinator.com | 21 Aug 2023

What are some alternatives?

When comparing Surprise and Navidrome Music Server you can also consider the following projects:

LightFM - A Python implementation of LightFM, a hybrid recommendation algorithm.

Airsonic - :satellite: :cloud: :notes:Airsonic, a Free and Open Source community driven media server (fork of Subsonic and Libresonic)

scikit-learn - scikit-learn: machine learning in Python

Jellyfin - The Free Software Media System

tensorflow - An Open Source Machine Learning Framework for Everyone

airsonic-advanced

python-recsys - A python library for implementing a recommender system

Ampache - A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.

Crab - Crab is a ļ¬‚exible, fast recommender engine for Python that integrates classic information ļ¬ltering recommendation algorithms in the world of scientiļ¬c Python packages (numpy, scipy, matplotlib).

koel - šŸ¦ A personal music streaming server that works.

MLflow - Open source platform for the machine learning lifecycle

gonic - music streaming server / free-software subsonic server API implementation