ESC
输入关键词搜索文章
目录

实时通信(五):数字人应用,ASR/LLM/TTS/Avatar 如何接进 RTC

ASR听懂用户
LLM生成回复
TTS合成语音
Avatar驱动形象

本篇先解决哪些词

RTC 是承载实时音视频的通信底座;SFU 是负责转发媒体流的实时通信服务器;ASR 把用户语音转成文字;LLM 根据上下文生成回复;TTS 把文字合成语音;Avatar 生成或驱动数字人形象;VAD 判断用户是否正在说话;barge-in 是用户插话打断系统回复。数字人实时通信就是把这些模块接进 RTC 的低延迟闭环。

第一章
数字人不是视频生成模型,而是实时闭环系统

一个能对话的数字人系统,至少包含用户上行音频、ASR、LLM、TTS、Avatar、下行音视频播放和打断控制。ASR 是自动语音识别,把声音转文字;LLM 是大语言模型,负责理解上下文并生成回复;TTS 是语音合成,把文字变成声音;Avatar 是数字人形象生成或驱动模块。RTC 在这里不是外围模块,而是整条体验链路的时钟:用户什么时候说话、系统什么时候开始听、什么时候出首 token、什么时候出首音频、什么时候出首帧,都会反映到互动感上。

sequenceDiagram
    participant U as User Browser
    participant R as RTC/SFU
    participant A as ASR
    participant L as LLM
    participant T as TTS
    participant V as Avatar
    U->>R: WebRTC uplink audio
    R->>A: audio chunks
    A->>L: partial/final transcript
    L->>T: streaming tokens
    T->>V: audio chunks
    V->>R: video frames + audio
    R->>U: WebRTC downlink media
    U-->>R: interrupt / barge-in
第二章
延迟预算要分段算

数字人延迟不是一个总数字。更有用的拆法是:VAD(Voice Activity Detection,语音活动检测)检测到用户停顿的时间、ASR partial 首字时间、LLM 首 token、TTS 首音频 chunk、Avatar 首视频帧、编码和 WebRTC 播放缓冲。这里的 token 是大模型生成文本的基本片段,chunk 是流式系统分批吐出的音频或文本小块,TTFA 是 Time To First Audio,表示从请求 TTS 到听到第一段音频的时间。只有逐段记录,才知道该优化模型还是优化 RTC。

阶段关键指标优化方向
上行 RTCaudio RTT、uplink loss、jitter buffer音频优先、TURN 兜底、近端 SFU
ASRpartial latency、final latency流式识别、端点检测、热词
LLMfirst token、tokens/s小模型路由、缓存、流式输出
TTSTTFA、chunk cadence流式 TTS、短句切分、音色缓存
Avatarfirst frame、FPS、A/V drift轻量模型、滑窗、GPU 队列隔离
下行 RTCdownlink bitrate、freeze、render delay分层编码、降级策略、jitter buffer 控制
第三章
打断是实时数字人的分水岭

用户在数字人说话时插话,系统必须快速停止旧回复、清空或淡出 TTS/Avatar 队列、把新上行音频送入 ASR,并确保下行媒体不会继续播放旧内容。这叫 barge-in 或 interrupt。没有打断,数字人更像播片;有打断,才像对话。

打断不是只停 LLM

如果只取消 LLM 请求,但 TTS 缓冲、Avatar 帧队列、SFU 下行 buffer 还在继续,用户仍会听到旧话。打断必须跨 ASR、LLM、TTS、Avatar 和 RTC 播放队列统一传播。

第四章
工程落地:先保声音,再保嘴型,最后保画质

数字人弱网降级要有优先级。声音是对话的最低可用层,必须优先保证;嘴型同步决定“像不像在说话”;画质、分辨率、背景和身体动作可以后降级。生产系统常见策略包括只降视频不降音频、Avatar 降 FPS、低清层订阅、暂停复杂背景、切纯语音模式。

最终目标:实时数字人的 RTC 设计,不是追求永远高清,而是在弱网、模型抖动和并发压力下,仍然让用户觉得“它听见了、回应了、没有失控”。