Music Bot for mumble servers, can play youtube/soundcloud or local files.
See usage.md
Mumble Client 1.4.x or higher required:
Enable Headphones checkbox in Mumble Client Audio Output settings.
Note
For stereo audio to work use Docker Compose or take note of the Build Instructions.
For good audio quality you likely want to change the maximum bandwidth of your server to at least 96000 (bandwidth=96000 in mumble-server (murmur) config).
Tip
Using Docker Compose will ensure you have the correct dependencies!
Copy .env-example -> .env and fill out server information and credentials.
docker compose up Rebuild the image to upgrade (e.g. after a git pull)
docker compose up --buildNote
See docker-compose.yml if you want to enable bindings for a local media.db (still needs work for persistance see #51)
Base Reqirements: go (>=1.20) / ffmpeg / yt-dlp / sqlite3
Development Headers: opus / opusfile
Build tools: pkg-config
We now require opus development headers to build with https://github.com/hraban/opus/tree/v2
Ubuntu (Debian / Apt)
sudo apt-get install pkg-config libopus-dev libopusfile-devFedora (Rocky Linux / dnf)
sudo dnf install opus-devel opusfile-devel pkgconfigBazzite (Universal Blue / Homebrew (linuxbrew))
export PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$PKG_CONFIG_PATH
brew install pkg-config opus opusfileMacOS (Homebrew)
brew install pkg-config opus opusfileWindows: Consider using Docker or WSL Ubuntu.
Until I can figure out modifying modules properly
git clone https://github.com/iotku/mumzic/You can go build which should pull in my modified gumble which has stereo support
Warning
Using go get / go install WONT work becasue it does not respect the replace method in go.mod.
./mumzic -insecure -server [hostname or ip]For additional options (such as setting the username or password), see mumzic -help
Gumble CLI Flags
Usage of ./mumzic:
-certificate string
user certificate file (PEM)
-insecure
skip server certificate verification
-key string
user certificate key file (PEM)
-password string
client password
-server string
Mumble server address (default "localhost:64738")
-username string
client username (default "gumble-bot")Note: Here we used the -insecure flag, to (hopefully) avoid the pain that comes with setting up certificates
Warning
Currently we don't check for credentials in the .env file when running directly outside of docker-compose so we MUST supply the arguments directly to the mumzic executable

