Właściwości syntezy wsadowej tekstu do awatara mowy

Właściwości syntezy wsadowej można pogrupować jako: właściwości związane z awatarem, właściwości związane z zadaniem wsadowym i tekst do właściwości związanych z mową, które opisano w poniższych tabelach.

Niektóre właściwości w formacie JSON są wymagane podczas tworzenia nowego zadania syntezy wsadowej. Inne właściwości są opcjonalne. Odpowiedź syntezy wsadowej zawiera inne właściwości zapewniające informacje o stanie syntezy i wynikach. Na przykład outputs.result właściwość zawiera lokalizację, z której można pobrać plik wideo zawierający wideo awatara. Z outputs.summaryprogramu możesz uzyskać dostęp do podsumowania i szczegółów debugowania.

Właściwości awatara

W poniższej tabeli opisano właściwości awatara.

Właściwości opis
avatarConfig.talkingAvatarCharacter Nazwa postaci mówionego awatara.

Obsługiwane znaki awatara można znaleźć tutaj.

Ta właściwość jest wymagana.
avatarConfig.talkingAvatarStyle Nazwa stylu mówionego awatara.

Obsługiwane style awatara można znaleźć tutaj.

Ta właściwość jest wymagana dla wstępnie utworzonego awatara i opcjonalnie dla dostosowanego awatara.
avatarConfig.customized Wartość logiczna wskazująca, czy awatar do użycia jest dostosowany awatar, czy nie. Prawda dla dostosowanego awatara i fałsz dla wstępnie utworzonego awatara.

Ta właściwość jest opcjonalna, a wartość domyślna to false.
avatarConfig.videoFormat Format wyjściowego pliku wideo może być mp4 lub webm.

Format webm jest wymagany dla przezroczystego tła.

Ta właściwość jest opcjonalna, a wartość domyślna to mp4.
avatarConfig.videoCodec Koder kodu dla wyjściowego wideo może być h264, hevc lub vp9.

Vp9 jest wymagany do przezroczystego tła. Szybkość syntezy będzie wolniejsza z koderem vp9, ponieważ kodowanie vp9 jest wolniejsze.

Ta właściwość jest opcjonalna, a wartość domyślna to hevc.
avatarConfig.bitrateKbps Szybkość transmisji bitów danych wyjściowych wideo, czyli wartość całkowita, z kb/s jednostki.

Ta właściwość jest opcjonalna, a wartość domyślna to 2000.
avatarConfig.videoCrop Ta właściwość umożliwia przycinanie danych wyjściowych wideo, co oznacza, aby wyświetlić prostokątny obszar oryginalnego wideo. Ta właściwość ma dwa pola, które definiują lewy górny wierzchołek i prawy dolny wierzchołek prostokąta.

Ta właściwość jest opcjonalna, a zachowaniem domyślnym jest wyprowadzenie pełnego filmu wideo.
avatarConfig.videoCrop.topLeft Lewy wierzchołek prostokąta dla przycinania wideo. Ta właściwość ma dwa pola x i y, aby zdefiniować położenie poziome i pionowe wierzchołka.

Ta właściwość jest wymagana, gdy właściwość properties.videoCrop jest ustawiona.
avatarConfig.videoCrop.bottomRight Prawy wierzchołek prostokąta dla przycinania wideo. Ta właściwość ma dwa pola x i y, aby zdefiniować położenie poziome i pionowe wierzchołka.

Ta właściwość jest wymagana, gdy właściwość properties.videoCrop jest ustawiona.
avatarConfig.subtitleType Typ podtytułu pliku wideo awatara może być external_file, soft_embedded, hard_embeddedlub none.

Ta właściwość jest opcjonalna, a wartość domyślna to soft_embedded.
avatarConfig.backgroundImage Dodaj obraz tła przy użyciu avatarConfig.backgroundImage właściwości . Wartość właściwości powinna być adresem URL wskazującym żądany obraz. Ta właściwość jest opcjonalna.
avatarConfig.backgroundColor Kolor tła wideo awatara, który jest ciągiem w formacie #RRGGBBAA. W tym ciągu: RR, GG, BB i AA oznaczają czerwone, zielone, niebieskie i alfa kanały z zakresem wartości szesnastkowych 00~FF. Kanał alfa kontroluje przezroczystość, z wartością 00 dla przezroczystej, wartości FF dla nieprzezroczystych i wartości z zakresu od 00 do FF w przypadku półprzezroczystości.

Ta właściwość jest opcjonalna, a wartość domyślna to #FFFFFFFF (biały).
outputs.result Lokalizacja pliku wyniku syntezy partii, który jest plikiem wideo zawierającym syntetyzowany awatar.

Ta właściwość jest tylko do odczytu.
Właściwości. DurationInMilliseconds Czas trwania danych wyjściowych wideo w milisekundach.

Ta właściwość jest tylko do odczytu.

Właściwości zadania syntezy wsadowej

W poniższej tabeli opisano właściwości zadania syntezy wsadowej.

Właściwości opis
createdDateTime Data i godzina utworzenia zadania syntezy wsadowej.

Ta właściwość jest tylko do odczytu.
opis Opis syntezy wsadowej.

Ta właściwość jest opcjonalna.
ID Identyfikator zadania syntezy wsadowej.

Ta właściwość jest tylko do odczytu.
lastActionDateTime Ostatnia data i godzina zmiany wartości właściwości stanu.

Ta właściwość jest tylko do odczytu.
właściwości Zdefiniowany zestaw opcjonalnych ustawień konfiguracji syntezy wsadowej.
properties.destinationContainerUrl Wyniki syntezy wsadowej można przechowywać w zapisywalnym kontenerze platformy Azure. Jeśli nie określisz identyfikatora URI kontenera z tokenem sygnatur dostępu współdzielonego (SAS ), usługa Mowa przechowuje wyniki w kontenerze zarządzanym przez firmę Microsoft. Sygnatura dostępu współdzielonego z zapisanymi zasadami dostępu nie jest obsługiwana. Po usunięciu zadania syntezy dane wynikowe również zostaną usunięte.

Ta opcjonalna właściwość nie jest uwzględniana w odpowiedzi podczas pobierania zadania syntezy.
properties.timeToLiveInHours Czas trwania w godzinach po utworzeniu zadania syntezy, gdy wyniki syntezy zostaną automatycznie usunięte. Maksymalny czas wygaśnięcia wynosi 744 godziny. Data i godzina automatycznego usuwania dla zadań syntezy ze stanem "Powodzenie" lub "Niepowodzenie" jest obliczana jako suma właściwości lastActionDateTime i timeToLive.

W przeciwnym razie możesz wywołać metodę syntezy usuwania, aby usunąć zadanie wcześniej.
status Stan przetwarzania syntezy wsadowej.

Stan powinien przechodzić z "NotStarted" na "Running", a na koniec na "Succeeded" lub "Failed".

Ta właściwość jest tylko do odczytu.

Właściwości zamiany tekstu na mowę

W poniższej tabeli opisano właściwości zamiany tekstu na mowę.

Właściwości opis
customVoices Niestandardowy neuronowy głos jest skojarzony z nazwą i jej identyfikatorem wdrożenia, w następujący sposób: "customVoices": {"twoja-niestandardowa nazwa-głosu": "502ac834-6537-4bc3-9fd6-140114daa66d"}

Możesz użyć nazwy głosu w synthesisConfig.voice przypadku, gdy inputKind jest ustawiona na wartość "PlainText" lub w tekście SSML danych wejściowych, gdy inputKind jest ustawiona wartość "SSML".

Ta właściwość jest wymagana do używania niestandardowego głosu. Jeśli spróbujesz użyć niestandardowego głosu, który nie jest tutaj zdefiniowany, usługa zwróci błąd.
Wejścia Zwykły tekst lub SSML do zsyntetyzowania.

Gdy właściwość inputKind jest ustawiona na "PlainText", podaj zwykły tekst, jak pokazano tutaj: "inputs": [{"content": "Tęcza ma siedem kolorów."}]. Gdy właściwość inputKind jest ustawiona na wartość "SSML", podaj tekst w języku znaczników syntezy mowy (SSML), jak pokazano tutaj: "inputs": [{"content": "<speak version=''1.0'' xml:lang=''en-US''><voice xml:lang=''en-US'''xml:gender='Female''' name='en-US-AvaMultilingualNeural''>The rainbow has seven colors."}].

Uwzględnij maksymalnie 1000 obiektów tekstowych, jeśli chcesz uzyskać wiele plików wyjściowych wideo. Oto przykładowy tekst wejściowy, który powinien być syntetyzowany do dwóch plików wyjściowych wideo: "inputs": [{"content": "syntetyzuje to do pliku"},{"content": "syntetyzuje to do innego pliku"}].

Nie potrzebujesz oddzielnych danych wejściowych tekstowych dla nowych akapitów. W dowolnej z (do 1000) wprowadzania tekstu można określić nowe akapity przy użyciu ciągu "\r\n" (nowy wiersz). Oto przykładowy tekst wejściowy z dwoma akapitami, które powinny być syntetyzowane do tego samego pliku wyjściowego audio: "inputs": [{"content": "syntetyzuje to do pliku\r\nsynthesize tego do innego akapitu w tym samym pliku"}]

Ta właściwość jest wymagana podczas tworzenia nowego zadania syntezy wsadowej. Ta właściwość nie jest uwzględniana w odpowiedzi podczas uzyskiwania zadania syntezy.
properties.billingDetails Liczba wyrazów przetworzonych i rozliczanych za pomocą niestandardowych głosów neuronowych i neuronowych (wstępnie utworzonych).

Ta właściwość jest tylko do odczytu.
synthesisConfig Ustawienia konfiguracji używane do syntezy wsadowej zwykłego tekstu.

Ta właściwość ma zastosowanie tylko wtedy, gdy właściwość inputKind jest ustawiona na wartość "PlainText".
synthesisConfig.pitch Skok danych wyjściowych dźwięku.

Aby uzyskać informacje na temat akceptowanych wartości, zobacz tabelę dostosowywanie prosody w dokumentacji języka SSML (Speech Synthesis Markup Language). Nieprawidłowe wartości są ignorowane.

Ta opcjonalna właściwość ma zastosowanie tylko wtedy, gdy właściwość inputKind jest ustawiona na wartość "PlainText".
synthesisConfig.rate Szybkość danych wyjściowych dźwięku.

Aby uzyskać informacje na temat akceptowanych wartości, zobacz tabelę dostosowywanie prosody w dokumentacji języka SSML (Speech Synthesis Markup Language). Nieprawidłowe wartości są ignorowane.

Ta opcjonalna właściwość ma zastosowanie tylko wtedy, gdy właściwość inputKind jest ustawiona na wartość "PlainText".
synthesisConfig.style Dla niektórych głosów można dostosować styl mówienia, aby wyrazić różne emocje, takie jak wesołość, empatia i spokój. Możesz zoptymalizować głos pod kątem różnych scenariuszy, takich jak obsługa klienta, audycja wiadomości i asystent głosowy.

Aby uzyskać informacje o dostępnych stylach na głos, zobacz style i role głosu.

Ta opcjonalna właściwość ma zastosowanie tylko wtedy, gdy właściwość inputKind jest ustawiona na wartość "PlainText".
synthesisConfig.voice Głos, który mówi o danych wyjściowych dźwięku.

Aby uzyskać informacje o dostępnych wstępnie utworzonych głosach neuronowych, zobacz obsługa języka i głosu. Aby użyć niestandardowego głosu, należy określić prawidłowe niestandardowe mapowanie głosu i identyfikatora wdrożenia we właściwości customVoices.

Ta właściwość jest wymagana, gdy właściwość inputKind jest ustawiona na wartość "PlainText".
synthesisConfig.volume Głośność danych wyjściowych dźwięku.

Aby uzyskać informacje na temat akceptowanych wartości, zobacz tabelę dostosowywanie prosody w dokumentacji języka SSML (Speech Synthesis Markup Language). Nieprawidłowe wartości są ignorowane.

Ta opcjonalna właściwość ma zastosowanie tylko wtedy, gdy właściwość inputKind jest ustawiona na wartość "PlainText".
inputKind Wskazuje, czy właściwość tekstowa danych wejściowych powinna być w postaci zwykłego tekstu, czy SSML. Możliwe wartości bez uwzględniania wielkości liter to "PlainText" i "SSML". Gdy właściwość inputKind jest ustawiona na wartość "PlainText", należy również ustawić właściwość voice synthesisConfig.

Ta właściwość jest wymagana.

Jak edytować tło

Interfejs API syntezy wsadowej awatara obecnie nie obsługuje ustawiania filmów w tle; obsługuje tylko statyczne obrazy tła. Jeśli jednak chcesz dodać tło do wideo podczas poprodukcji, możesz wygenerować filmy wideo z przezroczystym tłem.

Aby ustawić statyczny obraz tła, użyj avatarConfig.backgroundImage właściwości i określ adres URL wskazujący żądany obraz. Ponadto można ustawić kolor tła wideo awatara przy użyciu avatarConfig.backgroundColor właściwości .

Aby wygenerować przezroczyste wideo w tle, należy ustawić następujące właściwości na wymagane wartości w żądaniu syntezy wsadowej:

Właściwości Wymagane wartości przezroczystości tła
properties.videoFormat webm
properties.videoCodec vp9
properties.backgroundColor #00000000 (lub przezroczysty)

Clipchamp to jeden z przykładów narzędzia do edycji wideo, które obsługuje przezroczyste wideo w tle generowane przez interfejs API syntezy wsadowej.

Niektóre oprogramowanie do edycji wideo nie obsługuje webm formatu bezpośrednio i obsługuje .mov tylko format przezroczystych danych wejściowych wideo w tle, takich jak Adobe Premiere Pro. W takich przypadkach należy najpierw przekonwertować format wideo z webm na .mov za pomocą narzędzia takiego jak FFMPEG.

Wiersz polecenia FFMPEG:

ffmpeg -vcodec libvpx-vp9 -i <input.webm> -vcodec png -pix_fmt rgba metadata:s:v:0 alpha_mode="1" <output.mov>

Narzędzie FFMPEG można pobrać z ffmpeg.org. Zastąp <input.webm> ciąg i <output.mov> ścieżką lokalną i nazwą pliku w wierszu polecenia.

Następne kroki