Self hosted all-in-one karaoke software https://syng.rocks
Find a file
2024-09-22 13:02:09 +02:00
docs Preparation for 2.0 release 2023-12-18 18:56:03 +01:00
syng removed tk and added qt gui 2024-09-22 13:02:09 +02:00
typings Implemented a profanity checker for performer names 2024-06-19 11:02:08 +02:00
.gitignore Configured Gitlab CI for sphinx, mypy and pylint 2022-12-04 22:23:08 +01:00
.gitlab-ci.yml Datei .gitlab-ci.yml aktualisieren 2024-07-09 22:11:33 +00:00
LICENSE LICENSE hinzufügen 2022-12-04 14:54:21 +00:00
poetry.lock removed tk and added qt gui 2024-09-22 13:02:09 +02:00
pyproject.toml removed tk and added qt gui 2024-09-22 13:02:09 +02:00
README.md Unified start script to syng 2024-07-11 00:15:54 +02:00
requirements.txt Unified start script to syng 2024-07-11 00:15:54 +02:00
rocks.syng.gui.svg Finally figured out how to add icons in gnome :/ 2024-09-20 16:57:19 +02:00
rocks.syng.Syng.desktop Finally figured out how to add icons in gnome :/ 2024-09-20 16:57:19 +02:00

Syng

Syng 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.

Currently, songs can be accessed using the following sources:

  • YouTube. The backend server queries YouTube for the song and forwards the URL to the playback client. The playback client then downloads the video from YouTube for playback.
  • S3. The backend server holds a list of all file paths accessible through the s3 storage, and forwards the chosen path to the playback client. The playback client then downloads the needed files from the s3 for playback.
  • Files. Same as S3, but all files reside locally on the playback client.

The playback client uses mpv for playback and can therefore play a variety of file formats, such as mp3+cdg, webm, mp4, ...

Installation

For a clean installation we recommend installing syng inside a virtualenv.

Server

pip install "syng[server] @ git+https://github.com/christofsteel/syng.git"

This installs the server part (syng server), if you want to self-host a syng server. There is a publicly available syng instance at https://syng.rocks.

Client

pip install "syng[client] @ git+https://github.com/christofsteel/syng.git"

This installs both the playback client (syng client) and a configuration GUI (syng gui).

Note: You need to have mpv installed on the playback client.