共用方式為


取得個人版語音的說話者設定檔識別碼

若要在應用程式中使用個人版語音,您需要取得說話者設定檔識別碼。 說話者設定檔識別碼是用來產生具有所提供文字輸入的合成音訊。

您可以根據說話者的口頭同意聲明和音訊提示來建立說話者設定檔識別碼 (5 - 90 秒之間的乾淨人聲樣本)。 使用者的語音特性會編碼在用於文字轉換語音的 speakerProfileId 屬性中。 如需詳細資訊,請參閱在應用程式中使用個人版語音

注意

個人版語音識別碼和說話者設定檔識別碼不相同。 您可以選擇個人版語音識別碼,但服務會產生說話者設定檔識別碼。 個人版語音識別碼可用來管理個人版語音。 說話者設定檔識別碼可用於文字轉換語音。

您可以從可公開存取的 URL (PersonalVoices_Create) 提供音訊檔案,或上傳音訊檔案 (PersonalVoices_Post)。

從檔案建立個人版語音

在此案例中,音訊檔案必須在本機使用。

若要建立個人版語音並取得說話者設定檔識別碼,請使用自訂語音 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=2023-12-01-preview"

您應該會收到下列格式的回應本文:

{
  "id": "JessicaPersonalVoiceId",
  "speakerProfileId": "3059912f-a3dc-49e3-bdd0-02e449df1fe3",
  "projectId": "ProjectId",
  "consentId": "JessicaConsentId",
  "status": "NotStarted",
  "createdDateTime": "2023-04-01T05:30:00.000Z",
  "lastActionDateTime": "2023-04-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=2023-12-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=2023-12-01-preview"

您應該會收到下列格式的回應本文:

{
  "id": "JessicaPersonalVoiceId",
  "speakerProfileId": "3059912f-a3dc-49e3-bdd0-02e449df1fe3",
  "projectId": "ProjectId",
  "consentId": "JessicaConsentId",
  "status": "NotStarted",
  "createdDateTime": "2023-04-01T05:30:00.000Z",
  "lastActionDateTime": "2023-04-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=2023-12-01-preview
Operation-Id: 1321a2c0-9be4-471d-83bb-bc3be4f96a6f

下一步