Fancy Mumble brings modern UI/UX design and powerful customization features to the legendary Mumble voice chat platform.
Built with Rust for rock-solid performance and React for a sleek, responsive interface.
Features • Screenshots • Getting Started • Building • Server
Fancy Mumble is a next-generation desktop client for Mumble that combines the reliability of the battle-tested Mumble protocol with modern features users expect in 2026. Whether you're coordinating with your gaming guild, hosting a podcast, or running a community server, Fancy Mumble delivers crystal-clear voice communication with style.
Status: Active development - Core features are functional, but expect some rough edges as we polish the experience.
- Crystal-clear voice - Opus codec with AI-powered noise suppression (DeepFilterNet3), AGC, and noise gate
- Rich chat - Markdown formatting, inline images, GIF picker, and interactive polls
- Profile customization - Custom avatar frames, banners, nameplates, and WYSIWYG bio editor
- Modern glassmorphic UI - Responsive design for desktop and Android
- Flexible voice controls - Push-to-talk, voice activity detection, per-channel listening
- Secure - TLS encryption, self-signed certificates, no telemetry
- Cross-platform - Windows, Linux, and Android support
The main view - channels on the left, chat in the middle, user info on the right
Customize your profile with frames, banners, and a bio editor
Configure your mic settings and enable AI noise suppression
Fancy Mumble is built as a Rust workspace with multiple crates:
| Crate | Purpose |
|---|---|
mumble-protocol |
Core Mumble protocol implementation - TCP/UDP, TLS, Opus, audio pipeline |
mumble-tauri |
Tauri desktop app - native audio I/O, backend commands, state management |
mumble-tauri/ui |
React frontend - chat UI, profile editor, settings |
fancy-denoiser-deepfilter |
AI noise suppression using DeepFilterNet3 |
fancy-utils |
Shared utility functions |
Tech Stack: Rust + Tauri 2 + React 19 + TypeScript 5 + Tokio async runtime
For detailed documentation, see crates/mumble-protocol/doc/.
- Rust (stable, edition 2021 or later) - Install via rustup
- Node.js (v22 or later) - Download from nodejs.org
- Tauri CLI - Install with:
cargo install tauri-cli --version "^2"
Linux:
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libasound2-dev \
libgtk-3-dev \
libsoup-3.0-dev \
libjavascriptcoregtk-4.1-devAndroid: See ANDROID_DEV.md for complete Android development setup instructions.
-
Clone the repository
git clone https://github.com/Fancy-Mumble/FancyMumbleNext.git cd FancyMumbleNext -
Install frontend dependencies
cd crates/mumble-tauri/ui npm install cd ../../..
-
Run the development server
cd crates/mumble-tauri cargo tauri dev
The app will launch with hot-reloading enabled for both Rust and TypeScript changes.
cd crates/mumble-tauri
cargo tauri buildProduction installers will be generated in target/release/bundle/:
- Windows:
.exeinstaller,.msipackage - Linux:
.deb,.AppImage,.rpm
cd crates/mumble-tauri
cargo tauri android buildAPK/AAB files will be in gen/android/app/build/outputs/.
For development with hot-reload:
cargo tauri android devOr use the helper script (Windows):
.\scripts\android-dev.ps1 -Runcd crates/mumble-tauri/ui
npm test # Single run
npm run test:watch # Watch modecargo test --package mumble-protocol --features opus-codec --libIntegration tests run against a real Mumble server in Docker:
cd crates/mumble-protocol
# Start test server
docker compose -f docker-compose.test.yml up -d --wait
# Run tests
cargo test --package mumble-protocol --test integration
# Run specific test
cargo test --package mumble-protocol --test integration -- test_plugin_data_transmission_between_two_clients
# Cleanup
docker compose -f docker-compose.test.yml downNote: Docker must be running, and port 64738 (TCP+UDP) must be available.
Fancy Mumble works with any standard Mumble server. We maintain an enhanced fork with additional features:
SetZero/mumble-server - github.com/SetZero/mumble-server
Key server components:
- Protocol Implementation - C++ server core (Mumble.proto, MumbleUDP.proto)
- User Management - User state, authentication, and permissions
- Channel System - Channel hierarchy and ACL
- ACL Engine - Access control lists and groups
- HTML Filtering - Safe HTML rendering in comments/messages
- Ban Management - Server ban system
We welcome contributions! Whether you're fixing bugs, adding features, improving documentation, or suggesting ideas, your help is appreciated.
Before contributing:
- Check existing issues and pull requests to avoid duplicates
- Read the CONTRIBUTING.md guidelines
- Review the Copilot Instructions for coding conventions
- Follow the Boy Scout Rule: leave code cleaner than you found it
Development workflow:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with clear, descriptive commits
- Run tests and linters (
cargo clippy,cargo test,npm test) - Push to your fork and open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Mumble Team - For creating and maintaining the excellent Mumble protocol
- Tauri Team - For the amazing cross-platform framework
- Rust Community - For the incredible ecosystem and tools
- All contributors who help make Fancy Mumble better
Built with ❤️ by the Fancy Mumble Team