
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-16 · 当前星标 ★ 1538
使用教程
环境要求
- 支持 CUDA 的 GPU,显存至少 16 GB
- CPU 架构必须为 x86_64(官方无 aarch64 计划)
- 操作系统:Linux,或 Windows + WSL;不支持原生 Windows 与 macOS
- 远程访问需能使用 SSH 端口转发
安装与启动步骤
-
1检查硬件环境
先确认显卡为 CUDA GPU 且显存≥16GB,架构 x86_64;系统用 Linux 或 Windows+WSL,Mac 与原生 Windows 均不支持。
-
2克隆仓库
把 unmute 源码拉到本地,仓库内同时包含 Docker Compose 与无 Docker 两套部署说明,按需选择。
git clone https://github.com/kyutai-labs/unmute cd unmute -
3选择部署方式
官方推荐 Docker Compose:单机一条命令启停全部服务、环境可复现;也可用 Dockerless 手动逐个启动服务。
-
4安装 pre-commit 钩子
无 Docker 方式需先装好 pre-commit 可执行文件,建议用 pip 全局安装而非虚拟环境,再在仓库里安装钩子。
pip install pre-commit pre-commit install --hook-type pre-commit -
5启动后端服务
用 uv 运行 FastAPI 后端主程序,开发模式自带自动重载;上线时把 dev 换成 run 走生产模式。
uv run fastapi dev unmute/main_websocket.py -
6打开前端连接
前端默认监听 3000 端口、后端 8000;Docker Compose 方案默认走 80 端口,浏览器打开后点 connect 建立 websocket。
-
7远程访问做端口转发
本机执行 SSH 隧道;Compose 只需转发 80,Dockerless 要分别转发后端 8000 和前端 3000。
ssh -N -L 3333:localhost:80 unmute-box ssh -N -L 8000:localhost:8000 -L 3000:localhost:3000 unmute-box -
8运行负载测试
用自带脚本模拟多路并发对话,测量延迟与吞吐;server-url 指向后端 websocket 地址即可。
uv run unmute/loadtest/loadtest_client.py --server-url ws://localhost:8000 --n-workers 16
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
--server-url | 是 | loadtest 脚本要连接的后端 WebSocket 地址 | ws://localhost:8000 |
--n-workers | 否 | loadtest 并发模拟对话的 worker 数量 | 16 |
如何确认成功
浏览器打开 localhost:3000(或端口转发后的 localhost:3333),点 connect 能建立 websocket 并正常语音对话;loadtest 脚本能持续输出延迟与吞吐数据。
常见问题
Q:能在 Mac 或原生 Windows 上运行吗?
A:不能。官方明确仅支持 Linux 或 Windows+WSL,macOS 与原生 Windows 均未支持,分别对应 issue #74 和 #84。
Q:对显卡有什么硬性要求?
A:需要一块支持 CUDA 的 GPU,显存至少 16GB,CPU 架构必须为 x86_64,官方没有支持 aarch64 的计划。
Q:三种部署方式该选哪个?
A:推荐 Docker Compose(1 台及以上 GPU,很简单);无 Docker 方式适合灵活拆分服务;Docker Swarm 仅展示官方如何扩展 unmute.sh,官方不提供调试支持。
Q:远程服务器上为什么点 connect 没反应?
A:HTTP 连接下浏览器出于安全限制通常禁止使用麦克风,即使能直接访问服务器也必须做 SSH 端口转发,改成通过 localhost 访问。
Q:前端后端的端口分别是多少?
A:无 Docker 方案后端为 8000、前端为 3000;Docker Compose 方案默认跑在 80 端口。
注意事项
- Docker Swarm 部署只用于展示官方如何部署和扩展 unmute.sh,多节点调试困难,官方不提供支持。
- 非 HTTPS 场景下必须做端口转发,因为浏览器只允许 localhost 使用麦克风。
- 官方建议用 uv 管理 Python 依赖,文档中的命令默认基于 uv。
- 服务数量较多,优先用 Docker Compose 以获得可复现环境并避免依赖问题。
核心亮点
- 把语音识别、LLM 和 TTS 串成完整对话管道,开箱即可跑通语音聊天
- 支持接入多种主流 ASR/TTS 服务,也兼容本地模型,灵活替换组件
- Python 实现,代码结构清晰,方便开发者按需定制和二次开发
不足之处
- 实时性和打断处理依赖具体后端配置,默认体验可能不够流畅
- 文档和示例相对精简,新手接入本地模型时可能需要自行摸索
适用场景
- 为已有文本 LLM 快速增加语音对话能力
- 开发本地部署的语音助手原型
- 验证语音交互产品想法时作为基础框架
替代项目
bark、whisper、piper
同类项目推荐
whisper-local
开源
按住热键说话,本地秒出文字,不联网不订阅
Free, open-source, 100% offline AI dictation for Windows & macOS. Wispr Flow / Drago···
NeMo-Speech.cpp
开源
用 C++ 跑 NeMo 语音模型,免 Python 低资源做识别与合成
NeMo-Speech.cpp is a lightweight C++ inference runtime for Speech models
yt-transcriber
开源
丢个 YouTube 链接,直接拿转写、摘要和翻译
CLI app- Give it a YouTube URL and you get a transcription with possible speaker ide···
jt-live-whisper
开源
本地跑语音转写翻译,会议录音不出电脑
100% 全地端 AI 語音工具箱:即時轉錄、即時翻譯、錄音檔批次處理、講者辨識、會議摘要,所···
whisperIME
开源
说话即打字,本地识别不上传,任意App都能用
Android Input Method Editor (IME) based on Whisper
whisper.cpp
开源
在 CPU 上极速运行 Whisper,离线语音转文字不求人
Port of OpenAI's Whisper model in C/C++
faster-whisper-GUI
开源
本地拖拽音频,一键生成字幕文本
faster_whisper GUI with PySide6
myna
开源
Ubuntu 上按快捷键说话,文字直接落到光标处
Myna is a lightweight speech-to-text application for Ubuntu Desktop.
Voconly
开源
开口说话,本地离线转成干净文字
本地优先 AI 语音输入工具 | Local-first AI voice typing tool. 支持 Whisper/SenseVoice···