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.summary
programu 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, vp9 lub av1. 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_embedded lub 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 transparent ) |
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.