Download songs from YouTube, fetch lyrics from letras.mus.br and play everything with a PySide6 UI.
Runs entirely on your machine: no accounts, no cloud library. Data stays local next to the repo when you develop; the Windows .exe uses a folder under Documents, with a fallback folder next to the executable.
Please read the disclaimer before using this software.
| Layer | Tech |
|---|---|
| UI | PySide6 |
| Download | yt-dlp |
| Storage | SQLite + filesystem |
| Lyrics | BeautifulSoup, RapidFuzz, curl_cffi |
- Paste YouTube video or playlist URLs (one per line); playlists are expanded into separate queue jobs (large playlists mean many sequential downloads).
- Sequential queue with progress and status in the bottom strip.
- Duplicate detection by normalized artist/title (warning only; does not block saving).
MP3 audio quality: yt-dlp format bestaudio/best; FFmpeg extract-audio; 192 kbps.
WAV audio quality: yt-dlp format bestaudio/best; FFmpeg extract-audio to WAV; no explicit sample rate, channels, or bit depth in app code (FFmpeg defaults for .wav).
- Search the track list; favorites per track.
- Playlists: create, rename, add/remove tracks, All tracks vs playlist view.
- View Metadata: source URL, letras lyrics URLs, on-disk paths, format and file details.
- Delete removes DB row and track folder on disk.
- Discovers letras.mus.br URLs by probing the canonical
/<artist-slug>/<title-slug>/path. - Original and PT-BR tabs when both exist; lyrics stored as
.mdunder each track’slyrics/folder.
- Audio-only playback: play/pause, prev/next, seek, volume.
- Queue follows the current library or playlist view.
- Dark / light theme from the toolbar.
You can either run the app yourself with Python or download the .exe file from the releases page.
git clone https://github.com/leobrqz/TrackLyrics-ytdl.git
cd TrackLyrics-ytdlp- Set up Python environment
pip install -r requirements.txtFrom the repository root:
cd src && python main.pySee LICENSE (GNU General Public License v3).
This software is shared for learning and personal experimentation (desktop UI, local media libraries, automation concepts). It is not a commercial product and not offered as a tool to bypass restrictions or policies of third-party services.
This project is not affiliated with, endorsed by, or sponsored by YouTube, letras.mus.br, or any other third-party site or service it may interact with.
Lyrics retrieval uses HTTP requests to letras.mus.br. Downloading media relies on yt-dlp. You are solely responsible for how you use this software, including compliance with applicable terms of service, copyright, and local laws. The authors and contributors do not encourage or condone violating anyone’s ToS, scraping where prohibited, or infringing rights.
The software is provided as-is, without warranty; no liability is accepted for damages, account actions, or legal consequences arising from use or misuse.