Поделиться через


Получение идентификатора профиля говорящего для личного голоса

Чтобы использовать личный голос в приложении, необходимо получить идентификатор профиля докладчика. Идентификатор профиля говорящего используется для создания синтезированного звука с предоставленным текстовым вводом.

Вы создаете идентификатор профиля говорящего на основе словесного согласия говорящего и звукового запроса (чистый образец голоса человека в диапазоне от 5 до 90 секунд). Характеристики голоса пользователя кодируются в speakerProfileId свойстве, используемом для преобразования текста в речь. Дополнительные сведения см. в статье об использовании личного голоса в приложении.

Примечание.

Идентификатор личного голосового голоса и идентификатор профиля докладчика не совпадают. Вы можете выбрать личный идентификатор голоса, но идентификатор профиля докладчика создается службой. Персональный идентификатор голоса используется для управления личным голосом. Идентификатор профиля говорящего используется для преобразования текста в речь.

Вы предоставляете звуковые файлы из общедоступного URL-адреса (PersonalVoices_Create) или отправляете звуковые файлы (PersonalVoices_Post).

Запрос формата звука

Поддерживаемые форматы для звуковых файлов запроса:

Формат Частота выборки Скорость глубину в битах.
MP3 16 кГц, 24 кГц, 44,1 кГц, 48 кГц 128 кб/с, 192 кб/с, 256 кб/с, 320 кб/с /
WAV 16 кГц, 24 кГц, 44,1 кГц, 48 кГц / 16-разрядная, 24-разрядная, 32-разрядная

Создание личного голоса из файла

В этом сценарии аудиофайлы должны быть доступны локально.

Чтобы создать личный голос и получить идентификатор профиля говорящего, используйте PersonalVoices_Post операцию пользовательского API голосовой связи. Создайте текст запроса в соответствии со следующими инструкциями:

Выполните HTTP-запрос POST с помощью URI, как показано в следующем 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-адреса

В этом сценарии звуковые файлы уже должны храниться в контейнере Хранилище BLOB-объектов Azure.

Чтобы создать личный голос и получить идентификатор профиля говорящего, используйте PersonalVoices_Create операцию пользовательского API голосовой связи. Создайте текст запроса в соответствии со следующими инструкциями:

  • Задайте обязательное свойство projectId. См. статью о создании проекта.
  • Задайте обязательное свойство consentId. См . инструкции по добавлению согласия пользователя.
  • Задайте обязательное свойство audios. В свойстве audios задайте следующие свойства:
    • Задайте для требуемого containerUrl свойства URL-адрес контейнера Хранилище BLOB-объектов Azure, содержащего звуковые файлы. Используйте подписанные URL-адреса (SAS) для контейнера с разрешениями на чтение и список.
    • Задайте требуемое extensions свойство расширениям звуковых файлов.
    • При необходимости задайте prefix для свойства префикс для имени большого двоичного объекта.

Выполните HTTP-запрос PUT с помощью URI, как показано в следующем 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

Следующие шаги