BlitzLoop is an open source karaoke system inspired by Japanese karaoke machines. It uses a custom song format and supports multiple lyrics display styles, background videos, real-time audio stretching and pitch shifting, and also handles microphone echo. It is written in Python and Cython and uses OpenGL graphics on the host box, while the UI is remotely accessed through a web browser (e.g. running on a tablet).
There is very little documentation at the moment, but feel free to drop me a line if you’re interested or have any questions.
BlitzLoop on GitHub