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.0rc1.

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.0rc1 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

RC install from TestPyPI (recommended for 0.1.0rc1 validation)

pipx install --index-url https://test.pypi.org/simple --pip-args='--extra-index-url https://pypi.org/simple' silicato==0.1.0rc1

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

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.0rc1.tar.gz (18.0 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.0rc1-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file silicato-0.1.0rc1.tar.gz.

File metadata

  • Download URL: silicato-0.1.0rc1.tar.gz
  • Upload date:
  • Size: 18.0 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.0rc1.tar.gz
Algorithm Hash digest
SHA256 d03b3f31bf02737060d181e050927cf8931f4a13c76ebf29bbf566669f6727b0
MD5 0112cda9d2797f2c5900f6cf07bc6843
BLAKE2b-256 e065a7c1418896e5eb61fb8e32f392349c654218e5c84942ac08030b799c981e

See more details on using hashes here.

File details

Details for the file silicato-0.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: silicato-0.1.0rc1-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.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 bf787d46bbf13ba5fb98948c357515f10e632db7ddd2f559677cb9e24399c663
MD5 9ed50ecb9a2123ff38e46499a7174daa
BLAKE2b-256 5254af2b801a71b12c61eff82115145c36d4be7cb027c3562d56bcde3331f738

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