Uzyskiwanie identyfikatora profilu osoby mówiącej dla osobistego głosu
Aby używać osobistego głosu w aplikacji, musisz uzyskać identyfikator profilu osoby mówiącej. Identyfikator profilu osoby mówiącej służy do generowania syntetyzowanego dźwięku z podanym tekstem.
Utworzysz identyfikator profilu osoby mówiącej na podstawie słownej instrukcji wyrażania zgody osoby mówiącej i monitu audio (czystej próbki głosu ludzkiego z zakresu od 5 do 90 sekund). Cechy głosu użytkownika są kodowane we właściwości używanej speakerProfileId
do zamiany tekstu na mowę. Aby uzyskać więcej informacji, zobacz Używanie głosu osobistego w aplikacji.
Uwaga
Osobisty identyfikator głosu i identyfikator profilu osoby mówiącej nie są takie same. Możesz wybrać osobisty identyfikator głosu, ale identyfikator profilu osoby mówiącej jest generowany przez usługę. Osobisty identyfikator głosu służy do zarządzania głosem osobistym. Identyfikator profilu osoby mówiącej jest używany do zamiany tekstu na mowę.
Należy podać pliki audio z publicznie dostępnego adresu URL (PersonalVoices_Create) lub przekazać pliki audio (PersonalVoices_Post).
Format dźwięku monitu
Obsługiwane formaty plików audio monitu to:
Formatuj | Częstotliwość próbkowania | Szybkość transmisji bitów | Głębokość bitu |
---|---|---|---|
mp3 | 16 kHz, 24 kHz, 44,1 kHz, 48 kHz | 128 kb/s, 192 kb/s, 256 kb/s, 320 kb/s | / |
wav | 16 kHz, 24 kHz, 44,1 kHz, 48 kHz | / | 16-bitowy, 24-bitowy, 32-bitowy |
Tworzenie osobistego głosu na podstawie pliku
W tym scenariuszu pliki audio muszą być dostępne lokalnie.
Aby utworzyć osobisty głos i uzyskać identyfikator profilu osoby mówiącej, użyj PersonalVoices_Post operacji niestandardowego interfejsu API głosu. Skonstruuj treść żądania zgodnie z następującymi instrukcjami:
- Ustaw wymaganą
projectId
właściwość. Zobacz Tworzenie projektu. - Ustaw wymaganą
consentId
właściwość. Zobacz Dodawanie zgody użytkownika. - Ustaw wymaganą
audiodata
właściwość. W tym samym żądaniu można określić co najmniej jeden plik audio.
Utwórz żądanie HTTP POST przy użyciu identyfikatora URI, jak pokazano w poniższym przykładzie PersonalVoices_Post .
- Zastąp
YourResourceKey
ciąg kluczem zasobu usługi Mowa. - Zastąp
YourResourceRegion
element regionem zasobu usługi Mowa. - Zastąp
JessicaPersonalVoiceId
ciąg osobistym wybranym identyfikatorem głosu. Identyfikator uwzględniający wielkość liter będzie używany w identyfikatorze URI osobistego głosu i nie można go później zmienić.
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"
Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:
{
"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
Użyj właściwości , aby zintegrować osobisty głos w aplikacji do zamiany tekstu na mowę. Aby uzyskać więcej informacji, zobacz Używanie głosu osobistego w aplikacji.
Nagłówek odpowiedzi zawiera Operation-Location
właściwość . Użyj tego identyfikatora URI, aby uzyskać szczegółowe informacje o operacji PersonalVoices_Post . Oto przykład nagłówka odpowiedzi:
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
Tworzenie osobistego głosu na podstawie adresu URL
W tym scenariuszu pliki audio muszą być już przechowywane w kontenerze usługi Azure Blob Storage.
Aby utworzyć osobisty głos i uzyskać identyfikator profilu osoby mówiącej, użyj PersonalVoices_Create operacji niestandardowego interfejsu API głosu. Skonstruuj treść żądania zgodnie z następującymi instrukcjami:
- Ustaw wymaganą
projectId
właściwość. Zobacz Tworzenie projektu. - Ustaw wymaganą
consentId
właściwość. Zobacz Dodawanie zgody użytkownika. - Ustaw wymaganą
audios
właściwość. W ramachaudios
właściwości ustaw następujące właściwości:- Ustaw wymaganą
containerUrl
właściwość na adres URL kontenera usługi Azure Blob Storage, który zawiera pliki audio. Użyj sygnatur dostępu współdzielonego (SAS) dla kontenera z uprawnieniami do odczytu i listy. - Ustaw wymaganą
extensions
właściwość na rozszerzenia plików audio. - Opcjonalnie ustaw właściwość , aby ustawić
prefix
prefiks nazwy obiektu blob.
- Ustaw wymaganą
Utwórz żądanie HTTP PUT przy użyciu identyfikatora URI, jak pokazano w poniższym przykładzie PersonalVoices_Create .
- Zastąp
YourResourceKey
ciąg kluczem zasobu usługi Mowa. - Zastąp
YourResourceRegion
element regionem zasobu usługi Mowa. - Zastąp
JessicaPersonalVoiceId
ciąg osobistym wybranym identyfikatorem głosu. Identyfikator uwzględniający wielkość liter będzie używany w identyfikatorze URI osobistego głosu i nie można go później zmienić.
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".
Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:
{
"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
Użyj właściwości , aby zintegrować osobisty głos w aplikacji do zamiany tekstu na mowę. Aby uzyskać więcej informacji, zobacz Używanie głosu osobistego w aplikacji.
Nagłówek odpowiedzi zawiera Operation-Location
właściwość . Użyj tego identyfikatora URI, aby uzyskać szczegółowe informacje o operacji PersonalVoices_Create . Oto przykład nagłówka odpowiedzi:
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