使用 Azure AI 语音转文本 API

已完成

Azure AI 语音服务通过两个 REST API 支持语音识别:

  • 语音转文本 API,这是执行语音识别的主要方式。
  • 语音转文本短音频 API,这针对短音频流(最多 60 秒)进行了优化。

可以使用任一 API 进行交互式语音识别,具体取决于口述输入的预期长度。 还可以将语音转文本 API 用于批量听录,从而以批处理操作的形式将多个音频文件转录为文本。

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

使用 Azure AI 语音 SDK

虽然具体详细信息因所使用的 SDK(Python、C# 等)而异;不过使用语音转文本 API 时,有一种一致的模式:

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

  1. 使用 SpeechConfig 对象封装连接到 Azure AI 语音资源所需的信息。 具体来说,就是它的位置和键。
  2. (可选)使用 AudioConfig 定义要转录的音频的输入源。 默认情况下,该输入源是系统默认麦克风,但你也可以指定音频文件。
  3. 使用 SpeechConfig 和 AudioConfig 创建 SpeechRecognizer 对象。 此对象是语音转文本 API 的代理客户端。
  4. 使用 SpeechRecognizer 对象的方法调用基础 API 函数。 例如,RecognizeOnceAsync() 方法使用 Azure AI 语音服务以异步方式转录单一口述言语。
  5. 处理来自 Azure AI 语音服务的响应。 如果采用 RecognizeOnceAsync() 方法,则结果为带有以下属性的 SpeechRecognitionResult 对象
    • 持续时间
    • OffsetInTicks
    • 属性
    • 原因
    • ResultId
    • 文本

如果操作成功,则 Reason 属性具有枚举值 RecognizedSpeech,Text 属性包含听录。 Result 的其他可能值包括 NoMatch(指示已成功分析音频,但是未识别出语音)或 Canceled(指示发生了错误)(在此例中,可以检查 CancellationReason 属性的 Properties 集合以确定错误的内容)。