Music Kraken
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
I realized no software I know really does this how I want so I made my own.
Music Kraken
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:
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