Skip to content

iotku/mumzic

Repository files navigation

mumzic

Music Bot for mumble servers, can play youtube/soundcloud or local files.

mumzic screenshot

Usage / Commands

See usage.md

Stereo Audio

Mumble Client 1.4.x or higher required:

Headphones checkbox in Positional audio must be checked!

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.

Getting Started

Server Requirements

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

Docker Compose

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 --build

Note

See docker-compose.yml if you want to enable bindings for a local media.db (still needs work for persistance see #51)

Development

Dependencies

Base Reqirements: go (>=1.20) / ffmpeg / yt-dlp / sqlite3

Development Headers: opus / opusfile

Build tools: pkg-config

2026 Update:

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-dev
Fedora (Rocky Linux / dnf)
sudo dnf install opus-devel opusfile-devel pkgconfig
Bazzite (Universal Blue / Homebrew (linuxbrew))
export PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:$PKG_CONFIG_PATH
brew install pkg-config opus opusfile
MacOS (Homebrew)
brew install pkg-config opus opusfile

Windows: Consider using Docker or WSL Ubuntu.

Building

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.

Running

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

About

Music bot for mumble servers, can play youtube/soundcloud or local files.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors