Architecture

Please make sure you read the glossary to have a better understanding of this section.

High-Level Architecture Schema

high-level_architecture_schema.svg

场景


此场景描述了上述模式的步骤。请注意,大多数交互都是通过 WebSockets 完成的。

  1. 客户端 (web 应用程序等) 发出 HTTP 请求,以获取关于 Leon 的一些信息。
  2. HTTP API 向客户端响应信息。
  3. 用户用麦克风说话。
  4. .
    • a. 如果启动了 hotword server,如果用户通过说 Leon 给他打电话,Leon 会监听 (离线)。
    • b. 如果 Leon 知道用户在给他打电话,Leon 会通过 web socket 向主服务器发出一条消息。现在 Leon 正在监听用户 (离线)。
    • c.用户说你好!客户端将音频输入转换为音频块。
  5. ASR 将音频斑点转换为波形文件。
  6. STT 解析器将波形文件转换为字符串 (Hello)。
    1. 用户接收字符串,并将字符串转发给 NLU。
    2. 或用户类型 Hello!用他们的键盘 (忽略步骤 1 到 7)。你好!字符串转发给 NLU。
  7. NLU 对字符串进行分类,并提取分类。
  8. 如果启用了协作记录器,则将分类发送到协作记录器。
  9. 大脑创建一个子进程并执行所选择的模块。
  10. 如果启用了同步,并且模块有此选项,则同步内容。
  11. 大脑创建一个答案,并将其转发给 TTS 合成器。
  12. TTS 合成器将文本答案 (并以文本形式发送给用户) 转换为客户端播放的音频缓冲区。