Skip to content

leobrqz/TrackLyrics-ytdlp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TrackLyrics

Download songs from YouTube, fetch lyrics from letras.mus.br and play everything with a PySide6 UI.

License: GPL v3 Python PySide6 yt-dlp

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.

Stack

Layer Tech
UI PySide6
Download yt-dlp
Storage SQLite + filesystem
Lyrics BeautifulSoup, RapidFuzz, curl_cffi

Features

Download & queue

  • 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).

Library & playlists

  • 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.

Lyrics

  • 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 .md under each track’s lyrics/ folder.

Player

  • Audio-only playback: play/pause, prev/next, seek, volume.
  • Queue follows the current library or playlist view.

Interface

  • Dark / light theme from the toolbar.

Setup

You can either run the app yourself with Python or download the .exe file from the releases page.

1. Clone the project

git clone https://github.com/leobrqz/TrackLyrics-ytdl.git
cd TrackLyrics-ytdlp

2. Install dependencies

  • Set up Python environment
pip install -r requirements.txt

3. Start the app

From the repository root:

cd src && python main.py

License

See LICENSE (GNU General Public License v3).

Disclaimer

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.

About

Download tracks from YouTube with yt-dlp, scrape lyrics from letras.mus.br using bs4 and curl_cffi, organize and play in a PySide6 app. All local and automated.

Topics

Resources

License

Stars

Watchers

Forks

Contributors