取得個人版語音的說話者設定檔識別碼
若要在應用程式中使用個人版語音,您需要取得說話者設定檔識別碼。 說話者設定檔識別碼是用來產生具有所提供文字輸入的合成音訊。
您可以根據說話者的口頭同意聲明和音訊提示來建立說話者設定檔識別碼 (5 - 90 秒之間的乾淨人聲樣本)。 使用者的語音特性會編碼在用於文字轉換語音的 speakerProfileId
屬性中。 如需詳細資訊,請參閱 在應用程式中使用個人版語音。
注意
個人版語音識別碼和說話者設定檔識別碼並不相同。 您可以選擇個人版語音識別碼,但服務會產生說話者設定檔識別碼。 個人版語音識別碼可用來管理個人版語音。 說話者設定檔識別碼可用於文字轉換語音。
您可以從可公開存取的 URL ( PersonalVoices_Create) 提供音訊檔案,或 上傳音訊檔案 (PersonalVoices_Post)。
提示音訊格式
提示音訊檔案的支援格式如下:
格式 | 採樣速率 | 位元速率 | 位元深度 |
---|---|---|---|
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 的 PersonalVoices_Post 作業。 根據下列指示來建構要求本文:
- 設定必要的
projectId
屬性。 請參閱 建立專案。 - 設定必要的
consentId
屬性。 請參閱 新增使用者同意。 - 設定必要的
audiodata
屬性。 您可以在相同的要求中指定一或多個音訊檔案。
使用 URI 提出 HTTP POST 要求,如下列 PersonalVoices_Post 範例所示。
- 以您的語音資源金鑰取代
YourResourceKey
。 - 將
YourResourceRegion
取代為您的語音資源區域。 - 將
JessicaPersonalVoiceId
取代為您選擇的個人版語音識別碼。 區分大小寫的識別碼將用於個人版語音的 URI 中,且稍後無法變更。
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourResourceKey" -F 'projectId="ProjectId"' -F 'consentId="JessicaConsentId"' -F 'audiodata=@"D:\PersonalVoiceTest\CNVSample001.wav"' -F 'audiodata=@"D:\PersonalVoiceTest\CNVSample002.wav"' "
https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/personalvoices/JessicaPersonalVoiceId?api-version=2024-02-01-preview"
您應該會收到下列格式的回應本文:
{
"id": "JessicaPersonalVoiceId",
"speakerProfileId": "3059912f-a3dc-49e3-bdd0-02e449df1fe3",
"projectId": "ProjectId",
"consentId": "JessicaConsentId",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
使用 speakerProfileId
屬性,將文字中的個人語音整合到語音應用程式中。 如需詳細資訊,請參閱 在應用程式中使用個人版語音。
回應標頭包含 Operation-Location
屬性。 使用此 URI 來取得 PersonalVoices_Post 作業的詳細資料。 以下是回應標頭的範例:
Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/1321a2c0-9be4-471d-83bb-bc3be4f96a6f?api-version=2024-02-01-preview
Operation-Id: 1321a2c0-9be4-471d-83bb-bc3be4f96a6f
從 URL 建立個人版語音
在此案例中,音訊檔案必須已儲存在 Azure Blob 儲存體容器中。
若要建立個人版語音並取得說話者設定檔識別碼,請使用自訂語音 API 的 PersonalVoices_Create 作業。 根據下列指示來建構要求本文:
- 設定必要的
projectId
屬性。 請參閱 建立專案。 - 設定必要的
consentId
屬性。 請參閱 新增使用者同意。 - 設定必要的
audios
屬性。 在audios
屬性內,設定下列屬性:- 將必要的
containerUrl
屬性設定為包含音訊檔案的 Azure Blob 儲存體容器 URL。 針對具有讀取和清單權限的容器使用 共用存取簽章 (SAS) SAS。 - 將必要的
extensions
屬性設定為音訊檔案的副檔名。 - 或者,設定
prefix
屬性,以設定 Blob 名稱的前置詞。
- 將必要的
使用 URI 提出 HTTP PUT 要求,如下列 PersonalVoices_Create 範例所示。
- 以您的語音資源金鑰取代
YourResourceKey
。 - 將
YourResourceRegion
取代為您的語音資源區域。 - 將
JessicaPersonalVoiceId
取代為您選擇的個人版語音識別碼。 區分大小寫的識別碼將用於個人版語音的 URI 中,且稍後無法變更。
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
"projectId": "ProjectId",
"consentId": "JessicaConsentId",
"audios": {
"containerUrl": "https://contoso.blob.core.windows.net/voicecontainer?mySasToken",
"prefix": "jessica/",
"extensions": [
".wav"
]
}
} ' "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/personalvoices/JessicaPersonalVoiceId?api-version=2024-02-01-preview"
# Ensure the `containerUrl` has both read and list permissions.
# Ensure the `.wav` files are located in the "jessica" folder within the container. The `prefix` matches all `.wav` files in the "jessica" folder. If there is no such folder, the prefix will match `.wav` files with names starting with "jessica".
您應該會收到下列格式的回應本文:
{
"id": "JessicaPersonalVoiceId",
"speakerProfileId": "3059912f-a3dc-49e3-bdd0-02e449df1fe3",
"projectId": "ProjectId",
"consentId": "JessicaConsentId",
"status": "NotStarted",
"createdDateTime": "2024-09-01T05:30:00.000Z",
"lastActionDateTime": "2024-09-02T10:15:30.000Z"
}
使用 speakerProfileId
屬性,將文字中的個人語音整合到語音應用程式中。 如需詳細資訊,請參閱 在應用程式中使用個人版語音。
回應標頭包含 Operation-Location
屬性。 使用此 URI 來取得 PersonalVoices_Create 作業的詳細資料。 以下是回應標頭的範例:
Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/1321a2c0-9be4-471d-83bb-bc3be4f96a6f?api-version=2024-02-01-preview
Operation-Id: 1321a2c0-9be4-471d-83bb-bc3be4f96a6f