你当前正在访问 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 位 |
从 URL 添加同意
在此方案中,音频文件必须位于本地。
要从本地音频文件添加对个人语音项目的同意,请使用定制语音 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
从 URL 添加同意
在此方案中,音频文件必须已存储在 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