目标管线概览

Article detail

学习笔记

2025/11/19 · 11 分钟阅读

目标管线概览

目标管线概览
唤醒:Porcupine 或自写 wakeword → 通知 UI 切到“倾听”表情。
STT:whisper.cpp(本地)或 Azure Speech(云端) → 输出文本、置信度。
回复生成:先使用规则映射,逐步替换为真实 LLM(OpenAI、Azure、Qwen 等)。
TTS 播报:Coqui/piper(本地)或 Azure/ElevenLabs → 生成 wav 音频。
Live2D 动作:根据情绪标记切表情,播放 TTS 时驱动嘴型,结束后回到 idle。
阶段拆分与实现建议
阶段 1:本地规则回复 + 对话气泡(已完成基础)
buildDialogResponse() 继续扩写关键词 → 回复 → 情绪。
默认分支也返回一句朵妹专属台词,保证任何识别结果都有回应。
voice:dialog 事件已经展示在对话气泡,可进一步设计 UI(例如叠加图标、支持多条历史)。
阶段 2:接入真实 LLM(可选)
准备:获取 OpenAI/Azure/Qwen API key(建议存放 .env)。
实现:在 buildDialogResponse() 中改为:
先把识别的文本发给 LLM(可带 prompt,如「你是朵妹酱,要温柔活泼回复」)。
拿到回复后摘要情绪(简单规则或情感模型)。
落地:
在主进程新建 callLLM(text),内部用 fetch 或 axios 调用 API。
失败时回退到本地规则。
可选增强:记住会话上下文、加入 system prompt 控制口吻。
阶段 3:本地 TTS + 嘴型同步
选型:先用 piper 或 Coqui TTS 输出 wav。
例如安装 piper-tts, 下载中文模型,命令行:piper --model xxx.onnx --output reply.wav --text "嗨嗨"。
Node 主进程可用 child_process.spawn 生成音频,或直接调用 python 脚本。
播放与同步:
渲染层用

评论

动作测试