https://github.com/bhj/KaraokeEternal
Open karaoke party system
https://github.com/bhj/KaraokeEternal
cdgraphics karaoke karaoke-application karaoke-event karaoke-parties karaoke-player mp3 mp4 node node-js party react reactjs self-hosted sqlite
Last synced: about 1 month ago
JSON representation
Open karaoke party system
- Host: GitHub
- URL: https://github.com/bhj/KaraokeEternal
- Owner: bhj
- License: isc
- Created: 2016-05-15T21:33:14.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2025-01-02T00:34:04.000Z (3 months ago)
- Last Synced: 2025-03-09T12:38:38.772Z (about 1 month ago)
- Topics: cdgraphics, karaoke, karaoke-application, karaoke-event, karaoke-parties, karaoke-player, mp3, mp4, node, node-js, party, react, reactjs, self-hosted, sqlite
- Language: TypeScript
- Homepage: https://www.karaoke-eternal.com
- Size: 8.71 MB
- Stars: 508
- Watchers: 14
- Forks: 74
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- open-source-mac-os-apps - Karaoke Forever - Host awesome karaoke parties where everyone can queue songs from their phone's browser. Plays MP3+G and MP4 with WebGL visualizations.</summary><p><b>Languages:</b> ![javascript_icon] <br><b>Website:</b> <a href="https://www.karaoke-eternal.com/">https://www.karaoke-eternal.com/</a><br><b>Screenshots:</b><br><img src='https://github.com/bhj/KaraokeEternal/blob/master/docs/assets/images/README.jpg?raw=true' width='400' loading='lazy'/><br></p></details> (Applications / 🎧 Music (15))
- open-source-mac-os-apps - Karaoke Forever - Host awesome karaoke parties where everyone can queue songs from their phone's browser. Plays MP3+G and MP4 with WebGL visualizations. ![javascript_icon] (Applications / Music)
README
# Karaoke Eternal
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.
[](/docs/assets/images/README.jpg?raw=true)
App in mobile browser (top) controlling player in Firefox/Chrome (bottom)## Features
- Supports:
- 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 telemetryMicrophones 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.](https://www.karaoke-eternal.com/faq/#whats-the-recommended-audiomicrophone-setup) for more information.
## Getting Started
Karaoke Eternal basically has 3 parts. See [Getting Started](https://www.karaoke-eternal.com/docs/getting-started/) to get up and running step-by-step, or jump to the documentation for each part below:
- **[Server:](https://www.karaoke-eternal.com/docs/karaoke-eternal-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:](https://www.karaoke-eternal.com/docs/karaoke-eternal-app/)** Fast, modern mobile web app designed for "karaoke conditions".
- **[Player:](https://www.karaoke-eternal.com/docs/karaoke-eternal-app/#player)** Just another part of the app, but meant to run fullscreen on the system handling audio/video for a [room](https://www.karaoke-eternal.com/docs/karaoke-eternal-app/#rooms-admin-only)## Installation
There are several [installation methods](https://www.karaoke-eternal.com/docs/karaoke-eternal-server/#installation) available for Karaoke Eternal Server.
## Discord & Support
Join the [Karaoke Eternal Discord Server](https://discord.gg/PgqVtFq) 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](https://discord.gg/PgqVtFq) before embarking on major features; the project's scope is limited to ensure success.
Make sure you have [Node.js](https://nodejs.org/en/) 16 or later, then:
1. Fork and clone the repo
2. `npm i`
3. `npm run dev` and look for "Web server running at" for the **server URL**