Skip to content

[Proposal] 语音交互与流式逐句 TTS 播报 #8

Open

Description

@gdemoni

背景

数字人教学不仅要生成正确答案,还要让回答适合直接朗读并尽快开始播报。当前前端已能接收用户消息、调用 LangGraph Agent,并按标点切分回答后送入 TTS 播报队列。

目标

建立低延迟、可中断、可恢复的语音交互链路,让用户通过语音或文本自然提问,并获得连贯的逐句数字人播报。

当前能力

  • 支持文本消息进入后端 Agent。
  • 可结合前端 ASR 接收语音输入并转成文本。
  • Agent 输出会被整理为适合中文口语播报的内容。
  • 回答可按中文标点切分为句子,逐句送入 TTS 队列。
  • TTS 音频可驱动数字人渲染和实时播放。
  • 提示词已约束 Markdown、公式符号和长句,降低朗读障碍。

Proposal(后续完善)

  • 缩短从用户提交问题到首句开始播报的等待时间。
  • 支持用户在播报过程中打断当前回答并提出新问题。
  • 显示识别、生成、合成、播放等阶段的队列状态。
  • 对单句 TTS 合成失败增加重试、跳过和错误提示。
  • 增加语音识别置信度、空输入和环境噪声处理。
  • 统一中文、英文、数字和数学表达的朗读规则。

验收标准

  • 文本输入和语音输入均能触发完整教学问答链路。
  • 中文回答不包含影响朗读的 Markdown 标记。
  • 回答能够按自然语义切句并依次播报。
  • 用户可以停止当前播报,旧队列不会继续播放。
  • 某一句 TTS 失败时,后续对话仍可继续使用。
  • 界面能够展示识别、生成和播报的当前状态。
  • 首句延迟具有可重复测量方式和明确日志。

涉及模块

  • fronted/LiveTalking-main/llm.py
  • fronted/LiveTalking-main/ttsreal.py
  • fronted/LiveTalking-main/baseasr.py
  • fronted/LiveTalking-main/basereal.py
  • backend/agent/src/react_agent/prompts.py

Activity

  1. github-actions commented on Aug 31, 2026

    @github-actions

    你好!虽然你是主人,但我还是检测到你发了新 Issue!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions