🎯 小项目⑤:和小莫语音互动
本章的知识全部串起来,完成一条完整的语音交互流水线:你说,小莫听 → 听懂 → 回答 → 说出来。
小莫说
我终于能听见声音并开口说话了!虽然现在的我还只能做简单回声,但听和说的基础已经打好——未来加上 AI 大脑,我就能和你真正聊天啦!👂🗣
项目目标
你将综合运用
- 8.1:麦克风音频采集
- 8.2:sherpa-onnx SenseVoice ASR
- 8.3:sherpa-onnx Matcha TTS
- 8.4:Streaming 打断
- 第四章:多输入、dataflow.yml
前置要求
- 完成 8.1 - 8.4
- 已下载 SenseVoice 和 Matcha 模型
- 安装了
sherpa-onnx、sounddevice
第一步:回声节点
在 ASR 和 TTS 之间加一个简单的回声节点,把 ASR 识别的文字原样返回给 TTS。实际项目中这里可以接入 AI 对话模型。
echo_brain.py:
第二步:完整数据流
dataflow.yml:
第三步:体验
对麦克风说话,稍等片刻(ASR 累积 1 秒音频后识别),小莫会用语音回复你说的话。
动手挑战
挑战:让"大脑"支持多条回复
改造 echo_brain.py,支持多条预设回复。当用户说"你好"时回复"你好,我是小莫!";说"再见"时回复"下次再聊!";其他内容保持原样回声。
小结
你完成了语音交互流水线的最简闭环。接下来可以接入 AI 模型(如调用大模型 API)替代回声节点,完成真正的智能对话系统。