Super Agent Party的THA桌宠完整指南语音驱动口型与对话打断背后的原理一键打造2D角色形象【免费下载链接】super-agent-party⭐全能型AI伴侣AI桌面女友 AI虚拟主播 AI即时通讯机器人 AI浏览器 AI智能家居 AI游戏 等你能想到的一切功能项目地址: https://gitcode.com/heshengtao/super-agent-partySuper Agent Partyheshengtao/super-agent-party是一款全能型 AI 伴侣应用其中的THA 桌宠机器人是它最有灵魂的功能之一一个 Live2D 风格的 2D 角色嘴巴会随着语音实时开合还能在你开口说话时瞬间打断 AI 的播报。本文将从新手视角带你看懂「语音驱动口型」和「对话打断」背后的技术原理并教你一键打造属于自己的 2D 角色形象。什么是 THA 桌宠2D 角色口型动画的秘密THATalking Head Animation桌宠本质是一个音频驱动的会说话的头形象是预渲染的角色由一个神经网络模型ONNX 文件驱动输入 45 维姿态参数眼睛、眉毛、嘴部、头部角度等输出一帧 512×512 的角色图像动画是实时的呼吸起伏、眨眼、歪头、眼球转动都由引擎逐帧生成角色永远不会呆立口型是声音驱动的AI 说话时嘴巴的张合幅度实时跟随语音能量变化对话可被打断你一旦开口AI 立刻停止说话实现自然的抢话体验。核心代码分布在三处前端唇部追踪在 tha.js服务端姿态生成与 ONNX 渲染在 tha_engine.pyWebSocket 帧流通道在 server.py。语音驱动口型嘴巴为什么能跟着声音动口型同步的完整链路分为四步全部围绕「能量 → 幅度 → 姿态 → 画面」1. 前端实时分析语音能量AI 的 TTS 语音在播放前会先接入浏览器的 Web Audio 分析器AnalyserNode。代码每帧提取200Hz–3000Hz频段人声主频区的平均能量并设置了 12 的噪声门限——低于门限视为静音嘴巴保持闭合避免环境噪声让角色乱动嘴。关键逻辑见 tha.js2. 8Hz 高频颤动告别呆板长音一个有趣的细节如果语音是持续的啊——长音纯能量值几乎不变嘴巴就会定格。项目引入了8Hz 正弦调制让嘴幅在 30%–100% 之间高速颤动模拟真实说话时嘴唇的快速开合视觉效果瞬间活了。3. 以约 30Hz 发送到服务端幅度值经 WebSocket 以{ type: mouth, amplitude: x }形式发给后端发包频率刻意对齐渲染帧率~30Hz避免高频消息堆积。4. 后端混合进 45 维姿态tha_engine.py 中的THAPoseGenerator把口型幅度与呼吸、眨眼、情绪姿态逐帧叠加再送入 ONNX 模型渲染出 JPEG 图像帧。引擎对口型参数使用了极高的平滑系数120.0意味着前端算出的颤动幅度会被毫无保留地百分百执行——这正是口型跟得上的关键。对话打断为什么你一开口AI 就闭嘴打断Interruption功能依赖VAD 语音活动检测Silero VAD 模型麦克风持续送帧给 VAD 模型实时计算当前是人声的概率一旦概率超过阈值说明你在插话系统立即执行三件事停止所有正在播放的 TTS 音频、终止 LLM 的流式生成、通知桌宠停止说话桌宠侧的口型追踪同步停止嘴巴立刻复位闭合字幕清空。核心逻辑在 vue_methods.js 的onFrameProcessed回调中。这个开关在设置里对应是否允许被打断enabledInterruption可以按需关闭——比如在演示场景下不希望被环境声误触发。⚠️ 注意同一张截图只展示一次哦。服务端渲染30 帧每秒的 JPEG 帧流是怎么来的THA 桌宠采用**服务器端渲染Server-side Rendering**架构与前端完全解耦前端(tha.js) ──WebSocket── 服务端(/ws/tha) 发送: 口型/情绪/动作/鼠标 返回: 30fps JPEG 二进制帧服务端每个 WebSocket 连接并发运行两个任务见 server.pyrecv_loop接收流解析前端发来的emotion情绪、motion点头/摇头/歪头/鞠躬等一次性动作、mouth口型幅度、mouse鼠标跟随指令写入姿态生成器render_loop渲染流以 30fps 为目标循环调用gen.step()生成姿态 → ONNX 推理 → JPEG 编码 → 二进制帧发回前端。情绪系统同样内置在姿态引擎中happy / sad / angry / surprised / relaxed五种情绪各自映射到 45 维参数表并带平滑过渡角色会自然地喜怒哀乐。一键打造 2D 角色形象自定义模型全流程想把自己的 2D 角色变成桌宠项目内置了完整的模型管理接口功能接口说明上传自定义 ONNX 模型POST /upload_tha_model上传后自动安装为可用角色上传 macOS CoreML 模型POST /upload_tha_modelZIP 包含.mlpackage目录即可获取默认/自定义模型列表GET /get_default_tha_models、GET /get_user_tha_models前端模型选择器数据源删除自定义模型DELETE /delete_tha_model/{id}带目录安全检查防止误删相关实现在 tha_engine.py 的THAModelManager类中。内置示例模型「星莱 Lyra」位于 tha_models/Lyra/同时提供 model.onnx 与 Apple Silicon 专用的model.mlpackage两种格式。硬件加速后端一览引擎启动时按优先级自动检测加速后端无需手动配置见 tha_engine.pyTensorRTNVIDIA GPUFP16 加速CUDA / ROCmNVIDIA / AMD GPUDMLWindows 独显CoreMLApple 芯片神经引擎CPU 回退任何设备保底可用任何一步失败都会自动降级保证桌宠永远能说话。前端超分辨率小模型跑出高清画面角色由 512×512 的小模型输出前端 tha.js 基于 PixiJS 渲染时还会套用Anime4K 超分辨率网络CNNx2M / CNNx2VL 等模式把画面放大并锐化——这也是服务端在开启超分时将 JPEG 质量提到 90 的原因给超分算法提供干净的输入。透明叠加到 OBS直播场景的杀手锏THA 模型输出的是绿幕背景帧桌宠窗口可设为透明再推流给 OBS 等录屏软件观众看到的就是一个悬浮在直播画面里的 2D 角色——这也是 README_ZH.md 中「透明窗口可叠加到 OBS 推流」的实现方式。总结一张表看懂 THA 桌宠技术栈模块技术选型核心文件口型追踪Web Audio 能量分析 8Hz 调制tha.js姿态生成45 维参数 情绪/动作混合tha_engine.py图像渲染ONNX Runtime 多后端加速tha_engine.py帧流传输WebSocket 30fps JPEG 二进制server.py对话打断Silero VAD 语音活动检测vue_methods.js模型管理自定义 ONNX / CoreML 上传tha_engine.py超分辨率Anime4K CNN 网络tha.js从语音能量到嘴部开合从 VAD 打断到 30fps 帧流渲染THA 桌宠用一套「前端感知 服务端渲染」的轻量架构把 Live2D 级别的 2D 角色体验搬进了 Super Agent Party。下一个桌宠形象也许就是你自己的角色 【免费下载链接】super-agent-party⭐全能型AI伴侣AI桌面女友 AI虚拟主播 AI即时通讯机器人 AI浏览器 AI智能家居 AI游戏 等你能想到的一切功能项目地址: https://gitcode.com/heshengtao/super-agent-party创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考