2026/10/24 3:43:40

Reachy Mini 语音对话实战:3 条命令让机器人开口回话

Reachy Mini 语音对话实战:3 条命令让机器人开口回话 Reachy Mini 语音对话实战3 条命令让机器人开口回话【免费下载链接】reachy_miniReachy Minis SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini你坐在桌面机器人对面说了句喂小家伙。Reachy Mini 的头转过来看着你停了一拍用合成语音回了一句我在。这套语音对话链路的每一环都躺在同一个开源仓库里芯片在片上算方向daemon 把结果吐成接口你的应用只负责 ASR 和 LLM。下面按声音走过的顺序把这条链路拆开看。先看清全貌一段声音的数据旅程你的声音先落在 Reachy Mini 音频卡上的麦克风阵列卡上那颗 XMOS XVF3800 芯片直接在片上算出声源到达方向DoA和语音活动标志daemon 把这两个值读出来通过/api/state/doa接口暴露给你的应用。应用层拿录音做 ASR文本进 LLM回复文本再经 TTS 变成音频喂给 GStreamer 播放管道从扬声器放出与此同时舵机把头转过去。整条链路压成一行就是麦克风阵列XVF3800→ 片上 DoA VAD → daemon/api/state/doa→ 应用层ASR → LLM→ TTS 音频 → GStreamer 播放 → 扬声器 转头3 条命令跑通语音链路克隆仓库、装 SDK你会拿到三个入口命令reachy-mini-daemon启动后台服务电机、音频、状态接口全在它上面reachy-mini-app-assistant用于脚手架式创建新应用reachy-mini-reflash-motors负责电机固件。git clone https://gitcode.com/GitHub_Trending/re/reachy_mini cd reachy_mini pip install -e . reachy-mini-daemon机器人唤醒后再开一个终端跑 TTS 示例它就会开口uv run python examples/sound_tts.py --text 你好我是 Reachy Minisound_tts.py 把文本交给支持 23 种语言的 TTS 服务合成音频后在机器人上播放同时启用和语音同步的头部摆动。到这里一条最薄的语音回路已经通了你说话的部分还没接但它开口这一侧已经能验证。三个决定对话顺不顺的节点Reachy Mini 声源定位芯片算好的代码只负责读它解决的问题声音从哪个方向来头该朝哪转。关键实现思路方向不是软件算的XVF3800 芯片片上输出 DoAaudio_doa.py 把 USB 读取封装成get_DoA()返回(angle, speech_detected)角度单位弧度0 是左侧、π/2 是正前、π 是右侧。doa mini.media.get_DoA() # (angle_rad, speech_detected) 或 None if doa and doa[1]: a doa[0] mini.look_at_world(np.sin(a), np.cos(a), 0.0, duration0.5)VAD 判断说完别被一次呼吸打断它解决的问题你只是停顿了一下机器人不能就把话头抢过去交给 LLM。关键实现思路语音活动检测同样在片上做audio_control_utils.py 里的 AEC 参数集就是这套芯片能力的入口speech_detected标志直接来自get_DoA()。sound_doa.py 的用法值得抄标志为真、且角度变化超过 0.004 弧度约 2 度才命令转头两个条件同时卡住噪声和微小抖动都被滤掉。GStreamer 管道延迟藏在 50 毫秒里它解决的问题播放不卡顿、不打爆缓冲区同时延迟可控。关键实现思路audio_gstreamer.py 把录音和播放都固定成source → queue → audioconvert → audioresample → appsrc/appsink的短管道播放侧缓冲区按 50 ms、延迟按 5 ms 设置采样率 16 kHz延迟量级是几十毫秒而不是几百毫秒。踩坑速查语音交互常见症状调任何参数之前先确认麦克风阵列被系统认到了再谈调参。这张表能覆盖大半情况症状大概率原因处理方式找不到 ReSpeaker 设备固件低于 2.1.0升级固件到 2.1.0 以上DoA 接口无数据音频未初始化重启 daemon检查 USB轮询时说话中途断Wi-Fi 下握手超时复用同一个 Session语音发闷、发糊头部腔体谐振跑一次扬声器 EQ 校准从 Demo 到开源机器人语音助手这条链路没有止步于它回话。把 ASR 和 LLM 接进/api/state/doa和你自己的录音循环同一个骨架就能长出客服、教育、家庭助理三种形态变的只有应用层那一截。去 examples 目录挑个脚本跑起来亲眼看到它转头的瞬间再决定往哪个方向长。【免费下载链接】reachy_miniReachy Minis SDK项目地址: https://gitcode.com/GitHub_Trending/re/reachy_mini创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考