From 380aa18090ae024da90bfc2fc47c9e44faeccd46 Mon Sep 17 00:00:00 2001 From: wehub-resource-sync Date: Mon, 13 Jul 2026 09:54:59 +0000 Subject: [PATCH] docs: make Chinese README the default --- README.md | 378 +++++++++++++++++++++++++++--------------------------- 1 file changed, 191 insertions(+), 187 deletions(-) diff --git a/README.md b/README.md index 34ef1c0..ab978c6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ + +> [!NOTE] +> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。 +> [English](./README.en.md) · [原始项目](https://github.com/jamiepine/voicebox) · [上游 README](https://github.com/jamiepine/voicebox/blob/HEAD/README.md) +> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。 +

Voicebox

@@ -5,9 +11,9 @@

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. + 开源 AI 语音工作室。
+ 克隆任意声音。生成语音。向任意应用听写。用你拥有的声音与智能体对话。
+ 完整的语音输入/输出(voice I/O)技术栈,在本地机器上运行。

@@ -50,7 +56,7 @@

- Click the image above to watch the demo video on voicebox.sh + 点击上方图片,在 voicebox.sh 观看演示视频


@@ -65,30 +71,30 @@
-## What is Voicebox? +## 什么是 Voicebox? -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. +Voicebox 是一款**本地优先(local-first)的 AI 语音工作室**——在一个应用中免费开源地替代 **ElevenLabs** 和 **WisprFlow**。只需几秒音频即可克隆声音,通过 7 款 TTS 引擎以 23 种语言生成语音,用全局快捷键向任意文本框听写,并为任意支持 MCP 的 AI 智能体指定你想要的声音。 -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. +两家云端 incumbent 分别占据语音 I/O 循环的两端——ElevenLabs 负责输出,WisprFlow 负责输入。Voicebox 两者兼顾,通过内置本地 LLM 进行润色和按配置 persona 定制,并将整套流程运行在你的机器上。 -- **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 +- **完全隐私** — 模型、语音数据和录音绝不会离开你的机器 +- **7 款 TTS 引擎** — Qwen3-TTS、Qwen CustomVoice、LuxTTS、Chatterbox Multilingual、Chatterbox Turbo、HumeAI TADA 和 Kokoro +- **声音克隆与预设声音** — 从参考样本零样本克隆,或通过 Kokoro 和 Qwen CustomVoice 使用 50+ 款精选预设声音 +- **23 种语言** — 从英语到阿拉伯语、日语、印地语、斯瓦希里语等 +- **后处理效果** — 变调、混响、延迟、合唱、压缩和滤波器 +- **富有表现力的语音** — 通过 Chatterbox Turbo 使用 `[laugh]`、`[sigh]`、`[gasp]` 等副语言(paralinguistic)标签;通过 Qwen CustomVoice 以自然语言控制表达方式 +- **无限长度** — 针对脚本、文章和章节自动分块并交叉淡入淡出 +- **Stories 编辑器** — 用于对话、播客和叙事的多轨时间线 +- **语音输入** — 全局听写快捷键,支持按住说话和切换模式,macOS 上经无障碍验证的自动粘贴,每个文本框均有应用内麦克风,基于 Whisper 的 STT +- **智能体语音输出** — 一次工具调用(`voicebox.speak`),任意支持 MCP 的智能体(Claude Code、Cursor、Cline)即可用你克隆的声音与你对话 +- **声音人格(Voice personalities)** — 为任意声音配置附加自由格式 persona,然后通过内置本地 LLM 进行 Compose、Rewrite 或 Respond——智能体也可通过 MCP 调用相同模式 +- **API 优先** — REST API 加内置 MCP 服务器,将语音 I/O 集成到你自己的应用和智能体中 +- **原生性能** — 基于 Tauri(Rust)构建,而非 Electron +- **随处运行** — macOS(MLX/Metal)、Windows(CUDA)、Linux、AMD ROCm、Intel Arc、Docker --- -## Download +## 下载 | Platform | Download | | --------------------- | ------------------------------------------------------ | @@ -97,138 +103,136 @@ The two cloud incumbents sit on opposite halves of the voice I/O loop — Eleven | Windows | [Download MSI](https://voicebox.sh/download/windows) | | Docker | `docker compose up` | -> **[View all binaries →](https://github.com/jamiepine/voicebox/releases/latest)** +> **[查看全部二进制文件 →](https://github.com/jamiepine/voicebox/releases/latest)** -> **Linux** — Pre-built binaries are not yet available. See [voicebox.sh/linux-install](https://voicebox.sh/linux-install) for build-from-source instructions. +> **Linux** — 预编译二进制文件尚未提供。请参阅 [voicebox.sh/linux-install](https://voicebox.sh/linux-install) 了解从源码构建的说明。 -> **Having trouble?** See the [Troubleshooting Guide](docs/content/docs/overview/troubleshooting.mdx) for common install, generation, model-download, and GPU issues. +> **遇到问题?** 请参阅[故障排除指南](docs/content/docs/overview/troubleshooting.mdx),了解常见的安装、生成、模型下载和 GPU 问题。 --- -## Features +## 功能 -### Multi-Engine Voice Cloning +### 多引擎声音克隆 -Seven TTS engines with different strengths, switchable per-generation: +七款 TTS 引擎各有优势,可按每次生成切换: | 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 | +| **Qwen3-TTS** (0.6B / 1.7B) | 10 | 高质量多语言克隆,支持表达指令(如 "speak slowly"、"whisper") | +| **Qwen CustomVoice** | 10 | 9 款精选预设声音,支持自然语言表达控制——无需参考音频 | +| **LuxTTS** | English | 轻量(约 1GB VRAM),48kHz 输出,CPU 上 150 倍实时速度 | +| **Chatterbox Multilingual** | 23 | 最广语言覆盖——阿拉伯语、丹麦语、芬兰语、希腊语、希伯来语、印地语、马来语、挪威语、波兰语、斯瓦希里语、瑞典语、土耳其语等 | +| **Chatterbox Turbo** | English | 快速 350M 模型,支持副语言情感/音效标签 | +| **TADA** (1B / 3B) | 10 | HumeAI 语音-语言模型——700 秒以上连贯音频,文本-声学双对齐 | +| **Kokoro** | 8 | 50 款精选预设声音,82M 微型模型,CPU 推理速度快 | -### 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. +仅 **Chatterbox Turbo** 会解析 `[laugh]` 和 +`[sigh]` 等副语言标签。Qwen3-TTS、LuxTTS、Chatterbox Multilingual 和 HumeAI TADA 会将其字面朗读为文本。 -With **Chatterbox Turbo** selected, type `/` in the text input to open the tag -inserter and add expressive tags inline with speech: +选择 **Chatterbox Turbo** 后,在文本输入框中输入 `/` 即可打开标签插入器,在语音中内联添加表现力标签: `[laugh]` `[chuckle]` `[gasp]` `[cough]` `[sigh]` `[groan]` `[sniff]` `[shush]` `[clear throat]` -### Post-Processing Effects +### 后处理效果 -8 audio effects powered by Spotify's `pedalboard` library. Apply after generation, preview in real time, build reusable presets. +8 种音频效果,由 Spotify 的 `pedalboard` 库驱动。生成后应用,实时预览,可构建可复用预设。 | 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 | +| Pitch Shift | 上下最多 12 个半音 | +| Reverb | 可配置房间大小、阻尼、湿/干混合 | +| Delay | 可调时间、反馈和混合比的回声 | +| Chorus / Flanger | 调制延迟,营造金属感或丰厚质感 | +| Compressor | 动态范围压缩 | +| Gain | 音量调节(-40 至 +40 dB) | +| High-Pass Filter | 去除低频 | +| Low-Pass Filter | 去除高频 | -Ships with 4 built-in presets (Robotic, Radio, Echo Chamber, Deep Voice) and supports custom presets. Effects can be assigned per-profile as defaults. +内置 4 种预设(Robotic、Radio、Echo Chamber、Deep Voice),并支持自定义预设。效果可按配置文件(profile)分别设为默认项。 -### 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]` +- 可配置自动分块上限(100–5,000 字符) +- 交叉淡入淡出滑块(0–200ms),实现平滑过渡 +- 最大文本长度:50,000 字符 +- 智能切分会识别缩写、CJK 标点以及 `[tags]` -### Generation Versions +### 生成版本 -Every generation supports multiple versions with provenance tracking: +每次生成均支持多版本,并带有来源(provenance)追踪: -- **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 +- **Original(原始)** — 干净的 TTS 输出,始终保留 +- **Effects versions(效果版本)** — 从任意源版本应用不同的效果链 +- **Takes(重录)** — 使用新种子重新生成以产生变化 +- **Source tracking(来源追踪)** — 每个版本都会记录其谱系 +- **Favorites(收藏)** — 为生成结果加星标,便于快速访问 -### Async Generation Queue +### 异步生成队列 -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 +- 串行执行队列,避免 GPU 争用 +- 实时 SSE 状态流式推送 +- 失败的生成可重试 +- 因崩溃产生的陈旧生成任务,在启动时会自动恢复 -### Voice Profile Management +### 语音配置文件管理 -- 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 +- 从音频文件创建配置文件,或在应用内直接录制 +- 导入/导出配置文件,便于分享或备份 +- 多样本支持,提升克隆质量 +- 每个配置文件可设置默认效果链 +- 通过描述和语言标签进行组织管理 -### Stories Editor +### Stories 编辑器 -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. +语音 I/O 循环的另一半。在系统任意位置按住快捷键,说话,松手 — 在 macOS 上,转写文本会直接粘贴到当前聚焦的文本框。或在任意 Voicebox 文本输入框点击麦克风,直接在应用内听写。 -- **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 +- **可配置组合键绑定** — 按住说话与点按切换两种组合键,均可在应用内组合键选择器中重新绑定。按住 push-to-talk 期间点按 `Space`,可在不中断音频的情况下升级为切换会话 +- **目标感知粘贴(macOS)** — 经无障碍(accessibility)校验后注入到聚焦文本框,并原子化保存/恢复剪贴板,避免覆盖你的剪贴板内容 +- **首次运行权限引导** — 应用内门禁会引导你完成 macOS 无障碍与输入监控授权,并提供直达系统设置的深链接 +- **应用内麦克风按钮** — 每个 Voicebox 文本输入框均有:生成表单、配置文件描述、故事标题等所有可输入处 +- **LLM 润色** — 粘贴前可选清理“嗯”、口吃和说错开头 +- **屏幕悬浮条(pill)** — 浮动叠加层展示 `recording`、`transcribing`、`refining` 与 `speaking` 状态。与智能体对你说话时使用的同一条 pill 一致,因此语音循环双向共用同一心智模型 -### Speech-to-Text +### 语音转文字(Speech-to-Text) -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. +Voicebox 使用 OpenAI Whisper 进行转写 — 与听写、Captures 标签页以及 `/transcribe` API 共用同一模型。根据平台在 MLX(Apple Silicon)或 PyTorch(CUDA / ROCm / DirectML / CPU)上运行。 | Size | Notes | | ----------------------------- | -------------------------------------------------- | -| Base / Small / Medium / Large | Standard Whisper quality ladder | -| Turbo | ~8x faster than Whisper Large, minimal quality loss | +| Base / Small / Medium / Large | 标准 Whisper 质量阶梯 | +| Turbo | 比 Whisper Large 快约 8 倍,质量损失极小 | -More engines (Parakeet v3, Qwen3-ASR) are planned — see [Roadmap](#roadmap). +更多引擎(Parakeet v3、Qwen3-ASR)已在规划中 — 见 [Roadmap](#roadmap)。 -### Captures +### Captures(采集) -Every dictation, in-app recording, and uploaded audio file lands in the Captures tab — original audio paired with transcript, always preserved. +每次听写、应用内录制和上传的音频文件都会进入 Captures 标签页 — 原始音频与转写文本配对保存,始终保留。 -- **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 +- **重放、重新转写、润色** — 可用任意 Whisper 尺寸重新运行 STT,或将原始转写文本通过本地 LLM 以不同标志重跑(填充词清理、自我纠正移除、技术术语保留) +- **内联编辑** — 调整转写文本,失焦时保存 +- **作为语音配置文件播放** — 一键将任意采集转为克隆语音朗读 +- **提升为语音样本** — 将采集的音频 + 转写文本用作任意语音配置文件的参考样本 +- **本地采集存储** — 原始音频与转写文本保存在 Voicebox 数据目录,设置中提供文件夹快捷方式 -### Agent Voice Output +### 智能体语音输出 -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. +每个智能体都有声音。一次工具调用,任意支持 MCP 的智能体即可用你克隆的语音对你说话 — 任务完成、提问、通知等。听写时显示的同一条 pill 在智能体说话时也会出现,因此你始终能看到机器正在输出什么。 ```ts // In any MCP-aware agent: @@ -238,49 +242,49 @@ await voicebox.speak({ }); ``` -Also exposed as `POST /speak` for anything that doesn't speak MCP — ACP, A2A, shell scripts, custom harnesses. +同时也以 `POST /speak` 形式暴露,供非 MCP 语音场景使用 — ACP、A2A、shell 脚本、自定义 harness 等。 -- **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 +- **双向 pill** — `recording`、`transcribing`、`refining` 与 `speaking` 均为同一操作系统级叠加层的不同状态,听写与智能体语音共用同一界面 +- **按智能体绑定语音** — 在 **Settings → MCP** 中,将 Claude Code 固定为 Morgan、Cursor 固定为 Scarlett,无需看屏幕即可分辨谁在说话。各客户端的 `last_seen_at` 时间戳可确认安装是否真正生效 +- **始终可见** — 无静默后台 TTS;智能体发起的每次 speak 都会在全程显示带有语音配置文件名称的 pill +- **HTTP + stdio 传输** — 在 Claude Code / Cursor / Windsurf / VS Code MCP 中安装为 URL,或让仅支持 stdio 的客户端指向捆绑的 `voicebox-mcp` 二进制 -### Voice Personalities +### 语音个性(Voice Personalities) -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. +可为任意语音配置文件附加自由格式的个性描述 — 这个声音是谁、如何说话、关心什么。设置个性后,生成框会出现两个操作,由捆绑的 Qwen3 LLM 完全在本地驱动。 -- **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 +- **Compose(创作)** — 洗牌按钮,向文本区域放入一条符合角色设定的新台词;可编辑后朗读,或再次点击换一版 +- **Speak in character(角色化朗读)** — 开关将你的输入文本先经个性 LLM 改写成该角色口吻,再进行 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. +智能体也可通过 MCP 走同一路径:向 `voicebox.speak` 传入 `personality: true`,将工具变为 文本输入 → 个性 LLM → TTS 流水线。同一 LLM 也支撑听写润色步骤 — 应用内一个 LLM、一个模型缓存、一份 GPU 显存占用。 -**Local LLM options:** Qwen3 0.6B / 1.7B / 4B, sharing the TTS runtime (MLX on Apple Silicon, PyTorch elsewhere). +**本地 LLM 选项:** Qwen3 0.6B / 1.7B / 4B,与 TTS 运行时共享(Apple Silicon 用 MLX,其他平台用 PyTorch)。 -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. +用例:智能体开发循环(听写提问、用克隆语音听答案)、游戏与叙事工具的交互角色、为无法以原声说话的人提供语音辅助。 -### Model Management +### 模型管理 -- 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 +- 按模型卸载以释放 GPU 显存,无需删除已下载文件 +- 通过 `VOICEBOX_MODELS_DIR` 自定义模型目录 +- 模型文件夹迁移,带进度追踪 +- 下载取消/清理 UI -### GPU Support +### GPU 支持 | 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 | +| macOS (Apple Silicon) | MLX (Metal) | 借助 Neural Engine,速度约为 4–5 倍 | +| Windows / Linux (NVIDIA) | PyTorch (CUDA) | 应用内自动下载 CUDA 二进制 | +| Linux (AMD) | PyTorch (ROCm) | 自动配置 HSA_OVERRIDE_GFX_VERSION | +| Windows (any GPU) | DirectML | 通用 Windows GPU 支持 | +| Intel Arc | IPEX/XPU | Intel 独立 GPU 加速 | +| Any | CPU | 全平台可用,速度较慢 | --- ## API -Voicebox exposes a REST API for integrating voice I/O into your own apps and agents. +Voicebox 提供 REST API,便于将语音 I/O 集成到你自己的应用与智能体中。 ```bash # Generate speech @@ -303,13 +307,13 @@ curl -X POST http://127.0.0.1:17493/transcribe \ 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`. +`POST /speak` 接受 `profile` 作为名称(不区分大小写)或 id,并通过与 MCP 工具相同的优先级进行解析:显式参数 → 按客户端绑定 → `capture_settings.default_playback_voice_id`。 -### MCP server +### MCP 服务器 -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. +Voicebox 内置 **Model Context Protocol(MCP)** 服务器,任何支持 MCP 的智能体(Claude Code、Cursor、Windsurf、Cline、VS Code MCP 扩展)都可以进行语音合成、转录,以及浏览录制内容和配置文件。 -**Claude Code one-liner:** +**Claude Code 一行配置:** ``` claude mcp add voicebox \ @@ -318,7 +322,7 @@ claude mcp add voicebox \ --header "X-Voicebox-Client-Id: claude-code" ``` -**Any HTTP MCP client** (Cursor, Windsurf, VS Code, etc.): +**任意 HTTP MCP 客户端**(Cursor、Windsurf、VS Code 等): ```json { @@ -331,7 +335,7 @@ claude mcp add voicebox \ } ``` -**Stdio fallback** for clients that don't speak HTTP MCP — point at the bundled `voicebox-mcp` binary inside the app: +**Stdio 回退方案**,适用于不支持 HTTP MCP 的客户端 — 指向应用内捆绑的 `voicebox-mcp` 二进制文件: ```json { @@ -344,7 +348,7 @@ claude mcp add voicebox \ } ``` -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](docs/content/docs/overview/mcp-server.mdx) for tool signatures, resolution precedence, the speaking-pill contract, and security notes. +内置四个工具:`voicebox.speak`、`voicebox.transcribe`、`voicebox.list_captures`、`voicebox.list_profiles`。按客户端的语音绑定在 **Voicebox → Settings → MCP** 中管理。有关工具签名、解析优先级、speaking-pill 合约和安全说明,请参阅[完整 MCP 指南](docs/content/docs/overview/mcp-server.mdx)。 ```ts // In any MCP-aware agent: @@ -355,56 +359,56 @@ await voicebox.speak({ }); ``` -**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`. +完整 API 文档请参阅 `http://127.0.0.1:17493/docs`。 --- -## Tech Stack +## 技术栈 -| 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 | +| 桌面应用 | Tauri (Rust) | +| 前端 | React, TypeScript, Tailwind CSS | +| 状态管理 | Zustand, React Query | +| 后端 | FastAPI (Python) | +| TTS 引擎 | 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 | +| 本地 LLM | Qwen3 (0.6B / 1.7B / 4B), 与 TTS / STT 共享运行时 | +| MCP 服务器 | FastMCP 挂载于 `/mcp`(Streamable HTTP)+ 捆绑的 stdio shim 二进制文件 | +| 原生 Shim | Rust(Tauri 内部),用于全局快捷键、粘贴注入、焦点内省 | +| 特效 | Pedalboard (Spotify) | +| 推理 | MLX (Apple Silicon) / PyTorch (CUDA/ROCm/XPU/CPU) | +| 数据库 | SQLite | +| 音频 | WaveSurfer.js, librosa | --- -## Roadmap +## 路线图 -| 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 | +| **Windows / Linux 自动粘贴** | 听写粘贴功能对齐 — Windows 上使用 `SendInput`,Linux 上使用 `uinput` / AT-SPI | +| **STT 引擎扩展** | Parakeet v3 和 Qwen3-ASR 加入 Whisper — 支持 50+ 种语言,非英语质量更佳 | +| **流水线路由** | 可配置的 source → transform → sink 链路,支持 webhook + MCP sink 及预设编辑器 | +| **流式转录** | WebSocket `/transcribe/stream`,说话时实时输出部分转录结果 | +| **端到端语音 LLM** | Moshi、GLM-4-Voice、Qwen2.5 Omni — 真正的语音到语音,中间无需文本 | +| **语音设计(Voice Design)** | 根据文本描述创建新语音 | +| **长格式录制** | 双流录制器(麦克风 + 系统音频),附带摘要 LLM 转换 | +| **平台 Sink** | Apple Notes、Obsidian 及其他可选集成 | +| **插件架构** | 通过自定义模型、转换和 sink 进行扩展 | +| **移动端伴侣应用** | 用手机控制 Voicebox | -For the **full engineering status, open-issue triage, and prioritized work queue**, see [`docs/PROJECT_STATUS.md`](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. +有关**完整工程状态、开放 issue 分类与优先级工作队列**,请参阅 [`docs/PROJECT_STATUS.md`](docs/PROJECT_STATUS.md) — 这是一份动态文档,跟踪已交付内容、进行中的工作、正在评估的候选 TTS 引擎,以及我们接受或暂缓特定集成的原因。 --- -## Development +## 开发 -See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed setup and contribution guidelines. +详细的环境搭建与贡献指南请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 -### Quick Start +### 快速开始 ```bash git clone https://github.com/jamiepine/voicebox.git @@ -414,26 +418,26 @@ just setup # creates Python venv, installs all deps just dev # starts backend + desktop app ``` -Install [just](https://github.com/casey/just): `brew install just` or `cargo install just`. Run `just --list` to see all commands. +安装 [just](https://github.com/casey/just): `brew install just` 或 `cargo install just`。运行 `just --list` 查看所有命令。 -**Prerequisites:** [Bun](https://bun.sh), [Rust](https://rustup.rs), [Python 3.11+](https://python.org), [Tauri Prerequisites](https://v2.tauri.app/start/prerequisites/), and [Xcode](https://developer.apple.com/xcode/) on macOS. +**前置条件:** [Bun](https://bun.sh), [Rust](https://rustup.rs), [Python 3.11+](https://python.org), [Tauri Prerequisites](https://v2.tauri.app/start/prerequisites/), 以及 macOS 上的 [Xcode](https://developer.apple.com/xcode/)。 -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. +仓库在根目录提供预配置的 `.mcp.json` — 在此代码库中运行 Claude Code 时,一旦开发版应用启动,即可自动加载 Voicebox MCP 工具。 -### Building Locally +### 本地构建 ```bash just build # Build CPU server binary + Tauri app just build-local # (Windows) Build CPU + CUDA server binaries + Tauri app ``` -### Adding New Voice Models +### 添加新语音模型 -The multi-engine architecture makes adding new TTS engines straightforward. A [step-by-step guide](docs/content/docs/developer/tts-engines.mdx) covers the full process: dependency research, backend protocol implementation, frontend wiring, and PyInstaller bundling. +多引擎架构使添加新 TTS 引擎变得简单。[分步指南](docs/content/docs/developer/tts-engines.mdx) 涵盖完整流程:依赖调研、后端协议实现、前端接入和 PyInstaller 打包。 -The guide is optimized for AI coding agents. An [agent skill](.agents/skills/add-tts-engine/SKILL.md) can pick up a model name and handle the entire integration autonomously — you just test the build locally. +该指南针对 AI 编程智能体进行了优化。[agent skill](.agents/skills/add-tts-engine/SKILL.md) 只需接收模型名称即可自主完成整个集成 — 你只需在本地测试构建。 -### Project Structure +### 项目结构 ``` voicebox/ @@ -447,24 +451,24 @@ voicebox/ --- -## Contributing +## 贡献 -Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. +欢迎贡献!指南请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 -1. Fork the repo -2. Create a feature branch -3. Make your changes -4. Submit a PR +1. Fork 仓库 +2. 创建功能分支 +3. 进行更改 +4. 提交 PR -## Security +## 安全 -Found a security vulnerability? Please report it responsibly. See [SECURITY.md](SECURITY.md) for details. +发现安全漏洞?请负责任地报告。详情请参阅 [SECURITY.md](SECURITY.md)。 --- -## License +## 许可证 -MIT License — see [LICENSE](LICENSE) for details. +MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。 ---