Burble is a self-hostable voice communications platform built for people who care about latency, privacy, and control. Think Mumble’s audio seriousness meets modern browser-based joining — no downloads, no accounts, no friction.
One command to deploy. Sub-second to join. Your server, your rules.
| Burble | Mumble | Discord | Jitsi | |
|---|---|---|---|---|
Self-host |
Yes |
Yes |
No |
Yes |
Browser join |
Yes (WebRTC) |
No (native only) |
Browser + app |
Yes |
Latency |
<10ms (Zig SIMD NIFs) |
~15ms |
~50-100ms |
~30ms |
Privacy |
E2EE optional, no telemetry |
Encrypted, no telemetry |
Telemetry, scanning |
E2EE optional |
Precision timing |
IEEE 1588 PTP (<1us) |
No |
No |
No |
Embeddable |
Yes (game/app integration) |
No |
No |
Partial |
Audio performance — Zig SIMD coprocessor NIFs deliver 26,350x speedup over pure Elixir for LZ4 compression, 62x for echo cancellation, 37x for FFT. Your server doesn’t break a sweat.
Precision Time Protocol — IEEE 1588 PTP support with sub-microsecond synchronisation across nodes. Automatic clock source detection with graceful fallback (PTP hardware → phc2sys → NTP → system). Built for multi-server deployments where timing matters.
Four topology modes — From single-server (monarchic) to fully distributed
mesh (serverless with mandatory E2EE). Set BURBLE_TOPOLOGY and go.
Erlang/OTP backbone — Supervision trees, hot code upgrades, fault isolation. If a room crashes, everything else keeps running. That’s not marketing — that’s OTP.
Bridge interop — Bidirectional Mumble/Murmur relay. Migrate your community without forcing everyone to switch at once. Jitsi and Matrix bridges planned.
Embeddable client library — Drop Burble voice into your game, workspace, or app. Used in IDApTIK (asymmetric co-op game) and PanLL (panel workspace).
git clone https://github.com/hyperpolymath/burble && cd burble
cd containers && podman-compose -f compose.toml up
# Server: http://localhost:4000
# Web client: http://localhost:8080
# VeriSimDB: http://localhost:8081# Prerequisites: Elixir 1.17+, Zig 0.15+, Deno
# Build Zig coprocessor
cd ffi/zig && zig build -Doptimize=ReleaseFast
cp zig-out/lib/libburble_coprocessor.so ../../server/priv/
# Start server
cd server && mix deps.get && mix phx.server
# Start web client (separate terminal)
cd client/web && deno task devSIMD-accelerated audio processing via Zig NIFs:
| Operation | Elixir | Zig NIF | Speedup |
|---|---|---|---|
LZ4 compress |
83ms |
3.1us |
26,350x |
Echo cancel |
19.4ms |
310us |
62x |
FFT (256pt) |
826us |
22us |
37x |
Convolution |
300us |
11us |
27x |
Neural denoise |
54us |
9us |
6x |
If you’re curious about the tech behind these claims — how we hit 26,350x, what PTP actually does, why OTP gives us fault isolation — see EXPLAINME.adoc for the receipts.
-
Show Me The Receipts — feature highlights with code paths and honest caveats
-
Architecture — control plane, media plane, topology modes, supervision tree
-
Threat Model — security analysis and mitigations
-
ABI/FFI Design — Idris2 proofs + Zig implementation
Open an issue on GitHub or reach out directly — happy to explain anything in more detail.
SPDX-License-Identifier: PMPL-1.0-or-later
Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
See LICENSE for full text.