unmute

给文本 LLM 装上耳朵和嘴巴,秒变语音助手

unmute 是一个让文本大模型获得语音输入和语音输出能力的开源工具,核心目标是把原本只能处理文字的 LLM 变成可以自然对话的语音助手。它通过串联语音识别、LLM 推理和语音合成三个环节,实现类似实时语音聊天的体验。项目支持接入多种主流语音识别与 TTS 服务,也允许本地部署模型,用户只需配置好 API 或本地模型路径,就能让任意文本 LLM 开口说话并听懂人话。相比从零搭建语音对话系统,unmute 把音频采集、流式识别、对话管理和语音合成封装成可运行的管道,降低了实验门槛。适合开发者快速验证语音交互想法,或为已有文本 LLM 增加语音接口。项目用 Python 编写,结构清晰,便于二次开发和替换组件。

开源 free 语音识别
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1516
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类语音识别
开发团队kyutai-labs
所属国家
官网地址
定价模式free
价格说明开源免费,需自行部署
访问状态
是否开源
开源协议MIT
主要语言Python
技术栈/模型
GitHub 星标★ 1516
30天Star增速
HF 下载量
上线时间2025-06-10 00:00:00
最近更新2026-09-18 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:进阶 约 30 分钟 部署方式:Docker 8 步

环境要求

  • 支持 CUDA 的 GPU,显存至少 16 GB
  • CPU 架构必须为 x86_64(官方无 aarch64 计划)
  • 操作系统:Linux,或 Windows + WSL;不支持原生 Windows 与 macOS
  • 远程访问需能使用 SSH 端口转发

安装与启动步骤

  1. 1检查硬件环境

    先确认显卡为 CUDA GPU 且显存≥16GB,架构 x86_64;系统用 Linux 或 Windows+WSL,Mac 与原生 Windows 均不支持。

  2. 2克隆仓库

    把 unmute 源码拉到本地,仓库内同时包含 Docker Compose 与无 Docker 两套部署说明,按需选择。

    git clone https://github.com/kyutai-labs/unmute
    cd unmute
  3. 3选择部署方式

    官方推荐 Docker Compose:单机一条命令启停全部服务、环境可复现;也可用 Dockerless 手动逐个启动服务。

  4. 4安装 pre-commit 钩子

    无 Docker 方式需先装好 pre-commit 可执行文件,建议用 pip 全局安装而非虚拟环境,再在仓库里安装钩子。

    pip install pre-commit
    pre-commit install --hook-type pre-commit
  5. 5启动后端服务

    用 uv 运行 FastAPI 后端主程序,开发模式自带自动重载;上线时把 dev 换成 run 走生产模式。

    uv run fastapi dev unmute/main_websocket.py
  6. 6打开前端连接

    前端默认监听 3000 端口、后端 8000;Docker Compose 方案默认走 80 端口,浏览器打开后点 connect 建立 websocket。

  7. 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. 8运行负载测试

    用自带脚本模拟多路并发对话,测量延迟与吞吐;server-url 指向后端 websocket 地址即可。

    uv run unmute/loadtest/loadtest_client.py --server-url ws://localhost:8000 --n-workers 16

关键配置

配置项必填说明示例
--server-urlloadtest 脚本要连接的后端 WebSocket 地址ws://localhost:8000
--n-workersloadtest 并发模拟对话的 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

项目介绍

unmute 是一个语音识别领域的开源项目,官方简介:Make text LLMs listen and speak。项目使用 Python 开发,在 GitHub 上获得 1514 星标。

上一篇:leopard

下一篇:hyprwhspr

同类项目推荐

obs-localvocal 开源

直播录屏时,本地AI实时生成字幕,保护隐私零延迟

OBS plugin for local speech recognition and captioning using AI

★ 1614 2026-09-10
LiveCaptions-Translator 开源

实时捕获系统音频,一键翻译成你懂的语言

Lightweight and powerful real-time audio/speech translation tool based on Windows Li···

★ 3733 2026-08-10
speechbrain 开源

一站式 PyTorch 语音工具箱,快速搞定识别、说话人验证等任务

A PyTorch-based Speech Toolkit

★ 11826 2026-08-26
whisper-diarization 开源

给语音转写加上说话人标签,会议记录一目了然

Automatic Speech Recognition with Speaker Diarization based on OpenAI Whisper

★ 5651 2026-08-13