Skip to content

hyperpolymath/burble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Burble

What is Burble?

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.

Why Burble?

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

Key Features

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

Quick Start

One-command container deployment

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

Development setup

# 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 dev

Run tests

just test          # All tests
just test-server   # Elixir tests (49 tests)
just test-ffi      # Zig coprocessor tests
just bench         # Elixir vs Zig benchmarks

Coprocessor Benchmarks

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

Wondering How This Works?

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.

Documentation

Questions?

Open an issue on GitHub or reach out directly — happy to explain anything in more detail.

License

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.

About

Voice first. Friction last. Complexity optional. — Modern self-hostable voice-first communications platform.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors