Hey guys i have been using Navidrome to stream my music from my server and its been amazing. I primarily use YT Music because of discoverability so I have all of my “primary” playlists (about 8 of them really, but supporting a somewhat arbitrary limit would be nice) in YouTube.

Im looking for an automated way to download the music and keep my navidrome instance updated with a couple playlists. I started working on some Python script to handle it, but its just not working super well so i would prefer to use someone elses solution haha.

Anyone have any good recommendations? I tried this one but I couldn’t actually find the music and it seems to only support one playlist at a time. It would also be nice to download the album art and set some ID3 tags too

    • rhabarba@feddit.org
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      edit-2
      1 day ago

      If you prefer Rust, yaydl (disclosure: I wrote it) would be an alternative to yt-dlp. (Patches welcome - right now, I much depend on Invidious to get YouTube contents.)

      +1 for Beets - awesome software!

    • Lv_InSaNe_vL@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      Yeah I am using yt-dlp to download the music, and I can set that on a cronjob no problem.

      I am specifically asking for better downloading (I don’t want just the raw YouTube title most of the time), album art, and ID3 tagging. But that beets.io thing looks super cool! I might integrate that into my existing python scripting instead of trying to build it all out myself

      • SayCyberOnceMore@feddit.uk
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 day ago

        Download with yt-dlp. All of it. Even into a single folder if that’s easier.

        Then run it all through Picard and that’ll do everything else for you - albumart, metadata, folders, filenames, the lot.

        Anything that Picard doesn’t know about, enter it into the MusicBrainz db to give back to the community.

        Done.

      • dgdft@lemmy.world
        link
        fedilink
        English
        arrow-up
        7
        ·
        edit-2
        1 day ago

        Just to throw out an easy option: if the music is well-labeled on Youtube, you can get pretty close to that full suite with just yt-dlp by using --embed-thumbnail as a stand-in for album art, dumping your files with an “Artist - track - album” naming structure using the --output-template flag — then using an awk or python script as a second pass to add the artist/track/album names to each file as tags.

        E: and in case it isn’t self-evident, you don’t have to give yt-dlp a URL for each track; it’ll work fine with a playlist URL.

        • Lv_InSaNe_vL@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 day ago

          Haha unfortunately the music on YouTube is not especially well managed. Ive been using YouTube for music for a long time so a lot of my music is uploaded by Vevo or “{Artist} - Topic” and stuff like that. Plus (IIRC) YouTube music doesn’t give things like what album a song is from or when it was released