适用于短音频的语音转文本 REST API 的适用场景有限。 仅在无法使用语音 SDK 的情况下使用它。
在使用适用于短音频的语音转文本 REST API 之前,请考虑以下限制:
- 使用适用于短音频的 REST API 并直接传输音频的请求最多只能包含 60 秒的音频。 与语音 SDK 相比,输入音频格式更受限制。
- 适用于短音频的 REST API 仅返回最终结果。 它不提供部分结果。
- 短音频不支持通过 REST API 进行语音翻译。 你需要使用 语音 SDK。
- 短音频不支持通过 REST API 进行批量听录和自定义语音识别。 应始终使用语音转文本 REST API 进行批量听录和自定义语音识别。
在使用适用于短音频的语音转文本 REST API 之前,你需要在身份验证过程中完成令牌交换才能访问该服务,请悉知。 有关详细信息,请参阅身份验证。
适用于短音频的 REST API 的终结点具有以下格式:
将 替换为与语音资源所在区域匹配的标识符。
在 HTTP 请求的正文中发送音频。 它必须采用下表中的格式之一:
下表列出了语音转文本请求的必需和可选标头:
此参数是 Base64 编码的 JSON,其中包含多个详细的参数。 若要了解如何生成此标头,请参阅发音评估参数。
可将以下参数包含在 REST 请求的查询字符串中。
,以星号替代不雅内容。
,从结果中删除所有不雅内容。
,包含结果中的不雅内容。
默认设置为 。
下表列出了发音评估的必需参数和可选参数:
,它显示全文、单词和音素级别的分数。
,它显示全文和单词级别的分数。
,它仅显示全文级别的分数。
默认设置为 。
,它只显示准确度分数。
,它显示更多维度的分数(例如,全文级别的流畅度分数和完整性分数、单词级别的错误类型)。
若要了解不同分数维度和单词错误类型的定义,请参阅响应属性。 默认设置为 。
下面是一个示例 JSON,其中包含发音评估参数:
下面的示例代码演示如何将发音评估参数构建到 标头中:
我们强烈建议在发布音频数据时进行流式(分块传输)上传,这可以显著减少延迟。 若要了解如何启用流式处理,请参阅不同编程语言的示例代码。
以下示例包括主机名和必需的标头。 必须注意,服务同时预期提供音频数据,但此示例未包括这些数据。 如前所述,建议进行分块,但不是非要这样做。
若要启用发音评估,可以添加以下标头。 若要了解如何生成此标头,请参阅发音评估参数。
每个响应的 HTTP 状态代码指示成功或一般错误。
这是 识别的典型响应:
这是 识别的典型响应:
这是使用发音评估进行识别的典型响应:
结果以 JSON 格式提供。 此 格式包括以下顶级字段:
字段可能包含以下值:
格式包括更多形式的已识别结果。 使用 格式时,将以 形式为 列表中的每条结果提供 。
列表中的对象可以包括:
分块传输 () 有助于降低识别延迟。 它允许语音服务在传输音频文件时开始处理该文件。 适用于短音频的 REST API 不提供部分结果或临时结果。
以下代码示例演示如何以块的形式发送音频。 只有第一个区块应该包含音频文件的标头。 是连接到相应 REST 终结点的 对象。 是音频文件在磁盘上的路径。
每个请求都需要一个授权标头。 下表说明了每个功能支持的标头:
使用 标头时,必须仅提供资源密钥。 例如:
使用 标头时,需要向 终结点发出请求。 在此请求中,用资源密钥交换一个有效期为 10 分钟的访问令牌。
另一种选择是使用 Microsoft Entra 身份验证,该身份验证也使用 标头,但使用通过 Microsoft Entra ID 颁发的令牌。 请参阅使用 Microsoft Entra 身份验证。
若要获取访问令牌,需要通过使用 和你的资源密钥来向 终结点发出请求。
终结点具有以下格式:
将 替换为与订阅所在区域匹配的标识符。
使用以下示例来创建访问令牌请求。
HTTP 示例
此示例是获取令牌的简单 HTTP 请求。 将 替换为你的语音服务的资源密钥。 如果订阅不在美国西部区域,请将 标头替换为所在区域的主机名。
响应正文包含 JSON Web 令牌 (JWT) 格式的访问令牌。
PowerShell 示例
此示例是获取访问令牌的简单 PowerShell 脚本。 将 替换为你的语音服务的资源密钥。 请务必使用与订阅匹配的正确区域终结点。 此示例目前设置为“美国西部”。
cURL 示例
cURL 是 Linux(及面向 Linux 的 Windows 子系统)中提供的一种命令行工具。 此 cURL 命令演示如何获取访问令牌。 将 替换为你的语音服务的资源密钥。 请务必使用与订阅匹配的正确区域终结点。 此示例目前设置为“美国西部”。
C# 示例
此 C# 类演示如何获取访问令牌。 在实例化该类时,传递你的语音服务的资源密钥。 如果订阅不在美国西部区域,请更改 的值,以便与订阅的区域相匹配。
Python 示例
应将访问令牌作为 标头发送到服务。 每个访问令牌的有效期为 10 分钟。 你随时可以获取新令牌,但为了最大限度地减少网络流量和延迟,建议同一令牌使用 9 分钟。
下面是向适用于短音频的语音转文本 REST API 发出的示例 HTTP 请求:
要将 Microsoft Entra 身份验证与语音转文本 REST API 配合用于短音频,需要创建访问令牌。 获取包含资源 ID 和 Microsoft Entra 访问令牌的访问令牌的步骤与使用语音 SDK 时的步骤相同。 按照此处的步骤操作:使用 Microsoft Entra 身份验证
获取资源 ID 和 Microsoft Entra 访问令牌后,可以按照以下格式构造实际的访问令牌:
需要在资源 ID 和访问令牌之间包含“aad#”前缀和“#”(哈希)分隔符。
下面是向适用于短音频的语音转文本 REST API 发出的示例 HTTP 请求: