Home

Awesome

<p align="center"> <a href="assets/logo.png"> <img src="assets/logo.png" width="30%" /> </a> </p> <p align="center"> A simple, network enabled karaoke player in Rust. </p> <p align="center"> <a href="https://dev.azure.com/tarkah/karaoke-rs/_build/latest?definitionId=1&branchName=master"> <img src="https://dev.azure.com/tarkah/karaoke-rs/_apis/build/status/tarkah.karaoke-rs?branchName=master" /> </a> </p>

Your karaoke collection can be browsed and queued from a self served website and played either natively on your computer, or remotely through any browser. Only supports MP3+G (mp3 & corresponding cdg) files.

Now includes a web player. Songs can be played from any modern browser, anywhere in the world! Use command line flag --use-web-player to enable this feature. Player is accessible from the /player page on the website and can be controlled just like the native player through commands on the queue page.

Setup

Linux

macOS

Windows

Build from Source

First install wasm-pack, then run:

cd frontend
npm install
npm run build
cd ..
cargo build --release

CLI Arguments

karoake-rs 0.11.1
tarkah <admin@tarkah.dev>
A simple, network enabled karaoke player in Rust

USAGE:
    karaoke-rs [FLAGS] [OPTIONS]

FLAGS:
    -h, --help              Prints help information
    -w, --use-web-player    Use web player instead of native player
    -V, --version           Prints version information

OPTIONS:
    -c, --config <FILE>                Sets a custom config file
    -d, --data <DIR>                   Sets a custom data directory
    -p, --port <PORT>                  Specify website port
        --port-ws <PORT_WS>            Specify a websocket port when using the web player feature
    -r, --refresh-collection <BOOL>    Specify if collection should be refreshed on startup [possible values: true,
                                       false]
    -s, --songs <DIR>                  Sets a custom song directory

Screenshots

Songs Page

songs

Favorites Page

favorites

Artists Page

artists

Queue Page

queue

Player

player1

player1

player2

Acknowledgments