Files
tuimble/README.md
Username 2533e43391 docs: add pitch shifting documentation
F6/F7 keybindings, audio.pitch config option, voice pitch section
in USAGE.md.  Updated profiling notes to reflect per-thread coverage.
2026-02-28 13:55:46 +01:00

77 lines
1.5 KiB
Markdown

# 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
```sh
make setup
make run
```
## Configuration
```sh
mkdir -p ~/.config/tuimble
```
`~/.config/tuimble/config.toml`:
```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