| .forgejo/workflows | ||
| .github/workflows | ||
| docs | ||
| resources | ||
| syng | ||
| typings | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .python-version | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| requirements-client.txt | ||
| requirements.txt | ||
| uv.lock | ||
Easily host karaoke events
Syng.Rocks! is an all-in-one karaoke software, consisting of a backend server, a web frontend and a playback client. Karaoke performers can search a library using the web frontend, and add songs to the queue. The playback client retrieves songs from the backend server and plays them in order.
You can play songs from YouTube, an S3 storage or simply share local files.
The playback client uses mpv for playback and can therefore play a variety of file formats, such as mp3+cdg, webm, mp4, ...
Join our matrix room or follow us on mastodon for update notifications and support.
Screenshots



Client
To host a karaoke event, you only need to use the playback client. You can use the publicly available instance at https://syng.rocks as your server.
Installation
Linux
The preferred way to install the client is via Flathub.
Alternatively Syng.Rocks! can be installed via the Python Package Index (PyPI). When installing the client it is mandatory to include the client flag:
pip install 'syng[client]'
This installs both the playback client (syng client) and a configuration GUI (syng gui).
Note: When installing via PyPI, you need to have libmpv installed on machine of the playback client. Additionally, since version 2.2.1, you also need to have deno installed for proper YouTube support.
The Syng.Rocks! client is also packaged for Arch Linux in the Arch Linux user repository
Windows
Windows support is experimental, but you can download the current version from Releases. No installation necessary, you can just run the exe.
Usage
See Website.
Server
If you want to host your own Syng.Rocks! server, you can do that, but you can also use the publicly available Syng.Rocks! instance at https://syng.rocks.
Python Package Index
You can install the server via pip:
pip install syng
and then run via:
syng server
The server is also automatically available if you install the client.
There exists one optional dependency for the server: alt-profanity-check. If this package is installed, each username is checked for profanity, otherwise no such check happens.
Docker
Alternatively you can run the server using docker. It listens on port 8080 and reads a key file at /app/keys.txt when configured as private or restricted.
docker run --rm -v /path/to/your/keys.txt:/app/keys.txt -p 8080:8080 ghcr.io/christofsteel/syng -H 0.0.0.0
Arch Linux
The Syng.Rocks! server is also packaged for Arch Linux in the Arch Linux user repository
Configuration
See Website.