A tool for downloading music with embedded metadata and lyrics.
Project description
Music Downloader 🎶
Music Downloader is a Python tool that downloads music from YouTube and automatically embeds metadata, album artwork, and lyrics from Genius. Perfect for building your offline music library with well-organized tags and rich media.
Features
- Downloads audio from YouTube as MP3
- Embeds metadata like title, artist, album, and release date
- Fetches album artwork and attaches it to the MP3
- Adds lyrics automatically from Genius
- Works with most Python environments and media players
Installation
You can install Music Downloader directly from PyPI:
pip install music_downloader
Requirements
- Python 3.7 or higher
- YouTube audio extraction and metadata libraries (automatically installed with the package)
Usage
Once installed, use music-downloader directly from the command line:
music-downloader "Song Title"
By default, files are saved in your Music directory, but you can specify a custom directory with the --output_dir option:
music-downloader "Song Title" --output_dir "/path/to/save/music"
Example
music-downloader "Let Me Down Slowly Alec Benjamin"
This will:
- Search YouTube for the official video of "Let Me Down Slowly" by Alec Benjamin.
- Download the audio as an MP3.
- Fetch metadata, album artwork, and lyrics from Genius.
- Embed all metadata and save the file.
Command-Line Options
song_name: The title of the song you want to download.--output_dir: Custom directory to save the downloaded audio. Defaults to~/Music.
Development
If you'd like to contribute or experiment with the code, clone the repository and install dependencies:
git clone https://github.com/yourusername/music_downloader.git
cd music_downloader
pip install -r requirements.txt
Running Locally
To run the downloader locally:
python -m music_downloader.downloader "Song Title"
License
This project is licensed under the MIT License.
Acknowledgments
Support
For issues or feature requests, please open an issue on GitHub.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qa_download-1.0.0.tar.gz.
File metadata
- Download URL: qa_download-1.0.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a92c4591f3935f69122595824a2e7a0b10a95cca9a9a8214927b9f161126c615
|
|
| MD5 |
341c77cb1dcd2d3dd22282dfeeb7f045
|
|
| BLAKE2b-256 |
5331a65427fe392e6e25704f6bd0ade97ca8c94e43f4bbbb633dcaa714c79281
|
File details
Details for the file qa_download-1.0.0-py3-none-any.whl.
File metadata
- Download URL: qa_download-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30d3edfe31b2267d28ab497a626902222893b65dc0cb4def2731e36d6f5c7b29
|
|
| MD5 |
8e10d1a2070cf46e4957848d4c1b4d5d
|
|
| BLAKE2b-256 |
94daefbbe2e27597bef37d3ed1066835096e2eae12aff5153eb5054ab70daad7
|