Loading...
Set up VoiceLayer — Voice I/O for AI Coding Agents
The tap ships the CLI/MCP package plus the notarized VoiceBar notch app as a cask. VoiceBar owns the microphone-permissioned voice daemon, so install both.
brew tap etanhey/layers
brew install etanhey/layers/voicelayer
brew install --cask etanhey/layers/voicebar
voicelayer setup*Prefer npm? bun add -g voicelayer-mcp (or npm i -g voicelayer-mcp) installs just the CLI/MCP package.
VoiceLayer runs as a singleton daemon on a Unix socket — each Claude session connects through a lightweight socat shim. Add this to any repo's .mcp.json.
// .mcp.json
{
"mcpServers": {
"voicelayer": {
"command": "socat",
"args": ["STDIO", "UNIX-CONNECT:/tmp/voicelayer-mcp.sock"]
}
}
}For voice recording: sox (brew install sox). For local transcription: whisper.cpp (brew install whisper-cpp) plus a GGML model file. Cloud transcription via Wispr Flow is available as a fallback.
brew install sox whisper-cpp
# Download a model:
curl -L -o ~/.cache/whisper/ggml-large-v3-turbo.bin \
https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin*macOS: grant microphone access to your terminal app in System Settings > Privacy > Microphone.
Use the announce mode for a quick fire-and-forget test. The agent will speak the message aloud.
// In a Claude Code session:
voice_speak("Hello from VoiceLayer!")Complete reference for voice_speak and voice_ask, environment variables, STT backends, and session management.
View VoiceLayer Docs