local-voice-reply

面向飞书/Discord的本地OPUS/Ogg语音回复流水线,支持结构化语音自定义。默认语音为Juno(`voice/juno_ref.wav`),并支持重新配置。

安装

概览

Local Voice Reply 是一个专为飞书和 Discord 平台设计的本地语音回复生成工具,能够将文本快速转换为高质量的克隆或自定义语音音频,并以低延迟方式可靠地发送到指定渠道。该工具默认使用名为 Juno 的预置语音模型(参考文件为 `voice/juno_ref.wav`),并支持用户通过替换参考文件或注册新音色来灵活定制语音风格。生成的输出格式为标准 Opus 编码的 Ogg 容器文件,可直接用于主流通讯平台的语音消息发送。 整个系统采用模块化架构设计,核心服务运行在独立的 FastAPI 服务器中(`server/voice_server_v3.py`),集成了高效的语音合成引擎(`voice_engine.py`)与缓存机制,确保高并发场景下的响应速度与资源复用。客户端可通过简单的 HTTP API 调用 `/speak` 接口,传入文本及可选参数如语速、情感强度等,即可获取对应的语音文件。同时提供了 PowerShell 脚本辅助操作,例如 `scripts/send_voice_reply.ps1` 可自动完成从文本到 Opus 文件的转换流程,极大简化了集成难度。 为了适配不同硬件环境,项目支持多种设备后端选择,包括 CUDA/GPU、MPS 以及 CPU,并允许通过环境变量 `TARVIS_VOICE_DEVICE` 强制指定推理设备。此外,所有上传的语音样本、缓存数据及生成的音频文件均具备持久化能力,便于长期维护和批量处理。整体方案兼顾性能、兼容性与易用性,特别适合需要实时语音交互的智能助手或自动化机器人应用场景。

核心功能特点

  1. 支持飞书与 Discord 双平台语音消息推送
  2. 提供基于 ChatterboxTTS 的本地 CUDA 加速语音合成
  3. 默认搭载 Juno 音色,支持自定义参考音频替换与多音色注册
  4. 输出为标准 Opus/Ogg 格式,兼容主流通讯平台语音播放
  5. 内置高效缓存机制与长文本分块策略,优化 CJK 语言处理效率
  6. 配备自动化脚本与 PowerShell 工具链,简化部署与使用流程

适用场景

Local Voice Reply 特别适用于需要实现自然语音反馈的智能对话系统,尤其是在企业客服机器人、社区互动助手或游戏 NPC 语音场景中表现突出。当用户在飞书群组或 Discord 频道中触发特定指令时,该工具能即时将结构化文本转化为逼真的人声回应,显著提升用户体验的真实感与参与度。例如,在一个技术支持频道里,机器人可以主动播报故障排查进度;而在多人协作项目中,它还能以不同音色区分发言人角色,增强信息传递的层次感。 对于开发者而言,此工具也极具工程价值。由于其完全本地化运行且无需依赖第三方 TTS 服务,可有效规避网络延迟与隐私泄露风险,非常适合对安全性要求较高的内部系统或敏感数据处理流程。配合预设的语音参数调节功能(如语速调整、情感夸张度控制),还可以轻松模拟紧张、兴奋等多种情绪状态,满足复杂叙事需求。无论是构建虚拟主播、教育类 AI 导师,还是开发沉浸式社交应用,Local Voice Reply 都能作为核心组件无缝嵌入现有架构之中。