将自带存储 (BYOS) 语音资源用于语音转文本

自带存储 (BYOS) 可用于以下语音转文本方案:

  • 批量听录
  • 启用了音频和听录结果日志记录的实时听录
  • 自定义语音

一对语音资源和存储帐户可以同时用于所有方案。

本文深入介绍如何在所有语音转文本方案中使用已启用 BYOS 的语音资源。 本文暗指你有一个完全配置的已启用 BYOS 的语音资源和关联的存储帐户

数据存储

使用 BYOS 时,语音服务在数据处理(听录、模型训练、模型测试)完成后不会保留任何客户工件。 但是,某些并非源自用户内容的元数据将存储在语音服务本地。 例如,在自定义语音识别方案中,服务会保留有关自定义终结点的某些信息,例如它们使用的模型。

与 BYOS 关联的存储帐户存储以下数据:

注意

本部分中的可选意味着可以将特定项目存储在与 BYOS 关联的存储帐户中,但不是必需的。 如果需要,可以将其存储在其他位置。

批量听录

  • 源音频(可选)
  • 批量听录结果

启用音频和听录结果日志记录的实时听录

  • 音频和听录结果日志

自定义语音

  • 用于模型训练和测试的数据集源文件(可选)
  • 与已启用 BYOS 的语音资源托管的自定义模型相关的所有数据和元数据(包括用于模型训练和测试的数据集副本)

批量听录

批量听录用于在存储中听录大量音频数据。 如果不熟悉批量听录,请先参阅此文章

执行以下步骤,使用已启用 BYOS 的语音资源执行批量听录:

  1. 按照本指南中的说明开始批量听录。

    重要

    请勿在听录请求中使用 destinationContainerUrl 参数。 如果使用 BYOS,听录结果会自动存储在与 BYOS 关联的存储帐户中。

    如果使用 destinationContainerUrl 参数,它会正常工作,但由于临时使用 SAS,数据的安全性会显著降低。 请参阅此处的详细信息。

  2. 听录完成后,根据本指南获取听录结果。 请考虑使用 sasValidityInSeconds 参数(请参阅以下部分)。

语音服务使用与 BYOS 关联的存储帐户中的 customspeech-artifacts Blob 容器来存储中间和最终听录结果。

注意

语音服务依赖预定义的 Blob 容器路径和文件名来实现批量听录模块正常运行。 不要移动、重命名或以任何方式更改容器的 customspeech-artifacts 内容。

如果不这样做,可能会导致难以调试 4xx 和 5xx 服务错误。

此外,请勿生成直接使用容器文件和文件夹 customspeech-artifacts 的解决方案。 使用标准工具与批量听录进行交互。 请参阅“批量听录”部分中的详细信息。

通过 REST API 获取批量听录结果

语音转文本 REST API 完全支持已启用 BYOS 的语音资源。 但是,由于数据现在存储在已启用 BYOS 的存储帐户中,因此获取听录文件等请求与 BYOS 关联的存储帐户 Blob 存储(而不是语音服务内部资源)交互。 它允许对“常规”和已启用 BYOS 的语音资源使用相同的基于 REST API 的代码。

为了最大程度地提高安全性,请在请求中使用值设置为 0sasValidityInSeconds 参数,该参数会返回数据文件 URL,例如获取听录文件请求。 下面是一个示例请求 URL:

https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.1/transcriptions/3b24ca19-2eb1-4a2a-b964-35d89eca486b/files?sasValidityInSeconds=0

此类请求将直接存储帐户 URL 返回到数据文件(没有 SAS 或其他添加内容)。 例如:

"links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.chinacloudapi.cn/customspeech-artifacts/TranscriptionData/3b24ca19-2eb1-4a2a-b964-35d89eca486b_0_0.json"
      }

此格式的 URL 可确保只有具有足够访问权限(例如存储 Blob 数据读取者角色)的 Microsoft Entra 标识(用户、服务主体、托管标识)才能访问该 URL 中的数据。

警告

如果在获取听录文件请求或类似请求中省略 sasValidityInSeconds 参数,则将为每个返回的数据文件 URL 生成有效期为 5 天的用户委托 SAS。 此 SAS 由系统分配的已启用 BYOS 的语音资源的托管标识签名。 因此,即使禁用了存储帐户密钥访问,SAS 也允许访问数据。 请参阅此处的详细信息。

启用音频和听录结果日志记录的实时听录

在使用语音转文本或语音翻译时,可以启用音频输入和已识别语音的日志记录功能。 请参阅此文章中的完整说明。

如果使用 BYOS,则可以在与 BYOS 关联的存储帐户的 customspeech-audiologs Blob 容器中找到日志。

警告

日志记录数据保留 5 天。 在此时间段后,会自动删除日志。 这同样适用于已启用 BYOS 的语音资源。 如果要将日志保留更长时间,请直接从 customspeech-audiologs Blob 容器复制对应的文件和文件夹,或使用 REST API。

通过 REST API 获取实时听录日志

语音转文本 REST API 完全支持已启用 BYOS 的语音资源。 但是,由于数据现在存储在已启用 BYOS 的存储帐户中,因此获取基础模型日志等请求与 BYOS 关联的存储帐户 Blob 存储(而不是语音服务内部资源)交互。 它允许对“常规”和已启用 BYOS 的语音资源使用相同的基于 REST API 的代码。

为了最大程度地提高安全性,请在请求中使用值设置为 0sasValidityInSeconds 参数,该参数会返回数据文件 URL,例如获取基础模型日志请求。 下面是一个示例请求 URL:

https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.1/endpoints/base/en-US/files/logs?sasValidityInSeconds=0

此类请求将直接存储帐户 URL 返回到数据文件(没有 SAS 或其他添加内容)。 例如:

"links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.chinacloudapi.cn/customspeech-audiologs/be172190e1334399852185c0addee9d6/en-US/2023-07-06/152339_fcf52189-0d3f-4415-becd-5f639fd7fd6b.v2.json"
      }

此格式的 URL 可确保只有具有足够访问权限(例如存储 Blob 数据读取者角色)的 Microsoft Entra 标识(用户、服务主体、托管标识)才能访问该 URL 中的数据。

警告

如果在获取基础模型日志请求或类似请求中省略 sasValidityInSeconds 参数,则将为每个返回的数据文件 URL 生成有效期为 5 天的用户委托 SAS。 此 SAS 由系统分配的已启用 BYOS 的语音资源的托管标识签名。 因此,即使禁用了存储帐户密钥访问,SAS 也允许访问数据。 请参阅此处的详细信息。

自定义语音

借助自定义语音,可以评估应用程序与产品的语音识别并提高其准确度。 自定义语音模型可用于实时语音转文本、语音翻译和批量听录。 有关详细信息,请参阅自定义语音识别概述

对于如何将自定义语音识别与启用了 BYOS 的语音资源结合使用,尚无具体说明。 唯一的区别在于语音服务为你收集和生成的所有自定义模型相关数据的存储位置。 数据存储在与 BYOS 关联的存储帐户的以下 Blob 容器中:

  • customspeech-models - 自定义语音识别模型的位置
  • customspeech-artifacts - 所有其他自定义语音识别相关数据的位置

Blob 容器结构仅供参考,如有更改,恕不另行通知。

注意

语音服务依赖于预定义的 Blob 容器路径和文件名来让自定义语音识别模块正常运行。 请勿移动、重命名或以任何方式更改customspeech-models容器以及容器的自定义语音识别相关文件夹customspeech-artifacts的内容。

如果不这样做,则可能会导致难以调试的错误,并可能导致需要自定义模型重新训练。

此外,请勿生成直接使用容器文件和文件夹 customspeech-artifacts 的解决方案。 使用标准工具(如 REST API 和 Speech Studio)与自定义语音识别相关数据进行交互。 有关详细信息,请参阅自定义语音识别部分

将 REST API 与自定义语音识别配合使用

语音转文本 REST API 完全支持已启用 BYOS 的语音资源。 但是,由于数据现在存储在已启用 BYOS 的存储帐户中,因此 Datasets_ListFiles 等请求与 BYOS 关联的存储帐户 Blob 存储(而不是语音服务内部资源)交互。 它允许对“常规”和已启用 BYOS 的语音资源使用相同的基于 REST API 的代码。

为了最大程度地提高安全性,请在请求中使用值设置为 0sasValidityInSeconds 参数,该参数会返回数据文件 URL,例如获取数据集文件请求。 下面是一个示例请求 URL:

https://chinanorth2.api.cognitive.azure.cn/speechtotext/v3.1/datasets/8427b92a-cb50-4cda-bf04-964ea1b1781b/files?sasValidityInSeconds=0

此类请求将直接存储帐户 URL 返回到数据文件(没有 SAS 或其他添加内容)。 例如:

 "links": {
        "contentUrl": "https://<BYOS_storage_account_name>.blob.core.chinacloudapi.cn/customspeech-artifacts/AcousticData/8427b92a-cb50-4cda-bf04-964ea1b1781b/4a61ddac-5b1c-4c21-b87d-22001b0f18ab.zip"
      }

此格式的 URL 可确保只有具有足够访问权限(例如存储 Blob 数据读取者角色)的 Microsoft Entra 标识(用户、服务主体、托管标识)才能访问该 URL 中的数据。

警告

如果在获取数据集文件请求或类似请求中省略 sasValidityInSeconds 参数,则将为每个返回的数据文件 URL 生成有效期为 5 天的用户委托 SAS。 此 SAS 由系统分配的已启用 BYOS 的语音资源的托管标识签名。 因此,即使禁用了存储帐户密钥访问,SAS 也允许访问数据。 请参阅此处的详细信息。

后续步骤