Получение идентификатора профиля говорящего для личного голоса
Чтобы использовать личный голос в приложении, необходимо получить идентификатор профиля докладчика. Идентификатор профиля говорящего используется для создания синтезированного звука с предоставленным текстовым вводом.
Вы создаете идентификатор профиля говорящего на основе словесного согласия говорящего и звукового запроса (чистый образец голоса человека в диапазоне от 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 голосовой связи. Создайте текст запроса в соответствии со следующими инструкциями:
- Задайте обязательное свойство
projectId
. См. статью о создании проекта. - Задайте обязательное свойство
consentId
. См . инструкции по добавлению согласия пользователя. - Задайте обязательное свойство
audiodata
. В одном запросе можно указать один или несколько звуковых файлов.
Выполните 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