🎯本系列文档基于 convoai_v1_soseos.tmpl.json 图模板,用大白话 + Mermaid 图 + 表格,解释 Agora Conversational AI Agent 的 VAD 和轮次检测技术实现。
文档目录
| # | 文档 | 讲什么 | 链接 |
|---|---|---|---|
| 1 | VAD 语音活动检测 | 用户什么时候开始/停止说话?声学 vs 语义、BVC、AIVAD | 01 - VAD 语音活动检测技术实现(小白版) |
| 2 | 轮次检测 | VAD 和 ASR 怎么对齐?什么时候通知 LLM 回复? | 02 - 轮次检测技术实现(小白版) |
整体架构一图流
flowchart TB
User["👤 用户"] --> RTC["RTC 实时通道"]
RTC --> A3A["3A 音频处理"]
A3A --> VAD["vad<br/>VAD 检测 SOS/EOS"]
VAD --> PF["asr_prefilter<br/>音频过滤"]
PF --> ASR["asr<br/>语音转文字"]
VAD --> TD["main/turn_detector<br/>轮次协调"]
PF --> TD
ASR --> PF
TD --> CTX["context"] --> LLM["llm"] --> TTS["tts"] --> RTC
style VAD fill:#4A90D9,color:#fff
style TD fill:#E67E22,color:#fff
style LLM fill:#27AE60,color:#fff
核心概念速查
| 术语 | 英文 | 一句话 |
|---|---|---|
| VAD | Voice Activity Detection | 检测用户是否在说话 |
| SOS | Start of Speech | 用户开始说话的信号 |
| EOS | End of Speech | 用户说完/停顿的信号 |
| ASR | Automatic Speech Recognition | 把语音变成文字 |
| BVC | Background Voice Cancellation | 消除旁人说话,只留主说话人 |
| 轮次 | Turn | 用户说一句话 → Agent 回复,算一轮 |
| 打断 | Interrupt | Agent 说话时用户插嘴 |
📎 图模板源码:templates_v2/convoai_v1_soseos.tmpl.json
📎 默认配置:defaults.json → parameters.sos_eos / parameters.turn_detector
No comments yet.