使用文本转语音 API

已完成

与 Azure AI 语音转文本 API 类似,Azure AI 语音服务提供其他 REST API 用于语音合成

  • 文本转语音 API,这是执行语音合成的主要方式。
  • 批处理合成 API,旨在支持将大量文本转换为音频的批处理操作(例如,从源文本生成音频书籍)

可以在文本转语音 REST API 文档中详细了解 REST API。 在实践中,大多数启用了语音的交互式应用程序会通过(编程)特定于语言的 SDK 来使用 Azure AI 语音服务。

使用 Azure AI 语音 SDK

与语音识别一样,在实践中,大多数启用了语音的交互式应用程序是通过 Azure AI 语音 SDK 构建的。

用于实现语音合成的模式类似于语音识别的模式:

A diagram showing how a SpeechSynthesizer object is created from a SpeechConfig and AudioConfig, and its SpeakTextAsync method is used to call the Speech API.

  1. 使用 SpeechConfig 对象封装连接到 Azure AI 语音资源所需的信息。 具体来说,就是它的位置和键。
  2. (可选)使用 AudioConfig 为要合成的语音定义输出设备。 默认情况下,这是默认系统扬声器,但也可以指定音频文件,或是通过将此值显式设置为 null 值,可以处理直接返回的音频流对象。
  3. 使用 SpeechConfig 和 AudioConfig 创建 SpeechSynthesizer 对象。 此对象是文本转语音 API 的代理客户端。
  4. 使用 SpeechSynthesizer 对象的方法调用基础 API 函数。 例如,SpeakTextAsync() 方法使用 Azure AI 语音服务将文本转换为口述音频。
  5. 处理来自 Azure AI 语音服务的响应。 如果采用 SpeakTextAsync 方法,则结果为带有以下属性的 SpeechSynthesisResult 对象
    • AudioData
    • 属性
    • 原因
    • ResultId

成功合成语音后,Reason 属性设置为 SynthesizingAudioCompleted 枚举,AudioData 属性包含音频流(根据 AudioConfig,可能已自动发送到扬声器或文件)。