Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

KaraokeMachine

A karaoke machine that behaves like a commercial home unit: pick a song by number, it plays, and the words highlight in time. It runs full-screen on a television, and any phone on the network is a remote: search the catalog, queue a song, change the key, skip.

A song is one of five things:

  • a MIDI file with embedded karaoke lyrics;
  • a video file;
  • an MP3+G pair: an MP3 with a .cdg of the same stem beside it;
  • an UltraStar song: the .txt a singing game times its words in, and the MP3 it names;
  • an LRC song: an .lrc of timed lyrics, and the MP3 of the same name.

An MP3 on its own is not a song, because it has no words in it.

It runs on Windows, macOS and Linux, on Android and a Meta Quest, and on an iPhone and an iPad.

Start it, type a song number, and it plays. The screen shows the words, and a phone does everything else.

Getting started

Using it

These chapters need the machine’s screen, a phone, a browser or a double-click.

For a technical reader

These chapters need a shell or a program of your own. They cover the flags, the song file formats, the API, discovery on the network, and the tools that make a package. BUILDING.md covers compiling.

About