Skip to content

abdipr/pyrics

Repository files navigation

Pyrics Logo

Pyrics

Python Lyrics Player

Download pyrics.exe

Stars Forks Python Version License MIT PRs Welcome

A minimalistic, modern, and monochrome floating desktop lyrics visualizer built in Python with PyQt6. Designed as an artistic desktop installation rather than a traditional media player, Pyrics parses synchronized TTML subtitle files and floats lyrics upward across the screen in dynamic, frameless 4:3 aspect ratio panels.


📋 Table of Contents


✨ Key Features

  • Word-by-word Highlight (Position-Preserving): Words emerge incrementally inside a 4:3 aligned panel. Future words remain colored to match the background to guarantee the visible text stays centered without shifts.
  • Alternating Floating Layout: Successive lyric lines spawn alternately on the left and right sides of your desktop screens with organic offsets to avoid robotic repetition.
  • Smart Overlap Stacking: A collision-preventing physics velocity calculator adjusts spawn positions dynamically, ensuring overlapping fast-paced lines never collide.
  • Contrast Themes & Custom Colors: Supports a solid black theme, a white inverted theme, a random mix theme, or customizable text and background colors via hex inputs and color pickers.
  • Timeline Engine & Seek Controls: Play, pause, stop, seek (slider scrubbing), and adjust playback speed scales (0.5x, 1.0x, 1.25x, 1.5x, 2.0x).
  • Import/Export Config: Save your typography, side margins, colors, and speeds to a JSON file and import them back at any time.

🚀 Installation & Setup

Prerequisites

Make sure you have Python 3.11 or newer installed.

1. Clone the Repository

git clone https://github.com/abdipr/pyrics.git
cd pyrics

2. Install Dependencies

Install PyQt6:

pip install PyQt6

3. Run the Application

Start the lyrics controller:

python main.py

📦 Bundling to Standalone Executable (.exe)

You can easily compile Pyrics into a single portable .exe binary for Windows.

Double-click the build.bat script in the project root folder. It will:

  1. Automatically install PyInstaller.
  2. Compile and package the application files.
  3. Bundle assets (favicon and fonts).
  4. Generate the executable at dist/main.exe.

🌱 Contributing

Contributions are welcome! To contribute:

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature-name.
  3. Commit your changes: git commit -m 'Add feature'.
  4. Push to the branch: git push origin feature-name.
  5. Submit a pull request.

✨ Support

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


⚖️ License

This project is licensed under the MIT License. See the LICENSE file for more information.

About

Pyrics — Python Lyrics Player | A minimalistic, modern, and monochrome floating desktop lyrics visualizer built in Python with PyQt6. Synchronized TTML subtitle files and floats lyrics upward across the screen in dynamic panel.

Topics

Resources

License

Stars

Watchers

Forks

Contributors