Some checks failed
Build App / build-macos (push) Successful in 2m21s
Build App / build-windows (push) Successful in 3m24s
Build App / sync-to-github (push) Has been cancelled
Build App / build-linux (push) Has been cancelled
Build Container / build-container (push) Successful in 54s
Enables Claude Code's /voice command inside Docker containers by
capturing microphone audio in the Tauri webview and streaming it
into the container via a FIFO pipe.
Container: fake rec/arecord shims read PCM from a FIFO instead of
a real mic. Audio bridge exec writes PCM from Tauri into the FIFO.
Frontend: getUserMedia() + AudioWorklet captures 16kHz mono PCM
and streams it to the container via invoke("send_audio_data").
UI: "Mic Off/On" toggle button in the terminal view.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
17 lines
553 B
Bash
17 lines
553 B
Bash
#!/bin/bash
|
|
# Audio capture shim for Triple-C voice mode.
|
|
# Claude Code spawns `rec` or `arecord` to capture mic audio.
|
|
# Inside Docker there is no mic, so this shim reads PCM data from a
|
|
# FIFO that the Tauri host app writes to, and outputs it on stdout.
|
|
|
|
FIFO=/tmp/triple-c-audio-input
|
|
|
|
# Create the FIFO if it doesn't already exist
|
|
[ -p "$FIFO" ] || mkfifo "$FIFO" 2>/dev/null
|
|
|
|
# Clean exit on SIGTERM (Claude Code sends this when recording stops)
|
|
trap 'exit 0' TERM INT
|
|
|
|
# Stream PCM from the FIFO to stdout until we get a signal or EOF
|
|
cat "$FIFO"
|