你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

向个人声音项目添加用户同意

使用个人语音功能时,在创建每段语音之前都必须经得用户的明确同意。 需要用户提供录制的声明,确认客户(Azure AI 语音资源所有者)将创建并使用其语音。

若要将用户同意添加到个人声音项目中,可以从可公开访问的 URL 提供预先录制的同意音频文件 (Consents_Create),也可以上传音频文件 (Consents_Post)。

你需要用户说出同意声明的录音。

可以从文本转语音 GitHub 存储库获取每个区域设置的同意声明文本。 请参阅 verbal-statement-all-locales.txt,了解同意声明。 下面是 en-US 区域设置的示例:

"I [state your first and last name] am aware that recordings of my voice will be used by [state the name of the company] to create and use a synthetic version of my voice."

有关同意音频文件支持的格式,请参阅下表:

Format 采样率 比特率 位深度
mp3 16 kHz、24 kHz、44.1 kHz、48 kHz 128 kbps、192 kbps、256 kbps、320 kbps /
wav 16 kHz、24 kHz、44.1 kHz、48 kHz / 16 位、24 位、32 位

在此方案中,音频文件必须位于本地。

要从本地音频文件添加对个人语音项目的同意,请使用定制语音 API 的 Consents_Post 操作。 根据以下说明构造请求正文:

  • 设置所需的 projectId 属性。 请参阅创建项目
  • 设置所需的 voiceTalentName 属性。 以后无法更改发音人姓名。
  • 设置所需的 companyName 属性。 以后无法更改公司名称。
  • 使用许可音频文件设置所需的 audiodata 属性。
  • 设置所需的 locale 属性。 这应是同意的区域设置。 以后无法更改此区域设置。 可在此处查找文本到语音区域设置列表。

使用 URI 发出 HTTP POST 请求,如以下 Consents_Post 示例所示。

  • YourResourceKey 替换为语音资源密钥。
  • YourResourceRegion 替换为语音资源区域。
  • JessicaConsentId 替换为所选的同意 ID。 同意的 URI 中将使用区分大小写的 ID 并且此内容以后无法更改。
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourResourceKey" -F 'description="Consent for Jessica voice"' -F 'projectId="ProjectId"' -F 'voiceTalentName="Jessica Smith"' -F 'companyName="Contoso"' -F 'audiodata=@"D:\PersonalVoiceTest\jessica-consent.wav"' -F 'locale="en-US"' "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/consents/JessicaConsentId?api-version=2024-02-01-preview"

你应该会收到以下格式的响应正文:

{
  "id": "JessicaConsentId",
  "description": "Consent for Jessica voice",
  "projectId": "ProjectId",
  "voiceTalentName": "Jessica Smith",
  "companyName": "Contoso",
  "locale": "en-US",
  "status": "NotStarted",
  "createdDateTime": "2024-09-01T05:30:00.000Z",
  "lastActionDateTime": "2024-09-02T10:15:30.000Z"
}

响应头包含 Operation-Location 属性。 使用此 URI 获取有关 Consents_Post 操作的详细信息。 以下是响应头示例:

Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/070f7986-ef17-41d0-ba2b-907f0f28e314?api-version=2024-02-01-preview
Operation-Id: 070f7986-ef17-41d0-ba2b-907f0f28e314

在此方案中,音频文件必须已存储在 Azure Blob 存储容器中。

若要从音频文件的 URL 添加对个人语音项目的同意,请使用自定义声音 API 的 Consents_Create 操作。 根据以下说明构造请求正文:

  • 设置所需的 projectId 属性。 请参阅创建项目
  • 设置所需的 voiceTalentName 属性。 以后无法更改发音人姓名。
  • 设置所需的 companyName 属性。 以后无法更改公司名称。
  • 设置所需的 audioUrl 属性。 发音人同意音频文件的 URL。 使用包含共享访问签名 (SAS) 令牌的 URI。
  • 设置所需的 locale 属性。 这应是同意的区域设置。 以后无法更改此区域设置。 可在此处查找文本到语音区域设置列表。

使用 URI 发出 HTTP PUT 请求,如以下 Consents_Create 示例所示。

  • YourResourceKey 替换为语音资源密钥。
  • YourResourceRegion 替换为语音资源区域。
  • JessicaConsentId 替换为所选的同意 ID。 同意的 URI 中将使用区分大小写的 ID 并且此内容以后无法更改。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
  "description": "Consent for Jessica voice",
  "projectId": "ProjectId",
  "voiceTalentName": "Jessica Smith",
  "companyName": "Contoso",
  "audioUrl": "https://contoso.blob.core.windows.net/public/jessica-consent.wav?mySasToken",
  "locale": "en-US"
} '  "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/consents/JessicaConsentId?api-version=2024-02-01-preview"

你应该会收到以下格式的响应正文:

{
  "id": "JessicaConsentId",
  "description": "Consent for Jessica voice",
  "projectId": "ProjectId",
  "voiceTalentName": "Jessica Smith",
  "companyName": "Contoso",
  "locale": "en-US",
  "status": "NotStarted",
  "createdDateTime": "2024-09-01T05:30:00.000Z",
  "lastActionDateTime": "2024-09-02T10:15:30.000Z"
}

响应头包含 Operation-Location 属性。 使用此 URI 获取有关 Consents_Create 操作的详细信息。 以下是响应头示例:

Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/070f7986-ef17-41d0-ba2b-907f0f28e314?api-version=2024-02-01-preview
Operation-Id: 070f7986-ef17-41d0-ba2b-907f0f28e314

后续步骤