Skip to main content

All-in-one music manager: scrapes albums, artists and songs from musicbrainz and automatically download them from youtube.

Project description

Music Dragon

Desktop application written in Python3 + PyQt6 with a spotify-likish interface that can be used to search artists, albums and songs and automatically download and tag those with one click.

Supports Linux and Windows (experimental).

Features

  • Search artists, albums or songs (musicbrainz)
  • Automatically download single songs or entire albums from YouTube with a single click (youtube_dl)
  • Manually download any song or playlist from YouTube by pasting its URL
  • Automatically fetch images of songs and albums
  • Automatically tag downloaded songs using musicbrainz and YouTube metadata, with a configurable tagging pattern
  • Show and manage local songs
  • Automatically recognize whether songs and albums have already been downloaded (the border of the song/album's cover changes accordingly)
  • Play songs, either locally or directly from YouTube stream

What it looks like

Search Artist Album Downloads

INSTALLATION

Linux

pip install music-dragon

Windows

Using pip:

pip install music-dragon

Otherwise:

  • Clone the repository
  • Follow the instructions at .\other\pyinstaller_data\windows\README.txt:
    • Place the ffmpeg binaries (ffmpeg, ffplay, ffprobe) in .\other\pyinstaller_data\windows\ffmpeg
    • Place the content of the VLC folder in .\other\pyinstaller_data\windows\vlc
  • Compile with .\scripts\build-windows-exe.cmd
  • Run the executable in .\dist\main\main.exe

USAGE

music-dragon

TODO

  • Improve UI
  • Allow manual tagging of local songs (eyed3)
  • Solve some known bugs
  • Refactor
  • Prevent progress bar of downloads to jump back and forth

Development

Status

Not currently working on the project.

Just doing maintenance and fixes of braking changes to YT API to keep it working.

UI

To apply changes to the UI, please modify the .ui files under res/ui and then run scripts/make-ui to re-generate the py files.

Ensure that pyside6-rcc are pyuic6 part of your PATH.

Usually they are provided as part of the PyQt6 and PySide6 packages (install them with pip).

Build/Install/Deploy

To build a new version:

scripts/build.sh

To install it locally:

scripts/install.sh

To uninstall it locally:

scripts/uninstall.sh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

music_dragon-0.17.tar.gz (228.8 kB view details)

Uploaded Source

File details

Details for the file music_dragon-0.17.tar.gz.

File metadata

  • Download URL: music_dragon-0.17.tar.gz
  • Upload date:
  • Size: 228.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for music_dragon-0.17.tar.gz
Algorithm Hash digest
SHA256 969bf9b63f121556db94b45619dc4ab3c10412da378c739d97710270a93cd9d0
MD5 9e3aecff04042b6ed04adb8617d6e18c
BLAKE2b-256 d051d2abc51f07a582adc1897705575a6e276577da7d34d4bae5ea39732f2b7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page