Skip to main content

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) for send/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:

  1. Send transcript text first.
  2. Wait briefly.
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silicato-0.1.0rc2.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

silicato-0.1.0rc2-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

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

Hashes for silicato-0.1.0rc2.tar.gz
Algorithm Hash digest
SHA256 f6110a022bd6fb25ce1e73fd1cc9084c281755ffc1ea6af6b0a454941dc23a5d
MD5 45b5cce19b3c7a35c4fd6a2f8111dcf3
BLAKE2b-256 acfd4e0631e2a1d034a93ab982420e849b524c7947f7db87d644286998180433

See more details on using hashes here.

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

Hashes for silicato-0.1.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 64e70882028098435f454c833c107849b729602a65b654a2b2658cd0d73a517a
MD5 5b851a09bfc093b6ca363613f0b0a734
BLAKE2b-256 172a45d2e22673ff99de97bd77e1222afee3520f59679c42981b914850380414

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page