OpenMic is a "KTV"-style karaoke song search and queueing system. It connects to your TV, and shows a QR code for computers and smartphones to connect to a web interface. From there, multiple users can seamlessly search karaoke tracks from YouTube. This project is heavily inspired by the pikaraoke project but completely rewritten to use the web browser as the TV display instead of PyGame / VLC. The end goal is that this project will be simple enough to install and reliable enough that it can easily be used on Steam Decks and other Linux distros by users with no python knowledge.
Stil very early in development! Contributions appreciated, particularly for the frontend.
- Web interface for multiple users to queue tracks
- Splash screen with connection QR
- Adding new songs from Youtube
- Pause/Skip/Restart
- Queue management
Currently OpenMic is only distributed as the python script or as a Linux AppImage. Theoretically Pyinstaller should be able to build a working Windows or Mac build relatively easily but I do not have a Windows or Mac device to test the builds on. I will gladly accept any pull requests that add a Github action to build for other platforms / distributions but I don't plan on maintaining them manually.
Running from source:
- Install dependencies
On Linux you will need to install the pywebview dependencies. For debian based distros this should cover it:
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0 gir1.2-webkit2-4.1
For other platforms please consult the pywebview documentation.
- Clone repository
git clone https://github.com/17hoehbr/OpenMic-Karaoke.git
- Enter directory
cd OpenMic-Karaoke
- Setup virtual environment
python -m venv .venv
- Activate virtual environment
source .venv/bin/activate
- Install python requirements
pip install -r requirements.txt
- Run python app
python app.py
Building:
Follow steps 1-6, then run:
pyinstaller build.spec