11 Punkte von GN⁺ 2026-03-19 | 1 Kommentare | Auf WhatsApp teilen
  • Eine Open-Source-Anwendung, die persönliche Musikdateien in ein Karaoke-Format umwandelt und Funktionen wie Stimmtrennung, Liedtext-Synchronisierung und Echtzeit-Bewertung bietet
  • Trennt mit dem UVR Karaoke-Modell oder Demucs Gesang und Begleitung und transkribiert mit WhisperX automatisch Liedtexte auf Wortebene
  • Misst die Gesangsleistung spielerisch mit tonhöhenbasierter Bewertung über Mikrofoneingabe, Sternenbewertung und songbezogenen Aufzeichnungen
  • Unterstützt verschiedene Interaktionen wie mehrere Benutzerprofile, Hintergrundwiedergabe von Videodateien, dynamische Hintergründe auf Basis von GPU-Shadern und Gamepad-Steuerung
  • Läuft auf Linux, macOS, Windows und besitzt eine autarke Struktur, die als einzelne ausführbare Datei ohne Installation funktioniert

Hauptfunktionen

  • Die Funktion Stimmtrennung (Stem separation) trennt mit dem UVR Karaoke-Modell oder Demucs Gesang und Begleitung
    • Die Lautstärke des Guide-Gesangs kann angepasst werden
  • Die Funktion Liedtexte auf Wortebene (Word-level lyrics) richtet mit WhisperX jedes Wort am Audio aus
    • Falls in LRCLIB bereits Liedtexte vorhanden sind, werden diese bevorzugt verwendet
  • Die Funktion Tonhöhenbewertung (Pitch scoring) berechnet in Echtzeit eine Punktzahl, wenn über ein Mikrofon gesungen wird
    • Fortschritte lassen sich mit Sternenbewertung und einer songbezogenen Punktetafel verfolgen

Benutzer und Oberfläche

  • Mit Spielerprofilen (Player profiles) können mehrere Benutzer ihre jeweiligen Punktestände behalten
    • Kein Datenverlust, auch wenn zwischen Sängern gewechselt wird
  • Die Funktion Unterstützung für Videodateien (Video file support) lädt .mp4- oder .mkv-Dateien und spielt das Originalvideo im Hintergrund ab
    • Trennt den Gesang automatisch aus dem Audio
  • Dynamische Hintergründe (Dynamic backgrounds) nutzen GPU-Shader-Effekte (Plasma, Aurora, Nebel usw.), Pixabay-Videoloops oder das Originalvideo als Hintergrund
  • Gamepad-Unterstützung ermöglicht Menünavigation, Songauswahl und Wiedergabesteuerung per Controller

Funktionsweise

  • Im Schritt Separate trennt UVR Karaoke oder Demucs den Track in Gesang und Begleitung
    • Extrahiert Audio aus Videodateien automatisch
  • Im Schritt Transcribe werden synchronisierte Liedtexte in LRCLIB gesucht; falls keine vorhanden sind, erfolgt die Transkription auf Wortebene mit WhisperX
  • Im Schritt Play wird die Begleitung abgespielt, während hervorgehobene Liedtexte, Tonhöhenbewertung, dynamische Hintergründe und Gamepad-Eingaben gemeinsam angezeigt werden

Plattformen und Bereitstellung

  • Lauffähig auf Linux(x86_64, aarch64), macOS(ARM, Intel) und Windows(x86_64)
  • Unterstützt GPU-Beschleunigung über CUDA oder Metal, in nicht unterstützten Umgebungen läuft es auf der CPU
  • ffmpeg, Python, PyTorch, ML-Modelle werden beim ersten Start automatisch gebootstrappt, sodass dank einer Single-Binary-Struktur kein separater Installationsprozess nötig ist

Update-Benachrichtigung

  • Neue Releases und Update-Neuigkeiten können per E-Mail empfangen werden; das Abonnement kann jederzeit beendet werden

1 Kommentare

 
GN⁺ 2026-03-19
Hacker-News-Kommentare
  • Ich habe gerade den Sourcecode heruntergeladen, gebaut und ausgeführt, und war überrascht, dass die App direkt beim ersten Start begann, Binärdateien aus dem Internet herunterzuladen
    Obwohl FFMpeg und Python bereits installiert waren, versuchte sie, diese erneut zu installieren
    Der Start schlug fehl, weil die App im Ordner lib nach dem installierten Python suchte. Erstaunlich, dass so ein grundlegender Fehler im Release-Code gelandet ist
    Als ich außerdem das Build-Skript aus dem Tarball ausgeführt habe, wollte es einen Docker-Container installieren. Docker zum Bauen einer Desktop-App ergibt für mich keinen Sinn

    • Viele Apps bringen ihre eigene Python-Laufzeitumgebung mit. Blender, Houdini, Bitwig, Krita und andere machen das genauso
      Krita nutzt beim Build zwar das System-Python, packt in das Ergebnis aber trotzdem ein eigenes Python
      Trotzdem wäre es bei dieser App wohl besser gewesen, alles zu bündeln statt es herunterzuladen
      Sicherheitsprobleme sind dabei nicht völlig außergewöhnlich, denn npm oder pip haben ähnliche Risiken
    • Die Antwort auf die Frage „Warum wurde das so gebaut?“ lautet vermutlich: „Auf meinem Rechner hat es funktioniert
    • Das Python-Installationsökosystem ist einfach chaotisch. Je nach OS unterscheiden sich Installationspfade und Methoden, dazu kommen Conda und verschiedene Paketmanager
      Deshalb kann ich nachvollziehen, dass der Entwickler eine einheitliche Umgebung schaffen wollte, auf die sich die App verlassen kann
    • In letzter Zeit gibt es immer mehr Apps, die versuchen, ungefragt etwas im System zu installieren
      Kürzlich habe ich auch eine Python-App gestartet, die plötzlich Node/NPM installieren wollte
      Mein Computer ist mein Arbeitsbereich; wenn eine App eigenmächtig Dinge installiert, ist das für mich ein Supply-Chain-Angriffsrisiko und zugleich respektlos gegenüber dem Nutzer
    • Am Ende ist das vielleicht nur der Beginn einer endlosen Debatte wie statisches Linken vs. dynamisches Linken oder vim vs. emacs
  • Das von mir entwickelte Nightingale ist eine App, die nach Auswahl eines Musikordners Titel automatisch in Karaoke-Tracks umwandelt
    Sie bietet Vocal-Separation, Lyrics-Sync, Pitch-Scoring, Gamepad-Unterstützung, GPU-Beschleunigung und mehr
    Alles wird lokal verarbeitet, und es gibt weder Konten noch Abos oder Telemetrie
    Beim ersten Start richtet sie die benötigten ML-Modelle und die Python-Umgebung automatisch ein
    Geschrieben ist sie in Rust mit der Bevy-Engine und das Projekt ist vollständig Open Source

    • Ich habe früher Signalverarbeitung studiert, und damals war Track-Separation schwierig
      Interessant zu sehen, dass das heute mit neuronalen Netzen wie Demucs gelöst wird
      Ich frage mich, ob ein rein mathematischer Ansatz konkurrenzfähig sein könnte
    • Ich habe B.E.D - Walk Away getestet, und nach 30 Sekunden lief die Lyrics-Synchronisation auseinander
      Es wäre gut, beim Abspielen eine Sprungfunktion vor/zurück zu haben, ebenso eine bessere Behandlung von Satzzeichen und eine Funktion zum Bearbeiten der Ergebnisse
      Trotzdem danke, dass du das als FOSS veröffentlicht hast
    • Wirklich ein großartiges Projekt. Im FOSS-Bereich gibt es fast keine Karaoke-Apps, daher ist das ein großer Fortschritt
      Mich würde interessieren, wie die Mindestanforderungen für CUDA aussehen und ob Unterstützung für iGPU-Beschleunigung von AMD/Intel geplant ist
      Ich freue mich schon darauf, dass meine Familie das ausprobiert
    • Mich würde der Unterschied zu UltraSinger interessieren. Weiß jemand, ob es einen Qualitätsvergleich gibt?
    • Ich frage mich, ob WhisperX auch mit **chinesischen (Hanzi-)**Texten gut zurechtkommt
    • Ich habe einen japanischen Song getestet, und die Lyrics-Ausrichtung funktionierte überhaupt nicht
      Im Code werden Wörter mit line_text.split() getrennt, aber Japanisch hat keine Leerzeichen, also kann das nicht funktionieren
      Man bräuchte wohl einen morphologischen Analyzer wie fugashi
  • Das hat mich an den alten Firefox-basierten Nightingale Media Player erinnert
    Er wurde als Alternative zu iTunes/Winamp entwickelt, ist aber seit über zehn Jahren praktisch inaktiv
    Unter getnightingale.com kann man noch Spuren davon sehen

    • Soweit ich mich erinnere, war das das Nachfolgeprojekt von Songbird
  • Ich habe früher einmal ein ähnliches Pitch-Tracking-Projekt gebaut
    Ich frage mich, ob die Pitch-Linie in der aktuellen App dazu dient, die nächste Tonhöhe anzuzeigen

    • Aktuell gibt es nur eine einfache Pitch-Scoring-Funktion; eine Vorhersage der nächsten Tonhöhe ist noch nicht implementiert
      Ich nehme das aber gern als guten Feature-Vorschlag auf
  • Lokal lauffähig, Open Source und ein Projekt aus echter Leidenschaft — das ist wirklich berührend
    Solche Nachrichten geben einem wieder Glauben an die Menschheit

  • Wenn man sich die Commit-Historie ansieht, war die Entwicklungsgeschwindigkeit sehr hoch
    Vermutlich wurde KI-gestützte Entwicklung genutzt
    Entgegen der Aussage, dass „KI Entwickler ersetzt“, denke ich eher, dass KI die Machbarkeit kleiner Projekte deutlich erhöht hat

    • Ähnliche Software gab es schon zu Windows-95-Zeiten. Das lief sogar auf einem Pentium 2
  • Ich wusste zuerst nicht genau, was die App eigentlich macht, und dachte, sie würde die Lyrics entfernen
    Ich habe mehrere Songs ausprobiert, aber die Vocals waren immer noch zu hören. Ich verstehe nicht, wie man die Vocal-Entfernung anpasst

    • Mit den Tasten + / - auf der Tastatur kann man den Guide-Level anpassen
      Siehe Steuerungsanleitung
  • Wirklich ein großartiges Projekt.
    Ich frage mich, ob man Songs auf einem Gerät verarbeiten und auf einem anderen abspielen kann, oder ob ein Server-/Client-Modus möglich ist

    • Eine passende Antwort dazu gibt es in Issue #7
  • Als Musiker denke ich oft, dass es großartig wäre, eine App zu haben, die bei einem Bandauftritt die Lyrics in Echtzeit mitführt und anzeigt
    Momentan befestige ich mein Handy am Mikrofonständer, aber es verliert schnell die richtige Position

    • Stimmt, selbst bei Spotify liegt diese Art von Echtzeit-Synchronisation oft daneben