从语音输入、语义理解、业务执行到语音反馈,搭建一条可运行、可验证、可扩展的实时交互闭环。
真正影响体验的是整条链路:识别是否可信、理解是否准确、执行是否落地、反馈是否及时。
本文研究的是语音交互由单一功能逐渐发展成为综合能力的过程,不是单纯比较某一个模型效果,而是考察从识别、理解、合成到设备执行能否形成有效循环。
目前语音交互在智能家居、智能座舱和公共服务中应用广泛,但仍存在端到端延迟、复杂环境鲁棒性不足、物联网设备协议不统一等问题,这些问题会直接影响用户是否愿意继续使用。
本系统把完整对话回路作为核心,不是罗列支离破碎的功能点,而是在一次对话中完成接收、理解、操作和反馈。文字输入可以直接进入网关,语音输入则先经过录制和转写,然后接入同一条文本链路。
功能上覆盖天气查询、东北农业大学校务咨询和设备控制三类任务,体现从“回答问题”到“办理、执行”的过程。交互上支持分段返回、语音播报和新请求打断旧播报,避免用户等待整块回复或听到重叠声音。
前端负责采集、显示与播放;FastAPI 网关贯穿会话;Dify 负责任务编排;Home Assistant 负责设备实体与服务调用;ASR/TTS 独立为语音节点。
从数据流看,系统可以理解为三条路径在同一会话中交汇:语音上行路径通过 WebSocket 上传 PCM 并返回识别文本;业务控制路径调用外部接口和设备服务;媒体下行路径把文字和音频返回前端。
部署上,将 Dify 和 Home Assistant 放在本地容器中,将语音节点放在局域网单独机器上,分离编排调度和高负载音频计算,减少资源竞争造成的抖动。

ASR 的实时输出先呈现在界面上,让用户直观看到语音是否被正确转成文字。只有在问题完整后,系统才把最终文本交给 LLM 工作流。
语音处理模块负责把原始声音转化为可用于业务流的文本,过程包括采集、分帧、传输、实时转写和规整。相比一次性上传音频文件,分帧流式可以让用户在讲话时看到正在形成的字幕。
模块边界止步于输出可用识别文本,不在 ASR 阶段进行意图裁决,这样可以把识别错误和分支误判区分开,便于后续定位问题。

Dify 负责意图分类与工具编排。天气、校务、设备控制使用统一输入输出格式,前端展示与语音播报不需要为每个分支单独适配。
系统工作逻辑主要在 Dify 工作流中实现,流程分为语义分析、任务打包和分支跳转三部分。系统先判断用户问题属于天气、校务还是设备控制,再进入对应分支处理。
各节点之间采用结构化参数传递,分类节点只检测意图,执行节点只调用业务能力,汇总节点只整合结果。这样后续增加新业务时,只需扩展分类条件和分支节点,不必大改主流程。

天气分支从用户句子中抽取地点、日期或时间段,先做参数规范化与合法性校验,再调用高德天气 API,并把接口字段整理成便于显示和播报的自然语言。
该分支会先把口语化问题转换成接口可接受的结构化参数,调用前检查参数是否缺失、时间范围是否合法,调用后再检查返回值完整性,避免把半成品数据展示给用户。


校务分支先在东北农业大学相关知识库中检索候选片段,再进行排序、过滤和总结,要求回答有来源依据;当信息不足时避免编造,保证校务咨询的可信度。
该部分与天气查询、设备控制使用相同的框架,但针对校园校务内容做了特有调整。答案按重要性递减组织,先给出核心信息,再补充相关说明,便于手机端展示和语音播报。


设备分支识别对象、动作和参数,再映射为 Home Assistant 的服务调用;执行后把设备状态、提示文本和语音播报统一回传。
设备控制的关键,是把用户口语化操作指令转化为设备能理解的操作。系统会识别设备实体、动作和可选参数,发送命令前检查权限与设备可用状态,执行后监听最新状态。


CosyVoice 将业务结果分段合成为音频,前端使用 createInnerAudioContext 管理播放队列、会话绑定与打断逻辑。
文本转语音模块把系统最终生成的业务回复转化为可听的声音文件。系统采用分段流式合成,前端不必等待整段音频全部生成,一旦收到第一段音频即可开始播放。
播放控制模块会保存待播放、正在播放、暂停和任务切换等状态。若数字人正在播报时用户发送新请求,前端会立即停止当前音频并清空旧队列,保证用户听到的是最新请求的结果。


系统已经搭建起从语音感知、语义理解,
到服务执行与语音反馈的完整闭环。
从测试结果看,系统在语音输入、文本转写、天气查询、校务问答、设备控制和语音播报等主要功能上均能正常工作,基本达到预期目标。虽然弱网情况下端到端耗时会发生变化,但主流程没有出现卡顿或异常退出。
后续改进方向主要包括:适配更复杂的噪声和多说话人场景,继续改进响应一致性与播放控制细节,并加强日志和可观测性,使系统更适合真实环境下长期运行。
扩充噪声、弱网、多说话人等测试样例。
继续优化响应一致性和播放控制细节。
加强日志与可观测性,便于真实部署排障。
把语音、模型与设备
串成一条可被验证的链路——
这是本科四年留下的小小注脚。
感谢各位老师
— 苏文慧 · 2026