this post was submitted on 16 Jun 2023
5 points (100.0% liked)

Music Piracy

9 readers
1 users here now

Discussions on music piracy and music in general.

founded 1 year ago
MODERATORS
 

I come from the movies/tv shows i.e. radarr/sonarr side of things. This method does not work for music and I'm wondering what other options I have to auto-find downloads at a reasonable bitrate to fill out my library without having to download entire albums all of the time.

What is your setup?

you are viewing a single comment's thread
view the rest of the comments
[–] Hellow2@lemmy.fmhy.ml 2 points 1 year ago* (last edited 1 year ago)

I realized no software I know really does this how I want so I made my own.

Music Kraken

also my logo is cute

I am developing my own tool, music kraken. The PyPI build is outdated and doesn't work properly but I will make a new one soon.

Problem I am trying to solve

Even when torrenting or downloading music, the metadata isn't consistent and looks really messy in your music player.

Lyrics are only rarely in the file. The notes contain adds for the page it is downloaded from, which is like fair... but fuck it I don't like it.

So I use web scraping and data structures, to make the metadata consistent. As far as I am aware there is nothing like it.

Functionality

It can download songs from:

  • YouTube Music
  • musify.club

and more stuff like bandcamp are yet to come. It can also get additional metadata from musicbrainz, discogs or metal archives. As a matter of fact metal archives is already implemented.

It downloads the audio and converts it to an audio format like mp3, the only limmitation it needs to support ID3 metadata. Then ofc all possible metadatas will be saved and embedet in the file

Interface

usage: __main__.py [-h] [-v] [-m] [-t] [-a] [-g GENRE] [-u URL] [--settings]
                   [-s SETTING SETTING] [--paths] [-r] [--frontend]

A simple yet powerful cli to download music with music-kraken.

options:
  -h, --help            show this help message and exit
  -v, --verbose         Sets the logging level to debug.
  -m, --force-post-process
                        If a to downloaded thing is skipped due to being found
                        on disc, it will still update the metadata
                        accordingly.
  -t, --test            For the sake of testing. Equals: '-vp -g test'
  -a, --all             If set it will download EVERYTHING the music
                        downloader can find. For example weird compilations
                        from musify.
  -g GENRE, --genre GENRE
                        Specifies the genre. (Will be overwritten by -t)
  -u URL, --url URL     Downloads the content of given url.
  --settings            Opens a menu to modify the settings
  -s SETTING SETTING, --setting SETTING SETTING
                        Modifies a setting directly.
  --paths, -p           Prints an overview over all music-kraken paths.
  -r                    Resets the config file to the default one.
  --frontend, -f        Set a good and fast invidious/piped instance from your
                        homecountry, to reduce the latency.
to search:
> s: {query or url}
> s: https://musify.club/release/some-random-release-183028492
> s: #a {artist} #r {release} #t {track}

to download:
> d: {option ids or direct url}
> d: 0, 3, 4
> d: 1
> d: https://musify.club/release/some-random-release-183028492