Linux push-to-talk voice bridge to terminal AI agents running in tmux.
Project description
Silicato
Silicato is a Linux voice bridge from push-to-talk microphone input to a selected AI-agent tmux pane.
Current release candidate: 0.1.0rc2.
Supported Platforms
- Official support: TUXEDO OS 24.04 LTS (Ubuntu noble base)
- Best effort: Ubuntu 24.04-compatible Linux environments
Validated baseline for this RC:
- OS: TUXEDO OS 24.04.4 LTS
- Python: 3.12.3
- tmux: 3.4
- Agent CLIs: Codex CLI 0.107.0 and Claude Code (manual validation)
Release Scope
0.1.0rc2 is intentionally limited to the current feature set:
- Push-to-talk transcription flow
- Optional preview mode (
--preview) forsend/edit/retry/skip/quit - Required tmux + terminal agent CLI workflow
- Existing target resolution, config persistence, JSONL logging, and doctor diagnostics
Out of scope for this RC:
- Always-on mode
- Spoken replies (TTS)
- Non-Linux platform support
Capabilities
- Local speech capture via
arecord - Local transcription via
faster-whisper - Language selection:
en,de,auto - tmux pane target selection with persisted default target
- Normal mode: direct send after transcription
- Preview mode: review/edit/retry/skip/quit before send
- Runtime diagnostics via
silicato --doctor - Local JSONL turn logging
Limitations
- Linux and tmux are mandatory
- A terminal agent CLI (for example Codex or Claude Code) must run in a tmux pane
- No always-on listening mode
- No spoken output mode
- Turn logs may contain transcript text and stay local on disk
Install
Install from PyPI (0.1.0rc2)
pipx install silicato==0.1.0rc2
Source install
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -U pip
make install-dev
Final release install (after 0.1.0 publish)
pipx install silicato
Maintainer-only TestPyPI validation steps live in docs/dev/release-rc.md.
Quick Start
Install required system packages:
sudo apt update
sudo apt install -y alsa-utils ffmpeg python3-venv tmux
Run diagnostics:
silicato --doctor
Run normal mode:
silicato
Run preview mode:
silicato --preview
Normal mode sends directly after transcription. Preview mode requires explicit confirmation.
Known Issues
Agent submit timing in tmux
Status:
- Silicato mitigates this by splitting text send and submit key send with a short delay.
- The issue has been observed with terminal agent UIs in tmux on Linux.
Symptom:
- Transcript text appears in the agent input but is not submitted until manual Enter.
Current mitigation in Silicato:
- Send transcript text first.
- Wait briefly.
- Send Enter as a separate tmux operation.
If you still see this behavior, open a bug report and include:
- OS distribution and version
- terminal emulator
- tmux version
- Agent CLI + version (for example Codex CLI or Claude Code)
- exact reproduction steps
Commands
make install
make install-dev
make hooks
make test-arch
make check-rules
make test-rules-fast
make test-rules
make check
make test-fast
make test
make gate
Documentation
User docs:
Developer docs:
Project docs:
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file silicato-0.1.0rc2.tar.gz.
File metadata
- Download URL: silicato-0.1.0rc2.tar.gz
- Upload date:
- Size: 17.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6110a022bd6fb25ce1e73fd1cc9084c281755ffc1ea6af6b0a454941dc23a5d
|
|
| MD5 |
45b5cce19b3c7a35c4fd6a2f8111dcf3
|
|
| BLAKE2b-256 |
acfd4e0631e2a1d034a93ab982420e849b524c7947f7db87d644286998180433
|
File details
Details for the file silicato-0.1.0rc2-py3-none-any.whl.
File metadata
- Download URL: silicato-0.1.0rc2-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64e70882028098435f454c833c107849b729602a65b654a2b2658cd0d73a517a
|
|
| MD5 |
5b851a09bfc093b6ca363613f0b0a734
|
|
| BLAKE2b-256 |
172a45d2e22673ff99de97bd77e1222afee3520f59679c42981b914850380414
|