izwi
完全本地运行的语音 AI 运行时,支持 ASR、TTS、语音克隆,提供 OpenAI 兼容 API,数据不出机器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
完全本地运行的语音 AI 运行时,支持 ASR、TTS、语音克隆,提供 OpenAI 兼容 API,数据不出机器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Izwi Web UI 界面,支持实时语音对话、文本转语音、语音克隆
Izwi 是一个完全本地运行的语音 AI 运行时,核心功能覆盖语音识别(ASR)、说话人分离(Speaker Diarization)、文本转语音(TTS)和语音克隆。它既是桌面应用、Web UI、CLI 工具,也是本地推理服务器,通过 OpenAI 兼容的 /v1 API 向外提供服务——这意味着任何接入过 OpenAI API 的应用,几乎不需要改代码,就能切换到本地运行。
这是一个重要的范式转变:以往要做语音 AI 应用,开发者必须依赖云端 API(Whisper API、ElevenLabs、Cartesia 等),不仅费用累积快,数据隐私也无法保证——医疗、法律、金融等敏感场景根本没法用。Izwi 把整个链路搬到了本地,数据不出机器,API 协议却与云端完全对齐。
1. 语音识别(ASR)
Izwi 支持多个 ASR 模型族:Parakeet、Whisper、Qwen3-ASR、Nemotron 3.5 ASR 等。使用 izwi pull 命令下载模型,izwi transcribe 执行转写:
izwi pull Parakeet-TDT-0.6B-v3
izwi transcribe audio.wav --model Parakeet-TDT-0.6B-v3
支持实时流式转写(realtime speech-to-text),这对客服对话、字幕生成等场景很有价值。
2. 说话人分离(Diarization) 这是 Izwi 的亮点功能之一——能区分音频中的不同说话人。对于会议记录、访谈转录等多人场景非常有帮助。结合 ASR 输出,可以得到类似"张三:我觉得这个方案可行"的带说话人标签的转写稿。
3. 文本转语音(TTS) 支持 Qwen3-TTS、Kokoro-82M、Voxtral TTS、VibeVoice 等模型族。语音克隆功能允许用户用自己的声音样本训练专属声音模型:
izwi pull Qwen3-TTS-12Hz-0.6B-Base
izwi tts "Hello from Izwi." --output hello.wav
4. OpenAI 兼容 API 这是最具战略价值的特性。Izwi 暴露的 API 路径完全兼容 OpenAI 规范:
/v1/models — 模型列表/v1/chat/completions — 对话补全/v1/audio/speech — TTS/v1/audio/transcriptions — ASR/v1/responses(preview)— 响应预览用 curl 测试:
curl http://localhost:8080/v1/audio/speech -H "Authorization: Bearer dummy" -d '{"model":"qwen-tts","input":"Hello world","voice":"af_bella"}'
应用代码只需要把 base_url 从 https://api.openai.com 换成 http://localhost:8080,API Key 随便填一个就能跑起来。相当于给本地模型套上了一个"OpenAI 兼容外壳",生态迁移成本几乎为零。
5. 语音设计工作室(Voice Studio) Izwi 提供长格式语音项目(Studio Projects)和语音设计功能,允许用户保存、编辑和导出自定义声音配置。这对于内容创作者和配音工作者很有吸引力。
Rust 核心:Candle 做本地推理
Izwi 的核心推理引擎基于 Candle(HuggingFace 出品的 Rust 原生 ML 框架)。Candle 的设计目标与 PyTorch 相反——追求极简二进制、零 Python 依赖、直接嵌入 Rust 程序。Izwi 选择 Candle 而不是通过 PyTorch FFI 来做推理,原因很直接:Candle 编译出的二进制不依赖 libtorch,部署体验干净。
# Candle 核心依赖(来自 Cargo.toml)
candle-core = "0.10.2"
candle-nn = "0.10.2"
candle-transformers = "0.10.2"
Workspace 模块化结构
Izwi 用 Rust workspace 管理 8 个核心 crate:
| Crate | 职责 |
|---|---|
izwi-core | 核心推理引擎封装 |
izwi-asr-toolkit | 语音识别工具链 |
izwi-agent | Agent 编排逻辑 |
izwi-vad | 语音活动检测(Voice Activity Detection) |
izwi-server | Axum Web 服务器 + OpenAI API 路由 |
izwi-cli | 命令行工具 |
izwi-desktop | 跨平台桌面应用(Tauri) |
izwi-hooks | 钩子系统(事件驱动扩展) |
异步运行时:Tokio + Axum
Web 框架选型是 Axum(Tokio 生态的 Web 框架),而非更常见的 Actix-web。Axum 的优势是与 Tokio 深度集成、类型安全的路由定义、tower 中间件生态。Izwi 用 Axum 实现了:
axum = { version = "0.8.9", features = ["ws", "multipart"] }
tokio = { version = "1.43", features = ["full"] }
模型加载:HuggingFace Hub
模型权重通过 hf-hub 库从 HuggingFace 下载,缓存到本地目录。safetensors 格式确保权重文件安全加载,tokenizers 处理文本 token 化。这套组合与 Python 生态的 Transformers 库路径完全一致——Python 训练、Rust 推理,数据格式无缝互通。
多后端推理
Izwi 实现了推理后端自动选择:
Docker 一键部署(CPU)
docker compose up -d
# 访问 http://localhost:8080
Dockerfile 采用多阶段构建:Stage 1 用 Node.js 编译 React UI,Stage 2 用 Rust 编译 CPU 版本,Stage 3 单独编译 CUDA 版本(通过 --profile cuda 激活)。这种分离设计确保 CPU 和 CUDA 版本互不干扰。
CUDA 加速部署
CUDA_COMPUTE_CAP=80 docker compose --profile cuda up -d
需要 NVIDIA 驱动 + CUDA 12.4 + cuDNN 环境。
硬件需求估算
| 场景 | 最低配置 | 推荐配置 |
|---|---|---|
| TTS(Qwen3-TTS-0.6B) | 4GB RAM, 4GB VRAM | 8GB RAM, 8GB VRAM |
| ASR(Parakeet-0.6B) | 4GB RAM | 8GB RAM |
| 全功能(多模型同时加载) | 16GB VRAM | 24GB VRAM |
适合人群:
门槛较高的人群:
与竞品对比
| 特性 | Izwi | Whisper.cpp | Piper TTS | Coqui TTS |
|---|---|---|---|---|
| 语言 | Rust | C++ | C++/ONNX | Python |
| TTS + ASR 一体 | ✅ | ❌ | ❌ | ❌ |
| OpenAI 兼容 API | ✅ | ❌ | ❌ | ❌ |
| 语音克隆 | ✅ | ❌ | ✅ | ✅ |
| Docker 支持 | ✅ | ⚠️ | ❌ | ❌ |
| Apple Silicon 加速 | ✅ Metal | ❌ | ❌ | ❌ |
1. 模型版权风险 语音克隆功能需要用真实人声数据训练。不同国家对声音版权有不同的法律规定(如欧盟 GDPR 的生物特征数据保护、美国 Illinois BIPA 等),在未经授权情况下克隆他人声音可能面临法律风险。
2. 模型下载依赖 HuggingFace 本地模型权重需要从 HuggingFace Hub 下载,国内网络环境需要代理。首次运行时需要下载数 GB 的模型文件。
3. CUDA 部署复杂度 虽然 CPU 版本开箱即用,但 GPU 加速需要正确配置 CUDA 12.4 + cuDNN,对于没有深度学习环境的用户来说,排查驱动版本不匹配等问题需要一定经验。
4. 生产环境评估不足 项目当前版本 0.1.0-beta-17,仍处于 beta 阶段。大规模并发(多用户同时请求)的稳定性尚未经过充分验证。
Izwi 代表了一个趋势:本地优先(Local-first)+ 云端协议兼容(OpenAI API-compatible)。这种组合对 AI 应用开发者极具吸引力——既能保证数据隐私和离线可用性,又不需要重写业务代码。
对于企业内部 AI 助手、医疗语音记录、法律对话转录等强隐私场景,Izwi 提供了一条不需要自建推理集群的数据合规路径。对于 AI 开发者而言,OpenAI 兼容 API 让本地实验到生产部署的过渡变得无缝。
它的增长空间取决于:beta 阶段稳定性、更多 TTS/ASR 模型的支持、以及企业级功能(认证、限流、审计日志)的完善程度。