karaoke party system.
Host awesome karaoke parties where everyone can easily find and queue songs from their phone's browser. The player is also fully browser-based with support for MP3+G, MP4 videos and WebGL visualizations. The server is self-hosted and runs on nearly everything.
App in mobile browser (top) controlling player in Firefox/Chrome (bottom)
- MP3+G with Winamp/MilkDrop visualizations (WebGL 2)
- MP4 videos
- ReplayGain tags for volume normalization
- Fast, modern mobile browser app designed for "karaoke conditions"
- Multiple simultaneous rooms/queues (optionally password-protected)
- Dynamic queues keep parties fair, fun and no-fuss
- Fully self-hosted
- No ads or telemetry
Microphones are not required since the player itself only outputs music - this allows your audio setup to be as simple or complex as you like. See the F.A.Q. for more information.
Karaoke Eternal basically has 3 parts. See Getting Started to get up and running step-by-step, or jump to the documentation for each part below:
- Server: Runs on pretty much anything to serve the web app and your media files, including a Windows PC, Mac, or a dedicated server like a Raspberry Pi or Synology NAS.
- App: Fast, modern mobile web app designed for "karaoke conditions".
- Player: Just another part of the app, but meant to run fullscreen on the system handling audio/video for a room
There are several installation methods available for Karaoke Eternal Server.
Discord & Support
Join the Karaoke Eternal Discord Server for general support and development chat, or just to say hi!
Contributing & Development
Contributions are welcome! Please join the
#dev channel of the Discord Server before embarking on major features; the project's scope is limited to ensure success.
Make sure you have Node.js 16 or later, then:
- Fork and clone the repo
npm run devand look for "Web server running at" for the server URL
Karaoke Eternal is available as an npm package for systems running Node.js 16 or later.
Install via npm：
$ npm i -g karaoke-eternal
Start the server：
Watch the output for “Web server running at…” and browse to the server URL.