Skip to content

Releases: rrgmc/karaokemachine

karaokemachine 1.19.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 11:27
c943e60

A karaoke machine that plays MIDI files, video files, MP3+G pairs, and UltraStar and LRC songs. It
highlights the words in time with the music, takes song requests from a phone, and has an HTTP API
for search, queueing and control.

What changed

  • The machine runs on a Meta Quest, on a screen that hangs in the room with the room still
    behind it. Grab the screen to move it, and it comes back to the same place on the next launch.
  • An LRC file beside an MP3 of the same name is a song. A file that times each word gets the
    word-by-word highlight, and one that times only its lines lights each line whole.
  • Who may do what, in four levels. Out of the box a phone with no code queues songs and does not
    interrupt them. A code from the owner gives a guest the skip buttons.
  • A folder becomes a package without the curation tool. KM Simple Package reads a folder, lists
    its songs, and writes packages marked uncurated.
  • The admin Sound tab sets when the words light up, up to half a second either way, for a
    television that shows its picture late.

Which file to download

File For
karaokemachine-setup-1.19.0-windows-x86_64.exe Windows 10 or 11, 64-bit. One installer for every program, with a checkbox per part. It installs for your account only and does not ask for an administrator password.
karaokemachine-setup-1.19.0-macos-aarch64.pkg macOS on Apple Silicon. The same seven programs behind six checkboxes. Applications go to /Applications and the command-line tools to /usr/local/bin. It asks for your administrator password once and downloads nothing.
km-remote-setup-1.19.0-windows-x86_64.exe Windows 10 or 11, 64-bit — the remote on its own, for a computer that is not the karaoke machine. About 5 MB. The installer above already contains it; this one is for a computer that wants nothing else.
km-remote-setup-1.19.0-macos-aarch64.pkg macOS on Apple Silicon — the remote on its own. KM Remote goes to /Applications and nothing is put on your PATH.
karaokemachine_1.19.0-1_amd64.deb Debian 13 or later, amd64. Install it with sudo apt install ./karaokemachine_1.19.0-1_amd64.deb.
karaokemachine-tools_1.19.0-1_amd64.deb The package builder, the offline remote and the picture-and-bank tool, for the same Debian. Download it beside the one above and install both at once: sudo apt install ./karaokemachine_1.19.0-1_amd64.deb ./karaokemachine-tools_1.19.0-1_amd64.deb. A box under a television needs only the machine.
karaokemachine-1.19.0-x86_64-unknown-linux-gnu.tar.gz Any other 64-bit Linux. Unpack it anywhere and run it. It includes the libraries it needs.
karaokemachine-1.19.0-android.apk The machine on Android and Google TV. One file covers 32-bit and 64-bit ARM.
km-remote-1.19.0-android.apk The remote, for a phone. It works when the machine is not reachable. One file covers both ARM architectures.
karaokemachine-1.19.0-quest.apk The machine on a Meta Quest, on a screen that hangs in the room with the room still behind it. It installs beside the Android APK rather than over it.
karaokemachine-1.19.0-ios-unsigned.ipa The machine on an iPhone or iPad. Sign it before installing it; see Signing on iOS below.
km-remote-1.19.0-ios-unsigned.ipa The remote on an iPhone or iPad. Sign it the same way.

christmas-carols-1.0.0.kmpkg is a song package and a separate download. It holds sixteen public-domain Christmas
carols from the Open Hymnal Project. Put it in the folder that karaokemachine --show-paths calls
packages and press Ctrl+F10, or send it to the machine from the curation tool. A new install has
an empty catalog.

Signatures

Each file answers for itself, and what a platform says about a download differs.

  • The macOS packages are signed and notarized by Apple. Double-click one to open Installer.
    There is no warning to click past.
  • Windows shows "Windows protected your PC". Click More info, then Run anyway.
  • The Android APKs are signed with the project's own key, so Android asks you to allow
    installation from this source and nothing more, and each version installs over the one before it.
    A device holding an APK signed with a different key has to uninstall it first, which Android
    reports as a refusal rather than a question. Export the remote's favorites from its share page
    beforehand and import them afterwards.
  • The Quest APK is sideloaded, so the headset lists it under Unknown Sources and shows no name
    beside its icon. That name comes from Meta's store, which a sideloaded application has no entry in.
    Songs reach it the way they reach a phone: open a .kmpkg from the headset's Files application, or
    push one over a cable.
  • The two .deb files and the tarball are unsigned, and apt reports this when you install a file
    by path.

Signing on iOS

iOS does not install unsigned applications, and Apple does not issue a signature that can be
distributed with the file. Both .ipa files are marked unsigned, and you sign them yourself. It
takes about five minutes per app and needs a computer.

You need an Apple ID, and the one already on the phone is fine. You also need a free signing tool:
Sideloadly for macOS or Windows, or AltStore, which
installs from the phone.

  1. Download the .ipa.
  2. Connect the iPhone or iPad to the computer and unlock it.
  3. Open Sideloadly, drag the .ipa onto it, enter your Apple ID and click Start.
  4. On the device, open Settings → General → VPN & Device Management, tap your Apple ID under
    Developer App, and tap Trust. The application will not open until you do.
  5. Launch it once with a network connection. The certificate is verified on that first run.

Two limits come from the Apple ID:

  • A free Apple ID signs an app for seven days. After that the app stops opening and you repeat
    step 3. Your songs, settings and catalog stay on the device. A paid Apple Developer account signs
    for a year, and AltStore renews the signature in the background.
  • A free Apple ID allows three applications at a time. The machine and the remote are two of them.

Two things work differently on iOS:

  • The machine does not announce itself on the network. The iOS remote finds it by scanning; the
    Android remote and a web browser need the address shown on the idle screen.
  • The machine stops answering when it goes to the background and nothing is playing, because iOS
    suspends an application that is not playing audio. A song that is playing continues with the
    screen off.

Everything here is built from the sources in this repository, at tag v1.19.0.

karaokemachine 1.18.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 18:56
013948c

A karaoke machine that plays MIDI files, video files, MP3+G pairs and UltraStar songs. It
highlights the words in time with the music, takes song requests from a phone, and has an HTTP API
for search, queueing and control.

What changed

  • The machine is "Karaoke Machine" under its icon, and its streaming launcher is "KM Stream", so
    no launcher cuts the name mid-word. Upgrading removes the old shortcuts and applications.
  • The package builder can number a package's only volume. A package that will pass 999 songs can
    be named vol1 from its first build, so its file keeps that name when a second volume starts.

Which file to download

File For
karaokemachine-setup-1.18.0-windows-x86_64.exe Windows 10 or 11, 64-bit. One installer for every program, with a checkbox per part. It installs for your account only and does not ask for an administrator password.
karaokemachine-setup-1.18.0-macos-aarch64.pkg macOS on Apple Silicon. The same seven programs behind six checkboxes. Applications go to /Applications and the command-line tools to /usr/local/bin. It asks for your administrator password once and downloads nothing.
km-remote-setup-1.18.0-windows-x86_64.exe Windows 10 or 11, 64-bit — the remote on its own, for a computer that is not the karaoke machine. About 5 MB. The installer above already contains it; this one is for a computer that wants nothing else.
km-remote-setup-1.18.0-macos-aarch64.pkg macOS on Apple Silicon — the remote on its own. KM Remote goes to /Applications and nothing is put on your PATH.
karaokemachine_1.18.0-1_amd64.deb Debian 13 or later, amd64. Install it with sudo apt install ./karaokemachine_1.18.0-1_amd64.deb.
karaokemachine-tools_1.18.0-1_amd64.deb The package builder, the offline remote and the picture-and-bank tool, for the same Debian. Download it beside the one above and install both at once: sudo apt install ./karaokemachine_1.18.0-1_amd64.deb ./karaokemachine-tools_1.18.0-1_amd64.deb. A box under a television needs only the machine.
karaokemachine-1.18.0-x86_64-unknown-linux-gnu.tar.gz Any other 64-bit Linux. Unpack it anywhere and run it. It includes the libraries it needs.
karaokemachine-1.18.0-android.apk The machine on Android and Google TV. One file covers 32-bit and 64-bit ARM.
km-remote-1.18.0-android.apk The remote, for a phone. It works when the machine is not reachable. One file covers both ARM architectures.
karaokemachine-1.18.0-ios-unsigned.ipa The machine on an iPhone or iPad. Sign it before installing it; see Signing on iOS below.
km-remote-1.18.0-ios-unsigned.ipa The remote on an iPhone or iPad. Sign it the same way.

christmas-carols-1.0.0.kmpkg is a song package and a separate download. It holds sixteen public-domain Christmas
carols from the Open Hymnal Project. Put it in the folder that karaokemachine --show-paths calls
packages and press Ctrl+F10, or send it to the machine from the curation tool. A new install has
an empty catalog.

Signatures

Each file answers for itself, and what a platform says about a download differs.

  • The macOS packages are signed and notarized by Apple. Double-click one to open Installer.
    There is no warning to click past.
  • Windows shows "Windows protected your PC". Click More info, then Run anyway.
  • The Android APKs are signed with the project's own key, so Android asks you to allow
    installation from this source and nothing more, and each version installs over the one before it.
    A device holding an APK signed with a different key has to uninstall it first, which Android
    reports as a refusal rather than a question. Export the remote's favorites from its share page
    beforehand and import them afterwards.
  • The two .deb files and the tarball are unsigned, and apt reports this when you install a file
    by path.

Signing on iOS

iOS does not install unsigned applications, and Apple does not issue a signature that can be
distributed with the file. Both .ipa files are marked unsigned, and you sign them yourself. It
takes about five minutes per app and needs a computer.

You need an Apple ID (the one already on the phone is fine) and a free signing tool:
Sideloadly for macOS or Windows, or AltStore, which
installs from the phone.

  1. Download the .ipa.
  2. Connect the iPhone or iPad to the computer and unlock it.
  3. Open Sideloadly, drag the .ipa onto it, enter your Apple ID and click Start.
  4. On the device, open Settings → General → VPN & Device Management, tap your Apple ID under
    Developer App, and tap Trust. The application will not open until you do.
  5. Launch it once with a network connection. The certificate is verified on that first run.

Two limits come from the Apple ID:

  • A free Apple ID signs an app for seven days. After that the app stops opening and you repeat
    step 3. Your songs, settings and catalog stay on the device. A paid Apple Developer account signs
    for a year, and AltStore renews the signature in the background.
  • A free Apple ID allows three applications at a time. The machine and the remote are two of them.

Two things work differently on iOS:

  • The machine does not announce itself on the network. The iOS remote finds it by scanning; the
    Android remote and a web browser need the address shown on the idle screen.
  • The machine stops answering when it goes to the background and nothing is playing, because iOS
    suspends an application that is not playing audio. A song that is playing continues with the
    screen off.

Everything here is built from the sources in this repository, at tag v1.18.0.

karaokemachine 1.17.0

Choose a tag to compare

@RangelReale RangelReale released this 18 Sep 13:21

A karaoke machine that plays MIDI files, video files, MP3+G pairs and UltraStar songs. It
highlights the words in time with the music, takes song requests from a phone, and has an HTTP API
for search, queueing and control.

What it does

  • Songs are MIDI and KAR files, video files, MP3+G pairs and UltraStar songs. They arrive in
    packages, each carrying its own queue numbers, titles, artists and analysis, and a package dropped
    in the packages folder goes in without a restart.
  • The words highlight syllable by syllable on the sequencer's own clock. Transpose, tempo and a
    lyric timing offset are per song, and the offset moves the highlight without touching the audio the
    microphones are in.
  • Any phone on the network is a remote — search, queue, now playing, and whatever controls the
    song allows — with a QR code on the idle screen and no app to install. A standalone remote keeps
    its own copy of the catalog and works with the machine switched off.
  • A television in another room works too. Started with --stream the machine serves what it
    would have shown at one address, and anything that plays a playlist can take it.
  • One admin password, which the machine gives itself and shows on screen. Everything that
    reconfigures the machine wants it; everything a singer does wants nothing.

Which file to download

File For
karaokemachine-setup-1.17.0-windows-x86_64.exe Windows 10 or 11, 64-bit. One installer for every program, with a checkbox per part. It installs for your account only and does not ask for an administrator password.
karaokemachine-setup-1.17.0-macos-aarch64.pkg macOS on Apple Silicon. The same seven programs behind six checkboxes. Applications go to /Applications and the command-line tools to /usr/local/bin. It asks for your administrator password once and downloads nothing.
km-remote-setup-1.17.0-windows-x86_64.exe Windows 10 or 11, 64-bit — the remote on its own, for a computer that is not the karaoke machine. About 5 MB. The installer above already contains it; this one is for a computer that wants nothing else.
km-remote-setup-1.17.0-macos-aarch64.pkg macOS on Apple Silicon — the remote on its own. KM Remote goes to /Applications and nothing is put on your PATH.
karaokemachine_1.17.0-1_amd64.deb Debian 13 or later, amd64. Install it with sudo apt install ./karaokemachine_1.17.0-1_amd64.deb.
karaokemachine-tools_1.17.0-1_amd64.deb The package builder, the offline remote and the picture-and-bank tool, for the same Debian. Download it beside the one above and install both at once: sudo apt install ./karaokemachine_1.17.0-1_amd64.deb ./karaokemachine-tools_1.17.0-1_amd64.deb. A box under a television needs only the machine.
karaokemachine-1.17.0-x86_64-unknown-linux-gnu.tar.gz Any other 64-bit Linux. Unpack it anywhere and run it. It includes the libraries it needs.
karaokemachine-1.17.0-android.apk The machine on Android and Google TV. One file covers 32-bit and 64-bit ARM.
km-remote-1.17.0-android.apk The remote, for a phone. It works when the machine is not reachable. One file covers both ARM architectures.
karaokemachine-1.17.0-ios-unsigned.ipa The machine on an iPhone or iPad. Sign it before installing it; see Signing on iOS below.
km-remote-1.17.0-ios-unsigned.ipa The remote on an iPhone or iPad. Sign it the same way.

christmas-carols-1.0.0.kmpkg is a song package and a separate download. It holds sixteen public-domain Christmas
carols from the Open Hymnal Project. Put it in the folder that karaokemachine --show-paths calls
packages and press Ctrl+F10, or send it to the machine from the curation tool. A new install has
an empty catalog.

Signatures

Each file answers for itself, and what a platform says about a download differs.

  • The macOS packages are signed and notarized by Apple. Double-click one to open Installer.
    There is no warning to click past.
  • Windows shows "Windows protected your PC". Click More info, then Run anyway.
  • The Android APKs are signed with the project's own key, so Android asks you to allow
    installation from this source and nothing more, and each version installs over the one before it.
    A device holding an APK signed with a different key has to uninstall it first, which Android
    reports as a refusal rather than a question. Export the remote's favorites from its share page
    beforehand and import them afterwards.
  • The two .deb files and the tarball are unsigned, and apt reports this when you install a file
    by path.

Signing on iOS

iOS does not install unsigned applications, and Apple does not issue a signature that can be
distributed with the file. Both .ipa files are marked unsigned, and you sign them yourself. It
takes about five minutes per app and needs a computer.

You need an Apple ID (the one already on the phone is fine) and a free signing tool:
Sideloadly for macOS or Windows, or AltStore, which
installs from the phone.

  1. Download the .ipa.
  2. Connect the iPhone or iPad to the computer and unlock it.
  3. Open Sideloadly, drag the .ipa onto it, enter your Apple ID and click Start.
  4. On the device, open Settings → General → VPN & Device Management, tap your Apple ID under
    Developer App, and tap Trust. The application will not open until you do.
  5. Launch it once with a network connection. The certificate is verified on that first run.

Two limits come from the Apple ID:

  • A free Apple ID signs an app for seven days. After that the app stops opening and you repeat
    step 3. Your songs, settings and catalog stay on the device. A paid Apple Developer account signs
    for a year, and AltStore renews the signature in the background.
  • A free Apple ID allows three applications at a time. The machine and the remote are two of them.

Two things work differently on iOS:

  • The machine does not announce itself on the network. The iOS remote finds it by scanning; the
    Android remote and a web browser need the address shown on the idle screen.
  • The machine stops answering when it goes to the background and nothing is playing, because iOS
    suspends an application that is not playing audio. A song that is playing continues with the
    screen off.

Everything here is built from the sources in this repository, at tag v1.17.0.