voicechat2

GitHub
770 90 较难 1 次阅读 今天Apache-2.0语言模型音频
AI 解读 由 AI 自动生成,仅供参考

voicechat2 是一款专为本地部署设计的高性能 AI 语音对话工具,旨在让用户在完全离线的环境下,实现低延迟的“语音输入 - 大模型思考 - 语音输出”全流程交互。它有效解决了传统云端语音服务存在的数据隐私顾虑、网络依赖以及高昂的 API 调用成本问题,让敏感数据无需离开本地即可享受智能对话体验。

该工具特别适合具备一定技术基础的开发者、AI 研究人员以及注重隐私极客用户。其核心亮点在于高度模块化的架构设计:用户可自由组合替换语音识别(如 whisper.cpp、faster-whisper)、大语言模型(如 llama.cpp 或兼容 OpenAI 接口的服务)以及语音合成(如 Coqui-TTS、StyleTTS2、Piper 等)组件,灵活适配不同硬件与需求。借助 WebSocket 技术,voicechat2 不仅支持简单的远程访问,还内置了基于 Web 的交互界面和语音活动检测(VAD)功能。在性能表现上,优化后的配置在高端显卡上可将端到端延迟压缩至 300 毫秒左右,带来近乎实时的流畅对话体验,是构建私有化智能语音助手的理想选择。

使用场景

一位专注于隐私保护的独立开发者,希望在本地搭建一套低延迟的 AI 语音助手,用于在离线环境下进行实时的代码逻辑咨询与文档整理。

没有 voicechat2 时

  • 隐私泄露风险高:必须依赖云端 API 处理语音和文本,敏感的代码片段或内部业务逻辑存在上传外泄的隐患。
  • 响应延迟严重:网络传输加上云端排队,导致语音对话的端到端延迟往往超过数秒,打断思维连贯性,无法实现自然流畅的“对讲”体验。
  • 架构耦合紧密:语音识别(STT)、大模型(LLM)和语音合成(TTS)通常被绑定在单一重型服务中,难以针对特定硬件(如 AMD 显卡)单独优化某个模块。
  • 部署成本高昂:缺乏统一的本地 WebSocket 服务框架,需要手动拼接多个开源项目,配置复杂且难以维护远程访问接口。

使用 voicechat2 后

  • 数据完全本地化:利用 whisper.cpp 和 llama.cpp 等组件,所有音频解析、推理和合成均在本地 GPU 完成,确保核心数据不出内网。
  • 极致低延迟交互:在 RTX 4090 等硬件上,通过模块化优化将语音到语音的延迟压缩至 300ms 左右,实现了接近真人对话的即时响应。
  • 灵活模块替换:支持自由 swapping 组件,例如针对 AMD 显卡切换 ROCm 版本的 llama.cpp,或替换为 StyleTTS2 以获得更自然的音色,完美适配异构硬件。
  • 开箱即用的远程接入:内置 WebSocket 服务器和默认 Web UI,配合简单的隧道脚本,即可安全地从其他设备远程访问本地算力资源。

voicechat2 通过全本地化、模块化及低延迟的特性,让开发者能够在保障数据绝对安全的前提下,拥有媲美云服务的流畅 AI 语音交互体验。

运行环境要求

操作系统
  • Linux
GPU
  • 必需
  • 支持 NVIDIA (CUDA) 或 AMD (ROCm) GPU
  • 示例中提到 RTX 4090 和 AMD RDNA3 (7900 系列)
  • 需自行安装 CUDA 或 ROCm 驱动
内存

未说明 (取决于所选 LLM 和 STT 模型大小,运行 8B 模型建议 16GB+)

依赖
notes1. 安装说明仅针对 Ubuntu LTS,假设已预先配置好 ROCm 或 CUDA 环境。 2. 强烈建议使用 conda 或 mamba 进行环境管理。 3. 系统需预装 espeak-ng, ffmpeg, libopus0, libopus-dev 等音频处理库。 4. 如需使用 llama.cpp,需根据显卡类型 (AMD/Nvidia) 手动编译并开启对应加速选项 (GGML_HIPBLAS 或 GGML_CUDA)。 5. 延迟表现取决于硬件:RTX 4090 可达 300ms,AMD 7900 系列约为 1 秒。
python3.11
whisper.cpp 或 faster-whisper 或 transformers (STT)
llama.cpp 或 OpenAI API 兼容服务 (LLM)
coqui-tts 或 StyleTTS2 或 Piper 或 MeloTTS (TTS)
ricky0123/vad (VAD)
symblai/opus-encdec (Opus)
ffmpeg
libopus
espeak-ng
voicechat2 hero image

快速开始

voicechat2

一个基于 WebSocket 的快速、完全本地的 AI 语音聊天系统

voicechat2 演示视频

请取消静音以收听音频

在 AMD RDNA3 架构的 7900 系列显卡上,语音到语音的延迟约为 1 秒:

而在 RTX 4090 上,使用 Faster Whisperfaster-distil-whisper-large-v2,延迟可以降低至低至 300 毫秒:

voicechat2 演示

当然,你可以根据需要运行任何模型,或随意更换 SRT、LLM 和 TTS 组件。例如,你可以使用 whisper.cpp 作为 SRT,或者在测试文件夹中找到一个 StyleTTS2 服务器作为替代的 TTS 选择。若想了解更多关于该项目的信息,请参阅我的 Hackster.io 文章

安装

以下安装说明适用于 Ubuntu LTS,并假定你已经完成了 ROCmCUDA 的设置。

我建议使用 conda 或(我个人更推荐)mamba 来管理环境,这会让操作更加便捷。

系统先决条件

sudo apt update

# 并非严格必要,但对我们使用的工具很有帮助
sudo apt install byobu curl wget

# 音频处理
sudo apt install espeak-ng ffmpeg libopus0 libopus-dev 

克隆代码

# 创建环境
mamba create -y -n voicechat2 python=3.11

# 设置
mamba activate voicechat2
git clone https://github.com/lhl/voicechat2
cd voicechat2
pip install -r requirements.txt

llama.cpp

# 构建 llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# AMD 版本
make GGML_HIPBLAS=1 -j 
# Nvidia 版本
make GGML_CUDA=1 -j 

# 下载你喜欢的 GGUF 模型
wget https://huggingface.co/bartowski/Meta-Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf

# 如果要继续下一步
cd ..

一些方便的启动脚本:

run-voicechat2.sh - 在你的 GPU 机器上尝试在独立的 byobu 会话中启动所有服务器;请更新 MODEL 变量
remote-tunnel.sh - 将你的 GPU 机器连接到跳板机
local-tunnel.sh - 通过跳板机连接到 GPU 机器

其他 AI 语音聊天项目

Speech To Speech

一个在 voicechat2 之后发布的项目,采用类似的模块化方法,但更偏向于本地设备端应用

webrtc-ai-voice-chat

演示显示延迟较大(约 10 秒),但该项目与 voicechat2 的实现方式并不完全一致(它使用 WebRTC 而不是 WebSocket)。voicechat2 使用的是 HF Transformers 和 Ollama。

june

一个基于控制台的本地客户端(HF Transformers、Ollama、Coqui TTS、PortAudio)

GlaDOS

这是一个响应迅速的基于控制台的本地客户端,具备 VAD 和打断功能,并且有一个非常巧妙的钩子!(whisper.cpp、llama.cpp、piper、espeak)

local-talking-llm

另一个基于控制台的本地客户端,更像是一个概念验证,附带博客文章。

BUD-E - natural_voice_assistant

另一个基于控制台的本地客户端(FastConformer、HF Transformers、StyleTTS2、espeak)

LocalAIVoiceChat

KoljaB 拥有一系列有趣的基于控制台的本地客户端项目,如 RealtimeSTTRealtimeTTSLinguflex 等(faster_whisper、llama.cpp、Coqui XTTS)。

rtvi-web-demo

这并不是一个本地语音聊天客户端,但它有一个简洁的 WebRTC 前端,或许值得探索一下(Vite/React、Tailwind、Radix)。

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

151.3k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|6天前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|1周前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|2天前
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|3天前
语言模型数据工具其他

gpt4all

GPT4All 是一款让普通电脑也能轻松运行大型语言模型(LLM)的开源工具。它的核心目标是打破算力壁垒,让用户无需依赖昂贵的显卡(GPU)或云端 API,即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。 对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说,GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点,让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者,还是单纯想体验私有化 AI 聊天的普通用户,都能从中受益。 技术上,GPT4All 基于高效的 `llama.cpp` 后端,支持多种主流模型架构(包括最新的 DeepSeek R1 蒸馏模型),并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端,支持 Windows、macOS 和 Linux 等多平台一键安装,还为开发者提供了便捷的 Python 库,可轻松集成到 LangChain 等生态中。通过简单的下载和配置,用户即可立即开始探索本地大模型的无限可能。

77.3k|★☆☆☆☆|昨天
语言模型开发框架