Hey everyone! I would like to share a web project that I just built for Navidrome users in this sub. It exports playlists from Spotify to Navidrome. It’s called NaviSpot (Yes! I know! Quiet an original name :P). It’s free and has 0 ads. I’ve wanted to fully transition to Navidrome as my music library and wasn’t sure if there were any other tools that did this. So, I decided to build this and share it with the community if anyone shares the same frustration as I did when trying to move their playlists from Spotify. The project is opensource and is available on github (https://github.com/betsha1830/navispot). If you would like to check out the live version you can do so by going to https://navispot.gaga.pro.et/.

If you have any suggestions, questions, additional features or need any help feel free to DM me.

Hope y’all have a great day!

  • dabe@lemmy.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 days ago

    Looks cool!

    I’m curious about the ISRC matching. I’m working on bringing support for retrieval by ISRC in opensubsonic clients (and Navidrome tends to support the opensubsonic spec) but I didn’t think anyone actually added support yet since it was somewhat recently added to the spec.

    I thought maybe it was a Navidrome specific feature to retrieve by ISRC, which would be cool!

    But looking at what I think is the track matching algorithm for ISRC seems to just always return unmatched https://github.com/betsha1830/navispot/blob/main/lib/matching/isrc-matcher.ts

    Am I just reading it wrong?

    • betsha1830@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      The main ISRC matching is done in the orchestrator.ts file within the same folder. Subsonic was difficult to work with when I tried to implement matching because the endpoint had a limited number of tracks it returns. So I ended using the native Navidrome search API to find the track by title and compares the ISRC. You can check out the file to have a better understanding. Feel free to reach out if you have any more questions.