开源项目 GitHub Trending 2026-07-19T12:00 正文 ok 2578 words

🔥 jamiepine/voicebox:开源 AI 语音工作室,本地化语音输入输出的完整方案

英文标题:🔥 jamiepine/voicebox

Voicebox 是一款本地优先的开源 AI 语音工作室,集语音克隆、多引擎 TTS 生成与全局语音转录于一体,可在本地运行而无需联网。项目整合了 7 种 TTS 引擎,支持 23 种语言,提供语音克隆、无限生成长度、音效处理和全局听写热键等完整功能,并通过 MCP 工具调用让 Claude Code、Cursor 等 AI 代理直接使用你克隆的声音进行语音输出。对开发者而言,它提供了完整的语音 I/O 栈和 REST API,是 ElevenLabs 和 WisprFlow 的开源替代方案,所有数据和模型均保留在本地,保障隐私。
打开原文相关 2 · 机会 4
media10.3 KB media1.2 KB media1.2 KB media5.1 KB media177.7 KB media156.6 KB media114.1 KB media95.7 KB

中文

Voicebox

开源 AI 语音工作室。 克隆任意声音。生成语音。在任何应用中听写。用你自己拥有的声音与智能代理对话。 完整的语音输入/输出栈,在你的机器上本地运行。

下载量 发布 星标 许可证 Ask DeepWiki

jamiepine%2Fvoicebox | Trendshift

voicebox.sh • 文档 • 下载 • 功能 • API • 故障排除

Voicebox 应用截图

点击上方图片可在 voicebox.sh 观看演示视频

Voicebox 截图 2

Voicebox 截图 3

Voicebox 是一款本地优先的 AI 语音工作室——一个应用同时提供 ElevenLabs 和 WisprFlow 的免费开源替代方案。只需几秒音频即可克隆声音,用 7 种 TTS 引擎生成 23 种语言的语音,通过全局热键在任何文本输入框中听写,并为你选择的任意 MCP 感知 AI 代理赋予声音。

两家云服务巨头各自占据语音输入/输出回路的一半——ElevenLabs 负责输出,WisprFlow 负责输入。Voicebox 则覆盖两端,并用内置的本地 LLM 针对优化进行桥接以及按档案塑造人格,这一切都在你的机器上运行。

  • 完全隐私——模型、语音数据和录制的音频永不离开你的机器
  • 7 种 TTS 引擎——Qwen3-TTS、Qwen CustomVoice、LuxTTS、Chatterbox Multilingual、Chatterbox Turbo、HumeAI TADA 和 Kokoro
  • 语音克隆与预设声音——从参考样本进行零样本克隆,或通过 Kokoro 和 Qwen CustomVoice 选择 50+ 精心设计的预设声音
  • 23 种语言——从英语到阿拉伯语、日语、印地语、斯瓦希里语等
  • 后期特效——音高偏移、混响、延迟、合唱、压缩和滤波器
  • 富有表现力的语音——通过 Chatterbox Turbo 使用 [laugh]、[sigh]、[gasp] 等副语言标签;通过 Qwen CustomVoice 使用自然语言控制表达
  • 不限生成长度——脚本、文章和章节的自动分块与交叉淡入淡出
  • 故事编辑器——用于对话、播客和叙事的多轨时间线
  • 语音输入——全局听写热键,支持按住说话和切换模式,在 macOS 上通过辅助功能验证的自动粘贴,以及每个文本输入框上的应用内麦克风,基于 Whisper 的语音转文本
  • 代理语音输出——一个工具调用(voicebox.speak),任何支持 MCP 的代理(Claude Code、Cursor、Cline)都能用你克隆的声音与你对话
  • 语音人格——可为任意语音档案附加自由格式的个性描述,然后通过内置的本地 LLM 进行撰写、重写或回答——代理也可通过 MCP 调用相同模式
  • API 优先——提供 REST API 和内置 MCP 服务器,便于将语音输入/输出集成到你自己的应用和代理中
  • 原生性能——基于 Tauri(Rust)构建,而非 Electron
  • 全平台运行——macOS(MLX/Metal)、Windows(CUDA)、Linux、AMD ROCm、Intel Arc、Docker

查看所有二进制文件 →

Linux——预构建二进制文件尚未提供。请参考 voicebox.sh/linux-install 从源码构建的说明。

遇到问题? 查看故障排除指南了解常见安装、生成、模型下载和 GPU 相关问题。


多引擎语音克隆

七种 TTS 引擎各有所长,可在每次生成时切换:

引擎 语言 优势
Qwen3-TTS (0.6B / 1.7B) 10 高质量多语言克隆,支持表现力指令("speak slowly"、"whisper")
Qwen CustomVoice 10 9 个精选预设声音,通过自然语言控制表达——无需参考音频
LuxTTS 英语 轻量级(约 1GB 显存),48kHz 输出,CPU 上可达 150 倍实时速度
Chatterbox Multilingual 23 最广泛的语言覆盖——阿拉伯语、丹麦语、芬兰语、希腊语、希伯来语、印地语、马来语、挪威语、波兰语、斯瓦希里语、瑞典语、土耳其语等
Chatterbox Turbo 英语 快速 350M 模型,支持副语言情感/声音标签
TADA (1B / 3B) 10 HumeAI 语音语言模型——700 秒以上连贯音频,文本-声学双对齐
Kokoro 8 50 个精选预设声音,小至 82M 的模型,CPU 推理速度快

情感与副语言标签

只有 Chatterbox Turbo 会解析 [laugh] 和 [sigh] 等副语言标签。Qwen3-TTS、LuxTTS、Chatterbox Multilingual 和 HumeAI TADA 会将其按字面文本读出。

选中 Chatterbox Turbo 后,在文本输入框中键入 / 即可打开标签插入器,并在语音中内联添加表达性标签:

[laugh] [chuckle] [gasp] [cough] [sigh] [groan] [sniff] [shush] [clear throat]

8 种由 Spotify 的 pedalboard 库驱动的音频效果。可在生成后应用、实时预览,并构建可重复使用的预设。

效果 描述
音高偏移 最高上/下调 12 个半音
混响 可配置空间大小、衰减、干湿混音
延迟 回声,可调节时间、反馈和混音
合唱/镶边 调制延迟,产生金属质感或丰富的音色
压缩器 动态范围压缩
增益 音量调节(-40 至 +40 dB)
高通滤波器 去除低频
低通滤波器 去除高频

内置 4 个预设(机器人、收音机、回声室、低沉声音),并支持自定义预设。效果可按语音档案设为默认。

无限生成长度

文本会在句子边界处自动分割,每个块独立生成,然后交叉淡入淡出连接在一起。适用于所有引擎。

  • 可配置的自动分块限制(100–5,000 字符)
  • 交叉淡入淡出滑块(0–200 毫秒),实现平滑过渡
  • 最大文本长度:50,000 字符
  • 智能分割会考虑缩略词、中日韩标点以及 [标签]

每次生成都支持多个版本,并包含来源追踪:

  • 原始版本——纯净 TTS 输出,始终保留
  • 效果版本——从任意源版本应用不同效果链
  • 重录(Takes)——使用新种子重新生成,以获取变体
  • 来源追踪——每个版本记录其血统
  • 收藏夹——星标常用生成结果

生成是非阻塞的。提交后即可立即开始输入下一次生成。

  • 串行执行队列,防止 GPU 资源争抢

  • 实时 SSE 状态流推送

  • 失败的生成可重试

  • 崩溃导致的旧生成会在启动时自动恢复

  • 从音频文件创建档案,或直接在应用内录制

  • 导入/导出语音档案以共享或备份

  • 多样本支持,提供更高质量的克隆

  • 每个档案可设定默认效果链

  • 用描述和语言标签进行整理

多角色时间线编辑器,用于对话、播客和叙事。

  • 支持拖放的多轨合成
  • 内联音频裁剪和分割
  • 自动播放与同步的播放头
  • 每个轨道片段的版本固定

全局听写与语音输入

语音输入/输出回路的另一半。在系统任意位置按住热键,说话,松开——在 macOS 上转录文本会直接粘贴到聚焦的文本输入框。或者点击任意 Voicebox 文本输入框上的麦克风,直接听写至应用内。

  • 可配置的键位绑定——按住说话和点按切换和弦,每个都可在应用内的键位选择器中重新绑定。按住说话过程中点按 Space 可无缝升级为切换会话,音频不会中断
  • 目标感知粘贴(macOS)——通过辅助功能验证注入聚焦的文本字段,并带有原子剪贴板保存/恢复功能,不会破坏剪贴板内容
  • 首次运行权限指导——应用内步骤引导你完成 macOS 辅助功能和输入监控授权,包含直达系统设置的深层链接
  • 应用内麦克风按钮出现在每个 Voicebox 文本输入框上——生成表单、档案描述、故事标题,任何需要输入文字的地方
  • LLM 优化——粘贴前可选择清除语气词、结巴和错误起始
  • 屏幕悬浮条——浮层叠加显示 recording、transcribing、refining 和 speaking 状态。代理对你说话时也会使用相同的悬浮条,因此语音输入/输出方向具有统一的心智模型

Voicebox 使用 OpenAI Whisper 进行转录——为听写、抓取标签和 /transcribe API 提供支撑的同一模型。根据你的平台运行在 MLX(Apple Silicon)或 PyTorch(CUDA / ROCm / DirectML / CPU)上。

大小 说明
Base / Small / Medium / Large 标准 Whisper 质量梯度
Turbo 比 Whisper Large 约快 8 倍,质量损失极小

更多引擎(Parakeet v3、Qwen3-ASR)正在计划中——请参见路线图。

每次听写、应用内录制以及上传的音频文件都会落入抓取标签中——原始音频与转录文本配对,始终保留。

  • 重新播放、重新转录、优化——使用任意大小的 Whisper 重新运行语音转文本,或用不同标志(填充词清理、自我修正移除、技术术语保留)通过本地 LLM 重跑原始转录文本
  • 内联编辑——调整转录文本并在失焦时保存
  • 作为语音档案播放——一键将任意抓取内容用克隆的声音转为语音
  • 提升为语音样本——将抓取内容的音频和转录用作任意语音档案的参考样本
  • 本地抓取存储——原始音频和转录文本保留在你的 Voicebox 数据目录中,并提供设置中的文件夹快捷方式

每个代理都能拥有声音。只需一次工具调用,任何支持 MCP 的代理都可以用你克隆的声音与你对话——任务完成、提问、通知。听写时出现的悬浮条在代理说话时也会出现,让你始终知晓机器正在输出什么。

// 在任意支持 MCP 的代理中: await voicebox.speak({ text: "Deploy complete.", profile: "Morgan", });

同样也以 POST /speak 形式暴露给任何不支持 MCP 的场景——ACP、A2A、Shell 脚本、自定义套件。

  • 双向悬浮条——recording、transcribing、refining 和 speaking 是同一系统级浮层的不同状态,听写和代理语音共享同一界面
  • 按代理绑定的声音——在 设置 → MCP 中,将 Claude Code 绑定到 Morgan,将 Cursor 绑定到 Scarlett,这样无需看屏幕就能区分哪个代理在说话。每个客户端的 last_seen_at 时间戳确认绑定已生效
  • 始终可见——没有无声后台 TTS;所有由代理触发的语音都会在悬浮条中显示语音档案名称,并持续整个发音期间
  • HTTP + stdio 传输——作为 URL 安装到 Claude Code / Cursor / Windsurf / VS Code MCP,或者将只支持 stdio 的客户端指向内置的 voicebox-mcp 二进制文件

为任意语音档案附加自由格式的个性描述——这个声音是谁,如何说话,关心什么。一旦设定个性,生成框上会出现两个操作,由完全本地运行的内置 Qwen3 LLM 驱动。

  • 撰写——随机生成器,将一句符合角色风格的话放入文本区域;可编辑并说出,或再次点击生成不同内容
  • 以角色身份说话——一个开关,将你输入的文本路由到人格 LLM 进行改写,使其符合角色口吻后再进行 TTS

代理可通过 MCP 调用相同的重写路径,只需向 voicebox.speak 传递 personality: true,即可将工具转变为 文本输入 → 人格 LLM → TTS 的流水线。同一个 LLM 也支持听写的优化步骤——应用中一个 LLM,一份模型缓存,一份 GPU 内存占用。

本地 LLM 选项: Qwen3 0.6B / 1.7B / 4B,与 TTS 运行时共享(macOS 上使用 MLX,其他平台使用 PyTorch)。

使用案例:代理开发循环(听写提交)

English / 原文

Voicebox

The open-source AI voice studio.
Clone any voice. Generate speech. Dictate into any app. Talk to agents in voices you own.
The full voice I/O stack, running locally on your machine.

Downloads Release Stars License Ask DeepWiki

jamiepine%2Fvoicebox | Trendshift

voicebox.sh • Docs • Download • Features • API • Troubleshooting

Voicebox App Screenshot

Click the image above to watch the demo video onvoicebox.sh

Voicebox Screenshot 2

Voicebox Screenshot 3

Voicebox is a local-first AI voice studio — a free and open-source alternative to ElevenLabs and WisprFlow in one app. Clone voices from a few seconds of audio, generate speech in 23 languages across 7 TTS engines, dictate into any text field with a global hotkey, and give any MCP-aware AI agent a voice of your choosing.

The two cloud incumbents sit on opposite halves of the voice I/O loop — ElevenLabs on output, WisprFlow on input. Voicebox does both, bridges them with a bundled local LLM for refinement and per-profile personas, and runs the whole thing on your machine.

  • Complete privacy — models, voice data, and captures never leave your machine
  • 7 TTS engines — Qwen3-TTS, Qwen CustomVoice, LuxTTS, Chatterbox Multilingual, Chatterbox Turbo, HumeAI TADA, and Kokoro
  • Voice cloning and preset voices — zero-shot cloning from a reference sample, or 50+ curated preset voices via Kokoro and Qwen CustomVoice
  • 23 languages — from English to Arabic, Japanese, Hindi, Swahili, and more
  • Post-processing effects — pitch shift, reverb, delay, chorus, compression, and filters
  • Expressive speech — paralinguistic tags like [laugh], [sigh], [gasp] via Chatterbox Turbo; natural-language delivery control via Qwen CustomVoice
  • Unlimited length — auto-chunking with crossfade for scripts, articles, and chapters
  • Stories editor — multi-track timeline for conversations, podcasts, and narratives
  • Voice input — global dictation hotkey with push-to-talk and toggle modes, accessibility-verified auto-paste on macOS, in-app mic on every text field, Whisper-based STT
  • Agent voice output — one tool call (voicebox.speak) and any MCP-aware agent (Claude Code, Cursor, Cline) speaks to you in a voice you've cloned
  • Voice personalities — attach a free-form persona to any voice profile, then Compose, Rewrite, or Respond via a bundled local LLM — agents can invoke the same modes over MCP
  • API-first — REST API plus a built-in MCP server for integrating voice I/O into your own apps and agents
  • Native performance — built with Tauri (Rust), not Electron
  • Runs everywhere — macOS (MLX/Metal), Windows (CUDA), Linux, AMD ROCm, Intel Arc, Docker

View all binaries →

Linux — Pre-built binaries are not yet available. See voicebox.sh/linux-install for build-from-source instructions.

Having trouble? See the Troubleshooting Guide for common install, generation, model-download, and GPU issues.


Multi-Engine Voice Cloning

Seven TTS engines with different strengths, switchable per-generation:

Engine Languages Strengths
Qwen3-TTS (0.6B / 1.7B) 10 High-quality multilingual cloning, delivery instructions ("speak slowly", "whisper")
Qwen CustomVoice 10 9 curated preset voices with natural-language delivery control — no reference audio required
LuxTTS English Lightweight (~1GB VRAM), 48kHz output, 150x realtime on CPU
Chatterbox Multilingual 23 Broadest language coverage — Arabic, Danish, Finnish, Greek, Hebrew, Hindi, Malay, Norwegian, Polish, Swahili, Swedish, Turkish and more
Chatterbox Turbo English Fast 350M model with paralinguistic emotion/sound tags
TADA (1B / 3B) 10 HumeAI speech-language model — 700s+ coherent audio, text-acoustic dual alignment
Kokoro 8 50 curated preset voices, tiny 82M model, fast CPU inference

Emotions & Paralinguistic Tags

Only Chatterbox Turbo interprets paralinguistic tags like [laugh] and [sigh]. Qwen3-TTS, LuxTTS, Chatterbox Multilingual, and HumeAI TADA read them literally as text.

With Chatterbox Turbo selected, type / in the text input to open the tag inserter and add expressive tags inline with speech:

[laugh] [chuckle] [gasp] [cough] [sigh] [groan] [sniff] [shush] [clear throat]

8 audio effects powered by Spotify's pedalboard library. Apply after generation, preview in real time, build reusable presets.

Effect Description
Pitch Shift Up or down by up to 12 semitones
Reverb Configurable room size, damping, wet/dry mix
Delay Echo with adjustable time, feedback, and mix
Chorus / Flanger Modulated delay for metallic or lush textures
Compressor Dynamic range compression
Gain Volume adjustment (-40 to +40 dB)
High-Pass Filter Remove low frequencies
Low-Pass Filter Remove high frequencies

Ships with 4 built-in presets (Robotic, Radio, Echo Chamber, Deep Voice) and supports custom presets. Effects can be assigned per-profile as defaults.

Unlimited Generation Length

Text is automatically split at sentence boundaries and each chunk is generated independently, then crossfaded together. Works with all engines.

  • Configurable auto-chunking limit (100–5,000 chars)
  • Crossfade slider (0–200ms) for smooth transitions
  • Max text length: 50,000 characters
  • Smart splitting respects abbreviations, CJK punctuation, and [tags]

Every generation supports multiple versions with provenance tracking:

  • Original — clean TTS output, always preserved
  • Effects versions — apply different effects chains from any source version
  • Takes — regenerate with a new seed for variation
  • Source tracking — each version records its lineage
  • Favorites — star generations for quick access

Generation is non-blocking. Submit and immediately start typing the next one.

  • Serial execution queue prevents GPU contention

  • Real-time SSE status streaming

  • Failed generations can be retried

  • Stale generations from crashes auto-recover on startup

  • Create profiles from audio files or record directly in-app

  • Import/export profiles to share or back up

  • Multi-sample support for higher quality cloning

  • Per-profile default effects chains

  • Organize with descriptions and language tags

Multi-voice timeline editor for conversations, podcasts, and narratives.

  • Multi-track composition with drag-and-drop
  • Inline audio trimming and splitting
  • Auto-playback with synchronized playhead
  • Version pinning per track clip

Global Dictation & Voice Input

The other half of the voice I/O loop. Hold a hotkey anywhere on your system, speak, release — on macOS the transcript pastes straight into the focused text field. Or hit the mic on any Voicebox text input and dictate directly into the app.

  • Configurable chord bindings — hold-to-speak and tap-to-toggle chords, each rebindable in the in-app chord picker. Holding push-to-talk and tapping Space mid-hold upgrades into a toggle session without a gap in audio
  • Target-aware paste (macOS) — accessibility-verified injection into the focused text field, with atomic clipboard save/restore so your clipboard isn't clobbered
  • First-run permissions UX — in-app gates walk you through the macOS Accessibility and Input Monitoring grants with deep-links to System Settings
  • In-app mic button on every Voicebox text field — generation form, profile descriptions, story titles, anywhere you'd type
  • LLM refinement — optional cleanup of ums, stutters, and false starts before paste
  • On-screen pill — floating overlay surfacing recording, transcribing, refining, and speaking states. Same pill agents use when they speak to you, so there's one mental model for both directions of the loop

Voicebox runs OpenAI Whisper for transcription — the same model that backs dictation, the Captures tab, and the /transcribe API. Running on MLX (Apple Silicon) or PyTorch (CUDA / ROCm / DirectML / CPU) depending on your platform.

Size Notes
Base / Small / Medium / Large Standard Whisper quality ladder
Turbo ~8x faster than Whisper Large, minimal quality loss

More engines (Parakeet v3, Qwen3-ASR) are planned — see Roadmap.

Every dictation, in-app recording, and uploaded audio file lands in the Captures tab — original audio paired with transcript, always preserved.

  • Replay, re-transcribe, refine — rerun STT with any Whisper size, or re-run the raw transcript through the local LLM with different flags (filler cleanup, self-correction removal, technical-term preservation)
  • Edit inline — tweak the transcript and save on blur
  • Play as voice profile — turn any capture into speech with a cloned voice, one click
  • Promote to voice sample — use a capture's audio + transcript as a reference sample on any voice profile
  • Local capture storage — original audio and transcript stay in your Voicebox data directory, with a folder shortcut in Settings

Every agent gets a voice. One tool call and any MCP-aware agent can speak to you in a voice you've cloned — task completions, questions, notifications. The same pill that surfaces during dictation surfaces during agent speech, so you always see what's coming out of your machine.

// In any MCP-aware agent:
await voicebox.speak({
  text: "Deploy complete.",
  profile: "Morgan",
});

Also exposed as POST /speak for anything that doesn't speak MCP — ACP, A2A, shell scripts, custom harnesses.

  • Bidirectional pill — recording, transcribing, refining, and speaking are all states of the same OS-level overlay, so dictation and agent speech share one surface
  • Per-agent voice binding — in Settings → MCP , pin Claude Code to Morgan and Cursor to Scarlett so you can tell which agent is talking without looking. Each client's last_seen_at timestamp confirms the install actually took
  • Always visible — no silent background TTS; every agent-initiated speak surfaces the pill with the voice profile name for the full duration
  • HTTP + stdio transports — install as a URL in Claude Code / Cursor / Windsurf / VS Code MCP, or point stdio-only clients at the bundled voicebox-mcp binary

Attach a free-form personality to any voice profile — who this voice is, how they speak, what they care about. Two actions appear on the generate box when a personality is set, powered by a bundled Qwen3 LLM running entirely locally.

  • Compose — a shuffle button that drops a fresh in-character line into the textarea; edit and speak, or click again for a different take
  • Speak in character — a toggle that routes your input text through the personality LLM to be rewritten in their voice before TTS

Agents can reach the same rewrite path over MCP by passing personality: true to voicebox.speak, turning the tool into a text-in → personality-LLM → TTS pipeline. The same LLM backs dictation's refinement step — one LLM in the app, one model cache, one GPU-memory footprint.

Local LLM options: Qwen3 0.6B / 1.7B / 4B, sharing the TTS runtime (MLX on Apple Silicon, PyTorch elsewhere).

Use cases: agent dev loops (dictate a question, hear the answer in a cloned voice), interactive characters for games and narrative tools, speech assistance for people who can't speak in their original voice.

  • Per-model unload to free GPU memory without deleting downloads
  • Custom models directory via VOICEBOX_MODELS_DIR
  • Model folder migration with progress tracking
  • Download cancel/clear UI
Platform Backend Notes
macOS (Apple Silicon) MLX (Metal) 4-5x faster via Neural Engine
Windows / Linux (NVIDIA) PyTorch (CUDA) Auto-downloads CUDA binary from within the app
Linux (AMD) PyTorch (ROCm) Auto-configures HSA_OVERRIDE_GFX_VERSION
Windows (any GPU) DirectML Universal Windows GPU support
Intel Arc IPEX/XPU Intel discrete GPU acceleration
Any CPU Works everywhere, just slower

Voicebox exposes a REST API for integrating voice I/O into your own apps and agents.

# Generate speech
curl -X POST http://127.0.0.1:17493/generate \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello world", "profile_id": "abc123", "language": "en"}'

# Agent voice output — any app or script can speak in a cloned voice
curl -X POST http://127.0.0.1:17493/speak \
  -H "Content-Type: application/json" \
  -H "X-Voicebox-Client-Id: my-script" \
  -d '{"text": "Deploy complete.", "profile": "Morgan"}'

# Transcribe an audio file
curl -X POST http://127.0.0.1:17493/transcribe \
  -F "audio=@recording.wav" \
  -F "model=whisper-turbo"

# List voice profiles
curl http://127.0.0.1:17493/profiles

POST /speak accepts profile as a name (case-insensitive) or id, and resolves via the same precedence as the MCP tool: explicit arg → per-client binding → capture_settings.default_playback_voice_id.

Voicebox ships a built-in Model Context Protocol server so any MCP-aware agent (Claude Code, Cursor, Windsurf, Cline, VS Code MCP extensions) can speak, transcribe, and browse captures and profiles.

Claude Code one-liner:

claude mcp add voicebox \
  --transport http \
  --url http://127.0.0.1:17493/mcp \
  --header "X-Voicebox-Client-Id: claude-code"

Any HTTP MCP client (Cursor, Windsurf, VS Code, etc.):

{
  "mcpServers": {
    "voicebox": {
      "url": "http://127.0.0.1:17493/mcp",
      "headers": { "X-Voicebox-Client-Id": "cursor" }
    }
  }
}

Stdio fallback for clients that don't speak HTTP MCP — point at the bundled voicebox-mcp binary inside the app:

{
  "mcpServers": {
    "voicebox": {
      "command": "/Applications/Voicebox.app/Contents/MacOS/voicebox-mcp",
      "env": { "VOICEBOX_CLIENT_ID": "claude-desktop" }
    }
  }
}

Four tools ship: voicebox.speak, voicebox.transcribe, voicebox.list_captures, voicebox.list_profiles. Per-client voice bindings are managed in Voicebox → Settings → MCP. See the full MCP guide for tool signatures, resolution precedence, the speaking-pill contract, and security notes.

// In any MCP-aware agent:
await voicebox.speak({
  text: "Tests passing. Ready to merge.",
  profile: "Morgan",      // optional — falls back to the per-client binding
  personality: true,      // optional — rewrites text through the profile's personality LLM first
});

Use cases: agent dev loops (voice in, voice out), game dialogue, podcast production, accessibility tools, voice assistants, content automation.

Full API documentation available at http://127.0.0.1:17493/docs.


Layer Technology
Desktop App Tauri (Rust)
Frontend React, TypeScript, Tailwind CSS
State Zustand, React Query
Backend FastAPI (Python)
TTS Engines Qwen3-TTS, Qwen CustomVoice, LuxTTS, Chatterbox, Chatterbox Turbo, TADA, Kokoro
STT Whisper / Whisper Turbo (PyTorch or MLX)
Local LLM Qwen3 (0.6B / 1.7B / 4B), shared runtime with TTS / STT
MCP Server FastMCP mounted at /mcp (Streamable HTTP) + bundled stdio shim binary
Native Shim Rust (inside Tauri) for global hotkey, paste injection, focus introspection
Effects Pedalboard (Spotify)
Inference MLX (Apple Silicon) / PyTorch (CUDA/ROCm/XPU/CPU)
Database SQLite
Audio WaveSurfer.js, librosa

Feature Description
Windows / Linux auto-paste Dictation paste parity — SendInput on Windows, uinput / AT-SPI on Linux
STT engine expansion Parakeet v3 and Qwen3-ASR joining Whisper — 50+ languages, better non-English quality
Pipeline routing Configurable source → transform → sink chains with webhook + MCP sinks and a preset editor
Streaming transcription WebSocket /transcribe/stream for partial transcripts as you speak
End-to-end speech LLMs Moshi, GLM-4-Voice, Qwen2.5 Omni — real voice-to-voice, no text between
Voice Design Create new voices from text descriptions
Long-form capture Dual-stream recorder (mic + system audio) with summary LLM transform
Platform sinks Apple Notes, Obsidian, and other opt-in integrations
Plugin architecture Extend with custom models, transforms, and sinks
Mobile companion Control Voicebox from your phone

For the full engineering status, open-issue triage, and prioritized work queue , see docs/PROJECT_STATUS.md — a living document that tracks what's shipped, what's in-flight, candidate TTS engines under evaluation, and why we've accepted or backlogged specific integrations.


See CONTRIBUTING.md for detailed setup and contribution guidelines.

git clone https://github.com/jamiepine/voicebox.git
cd voicebox

just setup   # creates Python venv, installs all deps
just dev     # starts backend + desktop app

Install just: brew install just or cargo install just. Run just --list to see all commands.

Prerequisites: Bun, Rust, Python 3.11+, Tauri Prerequisites, and Xcode on macOS.

The repo ships a pre-wired .mcp.json at the root — running Claude Code inside this checkout picks up the Voicebox MCP tools automatically once the dev app is running.

just build          # Build CPU server binary + Tauri app
just build-local    # (Windows) Build CPU + CUDA server binaries + Tauri app

The multi-engine architecture makes adding new TTS engines straightforward. A step-by-step guide covers the full process: dependency research, backend protocol implementation, frontend wiring, and PyInstaller bundling.

The guide is optimized for AI coding agents. An agent skill can pick up a model name and handle the entire integration autonomously — you just test the build locally.

voicebox/
├── app/              # Shared React frontend
├── tauri/            # Desktop app (Tauri + Rust)
├── web/              # Web deployment
├── backend/          # Python FastAPI server
├── landing/          # Marketing website
└── scripts/          # Build & release scripts

Contributions welcome! See CONTRIBUTING.md for guidelines.

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Submit a PR

Found a security vulnerability? Please report it responsibly. See SECURITY.md for details.


MIT License — see LICENSE for details.


voicebox.sh