A simple, network enabled karaoke player in Rust.
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
- Download latest release or build from source
- Run
karaoke-rs --help
to see all arguments - Place your song collection at
~/.local/share/karaoke-rs/songs
, or specify location via--songs path/to/song/directory
- Default configuration file is created at
~/.config/karaoke-rs/config.yaml
. This can be copied / changed and specified via--config path/to/config.yaml
- You may need to force disable vsync to eliminate flickering, set environment variable
vblank_mode=0
macOS
- Download latest release or build from source
- Run
karaoke-rs --help
to see all arguments - Place your song collection at
$HOME/Library/Application Support/karaoke-rs/songs
, or specify location via--songs path/to/song/directory
- Default configuration file is created at
$HOME/Library/Preferences/karaoke-rs/config.yaml
. This can be copied / changed and specified via--config path/to/config.yaml
Windows
- Download latest release or build from source
- Double click
karaoke-rs.exe
to run with default configuration. Run from command prompt / powershellkaraoke-rs.exe --help
to see all arguments - Place your song collection at
%APPDATA%\karaoke-rs\songs
, or specify location via--songs C:\path\to\song\directory
- Default configuration file is created at
%APPDATA%\karaoke-rs\config.yaml
. This can be copied / changed and specified via--config C:\path\to\config.yaml
- Ensure all paths supplied via argument are absolute from the root of the applicable drive. Relative paths appear to cause program to crash
Build from Source
- Build frontend
First install wasm-pack, then run:
cd frontend
npm install
npm run build
- Compile
cd ..
cargo build --release
- Binary located at
target/release/karaoke-rs
CLI Arguments
karoake-rs 0.11.1
tarkah <[email protected]>
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
Favorites Page
Artists Page
Queue Page
Player
Acknowledgments
- @maxjoehnk - Thanks for designing the frontend!
- @Keavon - Thanks for helping extensively test the new frontend & web player!