Skip to content

abdipr/python-lyrics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎢 Python Terminal Live Lyrics Viewer

A sleek Python CLI tool that displays synchronized lyrics (from lrclib.net) directly in your terminal with smooth typing animation, dynamic coloring, and live timing.


πŸ“ Features

  • 🎧 Fetches synced lyrics from lrclib.net automatically
  • πŸ• Perfectly timed display according to .lrc timestamps
  • ⌨️ Smooth typewriter effect with customizable speed
  • 🌈 ANSI-colored text and blinking cursor effects
  • ⏩ Adjustable playback speed & start time

✨ Support

If you like this project, please star on this repository, thank you ⭐
You can support me by:
Trakteer Saya Buy Me A Coffee


πŸ“¦ Installation

  1. Install Python 3.8+

    Download from python.org/downloads.
    Make sure to check βœ… β€œAdd Python to PATH” during setup.

    Verify the installation:

    python --version
  2. (Optional) Install requests

    pip install requests

    If you don’t install requests, the script will automatically fall back to Python’s built-in urllib.

  3. Clone this repository

    git clone https://github.com/abdipr/python-lyrics.git
    cd python-lyrics

πŸš€ Usage

Basic command:

python main.py --track "Song Name" --artist "Artist Name"

Example:

python main.py --track "XXL" --artist "LANY"

Start playback from a specific time:

python main.py --track "XXL" --artist "LANY" --start 0:30

Speed up or slow down lyric timing:

python main.py --track "XXL" --artist "LANY" --speed 1.25

βš™οΈ Command Line Options

Option Description Example
--track Track title (required) --track "ILYSB"
--artist Artist name (optional) --artist "LANY"
--start Start time in mm:ss or seconds --start "1:20"
--speed Playback speed multiplier --speed 0.8

🧠 How It Works

  1. The script queries lrclib.net for a song’s synced lyrics.
  2. It parses [mm:ss.xx] timestamps from the LRC format.
  3. Each lyric line appears at the correct time, letter-by-letter, with color and cursor animation.
  4. Past lines are dimmed, while the active line is displayed brightly in cyan.

πŸ–₯️ Demo

Now playing: LANY β€” XXL
Start offset: 0.00s | Speed: x1.0

    Bloodstream full of desert lightnin'
    Thank God I'm not drivin'
    A blur the whole way home

    I still remember β–ˆ

πŸͺΆ Example Output (Static Preview)

Terminal Lyrics Viewer Screenshot


🧰 Tech Stack

  • Python 3.8+
  • requests (optional)
  • ANSI escape codes for color and cursor control
  • CLI-based UX with argparse

πŸ› οΈ File Structure

python-lyrics/
β”œβ”€β”€ main.py           # Main executable script
β”œβ”€β”€ README.md         # Documentation
└── snapshot.png      # Example screenshot

❀️ Credits

  • Lyrics data: lrclib.net
  • Terminal color codes inspired by classic Linux CLI tools

πŸ“œ License

This project is licensed under the MIT License β€” feel free to modify and distribute.
Made with β˜• and 🎧 by abdipr.

About

A sleek Python CLI tool that displays synchronized lyrics directly in your terminal.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages