TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from YouTube.
I wanted a tool to quickly and efficiently download songs/audios from YouTube based on the name of the song. I also wanted the songs to be tagged with metadata. This is why I created this simple to use tool.
- 🕖 Fast: Thanks to async code and multithreading.
- ⚡ Simple: Type
mmdl go
and get started with downloading songs. - ✨ Powerful
- Find songs based on songs query/title
- Skip already existing songs
- Add metadata such as artist name and artwork
-
Python 3
-
FFmpeg
Here is a quick guide: https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg
Make sure you have installed FFmpeg. Else this programm won’t work.
pip install -U mmdl
⚡ That’s it! ⚡
Mmdl has been only been tested using Python 3.9.
Very quick and easy way of running the cli. Few questions will be asked via prompts. This is the recommended way!
mmdl go
Fast and traditional way of running the cli. Pass arguments and have your songs downloaded. Useful for automation scripts.
mmdl download <method> #(add -h for more information)
- File
mmdl download file <location>
: Get songs from file. Then download them. - List
mmdl download list "Term1" "Term2" ...
ormmdl download list -a
for a prompt: Add multiple songs as cli arguments or enter them in a prompt. - YTMusic (beta)
mmdl download ytmusi
: Download multiple songs from YouTube Music liked songs playlist (via parsing HTML) - Single
mmdl download single song name
: Download a single song.
Please open a issue with some information to reproduce your problem.
Please start/search for a discussion.
We welcome contributions very much (Even small ones). They are appreciated.
- Check for bugs/issues you would like to solve or think of new features you would like to implement.
- Fork the repo and make your changes.
- Send a pull request.
The following amazing libraries helped me make this project:
- https://github.com/tmbo/questionary - Questionary by Tom Bocklisch and Kian Cross
- https://github.com/alexmercerind/youtube-search-python - Youtube Search Python by Hiteh Kumar Saini
- https://github.com/willmcgugan/rich - Rich by Will McGugan
- https://github.com/ytdl-org/youtube-dl - YoutubeDl
I assume no liability or responsibility for how this app is used. Please stay legal and respect the laws in your country. This tool is intended for archiving music for which you have a license.
The MIT License (MIT)
Copyright (c) 2021 - techboy-coder