小智语音助手中台 (Xiaozhi Voice Assistant Middleware)产品系统

我要开发同款
轻风17802026年03月23日
7阅读

技术信息

语言技术
Python
系统类型
WindowsLinux
行业分类
人工智能智能硬件

作品详情

行业场景

本项目的立项初衷旨在解决传统物联网语音设备(如基于ESP32芯片的智能终端)在交互时存在的“响应延迟高、一问一答体验生硬”的行业痛点。在智能家居和随身硬件助理场景下,用户期望获得如同真人对话般的自然、流畅且极低延迟的语音交互体验。本中台作为硬件终端与云端AI(如通义千问大模型)之间的桥梁,通过深度优化的流式通信架构,彻底打破了“录音完毕-云端处理-等待下发”的传统阻塞模式,赋能低算力硬件设备实现“极速首包响应”和“全双工无缝打断”的高阶智能语音体验。

功能介绍

本项目是一个专为高并发流式语音交互打造的后端服务,主要包含以下核心功能模块:
全双工网络通信模块:基于 FastAPI WebSocket 建立实时长连接,支持音频二进制裸流和JSON指令的高效双向并发传输。
流式语音识别 (ASR) 模块:深度集成阿里云 Paraformer 引擎,支持边听边转文字,大幅缩减识别延迟。
AI大模型 (LLM) 智能处理模块:异步对接大语言模型(如 qwen-plus),支持文本流式生成。并内置字符清洗机制,自动过滤Emoji及Markdown等可能导致TTS引擎报错的特殊符号。
流式语音合成 (TTS) 与实时转码模块:无缝对接 Edge-TTS/CosyVoice,并通过底层挂载 FFmpeg 进程,将合成的音频流实时转码为适配硬件的 16kHz、16bit 单声道 PCM 裸数据并分发。
任务打断与并发管控模块:当检测到用户的新一轮发音时,系统能立即感知并中途阻断底层的 AI 生成与播放协程,实现丝滑的“插嘴”体验。

项目实现

负责任务:独立负责整个系统架构设计以及“ASR -> LLM -> TTS”核心流式流水线的全量异步代码实现。
技术栈与架构:采用 Python 3.11+ 结合 asyncio 构建高并发底座,通过 asyncio.Queue 串联各级服务,形成高效的生产者-消费者异步消费模型。
实现亮点:
极限优化 TTFB (首字节延迟):在 LLM 服务中首创“动态断句策略”——首句求快(遇到逗号即触发 TTS 以压缩用户体感等待时间),后续求稳(允许长句存在以防止 TTS 网络请求过多导致语音断流)。
硬件级深度适配:针对单片机内存极小且解码能力弱的难点,在服务器端完成所有重计算工作,不仅输出纯 PCM 裸流,更实现了精准的网络级控速发包(动态计算 sleep_time),有效防止了下位机硬件的缓冲区溢出。
难点攻克:成功解决了全异步链条下的内存泄漏问题。通过对 asyncio.CancelledError 进行严谨的生命周期管理,确保了在复杂的网络异常或高频用户打断场景下,后台 ffmpeg 子进程和 task 协程都能得到优雅清理与释放。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论