Skip to content

bar2098/OpenMic-Karaoke

 
 

Repository files navigation

logo OpenMic Karaoke

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.

Features

  • Web interface for multiple users to queue tracks
  • Splash screen with connection QR
  • Adding new songs from Youtube
  • Pause/Skip/Restart
  • Queue management

Install

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:

  1. 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.

  1. Clone repository
git clone https://github.com/17hoehbr/OpenMic-Karaoke.git
  1. Enter directory
cd OpenMic-Karaoke
  1. Setup virtual environment
python -m venv .venv
  1. Activate virtual environment
source .venv/bin/activate
  1. Install python requirements
pip install -r requirements.txt
  1. Run python app
python app.py

Building:

Follow steps 1-6, then run:

pyinstaller build.spec

Screenshots

TV

tv1 tv2

Web interface

nowplaying queue search admin

Microphone icons created by Freepik - Flaticon

About

Karaoke app using YouTube and Python Flask

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Other 0.4%