An interactive, console-based karaoke experience powered by Python. This project fetches lyrics using the Genius API and downloads karaoke tracks from YouTube using yt-dlp
. It then displays real-time lyric highlighting in sync with the music, offering a fun and engaging solo karaoke experience.
- 🔍 Automatic lyrics fetching using Genius API
- 🎵 Karaoke track download from YouTube via
yt-dlp
- ⏱️ Time-synced lyrics based on song duration
- 🎨 Real-time lyric highlighting (current line: bright green, others: yellow)
- 📼 Console clearing for a clean karaoke-style experience
- 💻 Cross-platform compatible (Windows/Linux/Mac)
This project demonstrates a basic level of AI integration through:
- Intelligent lyric parsing using NLP-like filtering to clean up non-singing parts like
[Chorus]
,[Verse]
, etc. - Synchronized timing logic, where lyric display is mapped proportionally across the total audio duration.
- While no deep learning model is used, the real-time behavior mimics human timing and enhances interactivity using simple automation and logic.
- Python 🐍
- LyricsGenius
- yt-dlp
- mutagen (for getting MP3 duration)
- pygame (for audio playback)
- Standard Libraries:
os
,time
,threading
-
Clone this repo:
git clone https://github.com/schak04/AI-Karaoke-Project cd AI-Karaoke-Project
-
Install the required packages:
pip install -r requirements.txt
Navigate to dist -> karaoke_project.exe -> double-click on the exe file
- Enter the song name.
- Sit back as the system downloads lyrics and audio.
- Sing along with the highlighted lyrics!
- Internet connection required (for lyrics and YouTube download)
- Avoid using special characters in song names
- Console must support ANSI escape codes (most modern terminals do)
This project showcases how Python can be used creatively to blend media processing, simple automation, and interactive design. It’s a great demonstration of AI principles in real-time systems.