🎤 PyKaraoke-NG
A free, open-source karaoke player for Linux, Windows, and macOS
| User Guide | Developer Guide | Admin Guide | GitHub |
Features
| 🎵 Multiple Formats | 📚 Song Database | 🖥️ Cross-Platform | 🚀 Desktop Apps |
|---|---|---|---|
| CDG+MP3, MIDI/KAR, MPEG video | Automatically catalog and search | Linux, Windows, macOS | Electron & Tauri |
Quick Start
# Install with pip
pip install pykaraoke-ng
# Or using uv (recommended)
uv pip install pykaraoke-ng
# Run the GUI
pykaraoke
# Play a specific file
pycdg song.cdg
pykar song.kar
pympg song.mpg
For detailed setup after cloning, see the Quick Start Guide.
Supported Formats
| Format | Extension | Player | Description |
|---|---|---|---|
| CD+G | .cdg + .mp3 | pycdg | Standard karaoke format with graphics |
| MIDI Karaoke | .kar, .mid | pykar | MIDI files with embedded lyrics |
| MPEG Video | .mpg, .mpeg, .avi | pympg | Video karaoke files |
Documentation
By Audience
- User Guide - Install and use PyKaraoke-NG
- Developer Guide - Set up development environment and contribute
- Admin Guide - Deploy with Docker, Kubernetes, Electron, or Tauri
- Quick Start - Fast setup after cloning the repository
Architecture
- Overview - System architecture and design
- Repository Structure - Project organization
- Migration Guide - Migrating from legacy code
- Reorganization Plan - Repository reorganization details
- Reorganization Summary - Summary of changes made
- Reorganization Complete - Final reorganization status
Development
- SonarQube Setup - Code quality scanning setup
- Quality Improvements - Code quality fixes
- SonarQube Fixes - Resolved SonarQube issues
- SonarCloud HIGH Issues Fixed - Security fixes
- 87 Issues Fixed - Bulk issue resolution
- PR Summary - Tauri migration implementation details
- TODO - Planned features and improvements
Historical
- Changelog - Historical version changes
- Legacy README - Original project documentation
- Legacy Issues - Issues from the original PyKaraoke project
License
PyKaraoke-NG is licensed under LGPL-2.1-or-later