Speech AI#
NVIDIA ACE Agent 支持使用 Chat Controller 模块的 Speech AI。Chat Controller 模块通过公开 gRPC API 为 ACE Agent 提供语音接口。Chat Controller 使用 NVIDIA Riva ASR 和 TTS 服务进行音频到文本的转录和文本到语音的合成。
有几种预配置的管线可用于 Speech AI。Speech AI 管线的功能取决于所选的管线。你可以在 deploy/docker/docker_init.sh
文件中定义你的管线。
有关 Chat Controller 公开的 gRPC API 的详细信息,请参阅 gRPC 接口 API 文档。
Chat Controller 有六个主要组件
ASR 模块
TTS 模块
语音管线管理器
聊天引擎模块
Logger 模块
UMIM 模块
ASR 模块#
ASR 模块负责调用 Riva ASR gRPC API,用于转录通过 gRPC API 接收到 Chat Controller 的音频。它支持 Riva ASR 提供的某些功能,如用于自定义的词语增强和不雅内容过滤。
词语增强允许你偏向 ASR 引擎,使其在请求时识别特定的感兴趣词语;通过在解码声学模型的输出时给予它们更高的分数。
有关词语增强以及如何在 Chat Controller 中进行词语增强的更多信息,请参阅 Riva ASR 部分。
TTS 模块#
TTS 模块负责调用 Riva TTS gRPC API,用于合成 Chat Engine 响应的音频以及 Chat Controller 通过 gRPC API 接收的其他 TTS 文本。
TTS 模块支持 IPA 自定义以改进发音。
有关 IPA 自定义以及如何在 Chat Controller 中进行自定义的更多信息,请参阅 Riva TTS 部分。
NVIDIA Riva TTS 和 Chat Controller 支持 SSML 标签以自定义 TTS 发音。一些 SSML 标签是
prosody
标签 - 支持属性,如语速和音调、情感、音量,通过这些属性我们可以控制生成的音频的不同参数。
voice name
标签 - 可用于动态更改 Chat Controller 中的语音名称。
emotion tag
标签 - 设置在 TTS 文本中,Chat Controller 也会将这些标签发送到 Audio2Face。注意
有关 SSML 文本支持的 SSML 标签的更多信息,请参阅 Riva TTS SSML 文档。
你可以将这些标签嵌入为与问题对应的文本响应模板的一部分。例如
"<speak><prosody emotion='fearful:1.0' pitch='1' volume='loud'>Hi, I am Violet, a food ordering assistant bot. How can I help you?</prosody></speak>"