tuimble

TUI Mumble client with voice support and push-to-talk.

Features

  • Terminal-based UI (Textual)
  • Voice transmission with Opus codec
  • Push-to-talk via Kitty keyboard protocol, evdev, or toggle
  • Channel browsing and text chat
  • Chat input history (Up/Down arrow navigation)
  • Self-deafen toggle
  • Volume control (input/output gain)
  • Voice pitch shifting (deeper/higher)
  • Client certificate authentication
  • Auto-reconnect on network loss
  • Config hot-reload (F5)

Key Bindings

Key Action
Tab Cycle focus (chat input / channel tree)
F1 Toggle self-deafen
F2 Cycle output volume
F3 Cycle input volume
F4 Push-to-talk (configurable)
F5 Reload config from disk
F6 Pitch down (1 semitone)
F7 Pitch up (1 semitone)
Enter Send message / join channel (sidebar)
Up Previous message (input) / previous channel (sidebar)
Down Next message (input) / next channel (sidebar)
q Quit
Ctrl+C Quit

Quick Start

make setup
make run

Configuration

mkdir -p ~/.config/tuimble

~/.config/tuimble/config.toml:

[server]
host = "mumble.example.com"
port = 64738
username = "myname"
# certfile = "/path/to/cert.pem"
# keyfile = "/path/to/key.pem"

[audio]
# output_gain = 1.0
# input_gain = 1.0
# pitch = 0          # semitones, -12 to +12

[ptt]
key = "f4"
mode = "hold"
backend = "auto"

Requirements

  • Python 3.11+
  • libopus
  • portaudio (libportaudio2)
  • A Mumble server to connect to
Description
No description provided
Readme 236 KiB
Languages
Python 99.6%
Makefile 0.4%