Modele i platformy AI

HierSpeech++: Hierarchiczna Inferencja Variacyjna dla Syntezy Mowy Zero-Shot

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Postępy dużych modeli językowych pomogły rozwinąć generowanie dźwięku i syntezę mowy, zwłaszcza zero-shot. Neuronowe kodeki dla dyskretnych jednostek dźwięku rozszerzyły możliwości tradycyjnych systemów. Nadal jednak występują trzy ograniczenia: mała odporność i powolne wnioskowanie, z błędami wymowy, pominięciami lub powtórzeniami; silna zależność od dyskretnych jednostek lub gotowych kodeków; oraz duże zapotrzebowanie na dane treningowe. W raporcie HierSpeech++, arXiv:2311.12454, pierwsze ograniczenie dotyczy modeli autoregresyjnych.

HierSpeech++ jest szybkim i odpornym syntezatorem zero-shot do konwersji głosu oraz zamiany tekstu na mowę (TTS). Hierarchiczne podejście poprawia ekspresję, naturalność i podobieństwo do głosu mówcy także bez przykładów treningowych danego głosu. Przyjrzymy się architekturze, działaniu i wynikom.

HierSpeech++: hierarchiczne wnioskowanie wariacyjne dla syntezy zero-shot

System łączy reprezentacje semantyczne i akustyczne w hierarchicznym potoku end-to-end. Używa samonadzorowanych reprezentacji mowy jako informacji semantycznej, aby poprawić adaptację stylu. Model VITS wprowadził podejście end-to-end oparte na wariacyjnym autoenkoderze (VAE), treningu kontradyktoryjnym i przepływach normalizujących. Takie systemy mogą generować przebiegi falowe wysokiej jakości perceptualnej.

Hierarchiczny warunkowy VAE, jak w HierSpeech, dodatkowo poprawia rekonstrukcję. Pozostają jednak ograniczenia zero-shot: wysoka jakość dźwięku nie usuwa trudności z podobieństwem mówcy i kosztem obliczeń. Dyfuzyjne modele syntezy mowy dobrze adaptują głos, ale iteracyjne generowanie spowalnia wnioskowanie, zaszumione dane pogarszają odporność, a różnica między treningiem i wnioskowaniem w dwuetapowym przejściu od spektrogramu melowego do dźwięku obniża jakość.

HierSpeech++ łączy hierarchiczny syntezator, moduł superrozdzielczości oraz text-to-vec. Ulepszony warunkowy VAE korzysta z podwójnego kodowania audio, aby wzbogacić akustyczny rozkład a posteriori. Generator adaptacyjny z generowaniem warunkowym i bezwarunkowym poprawia uogólnianie poza rozkładem treningowym. Wielościeżkowy koder semantyczny oparty na teorii źródło–filtr rozdziela informacje zależne i niezależne od mówcy. Hierarchiczne reprezentacje stopniowo dopasowują się do głosu docelowego. Dwukierunkowa sieć transformatorów przepływów normalizujących poprawia adaptację i ogranicza rozbieżność między treningiem a wnioskowaniem.

W pełni równoległy system ma umożliwiać kontrolę i przenoszenie stylu oraz prozodii, skalowanie danych i podnoszenie częstotliwości próbkowania z 16 do 48 kHz, a także jakość na poziomie ludzkim w konwersji głosu i TTS zero-shot.

Komponenty i architektura

Hierarchiczny syntezator, SpeechSR oraz text-to-vec (TTV) współpracują, umożliwiając trening poszczególnych modułów i wykorzystanie dużych zbiorów mowy o niskiej rozdzielczości do klonowania głosu.

Reprezentacje mowy

System przetwarza podstawowe audio przy 16 kHz, a SpeechSR podnosi częstotliwość do 48 kHz, poprawiając jakość perceptualną. Reprezentacje semantyczne i akustyczne pozostają niskorozdzielcze. Do odtworzenia pasma sygnału częstotliwość próbkowania musi wynosić co najmniej dwa razy tyle, co jego najwyższa składowa. Uwaga: ogólne stwierdzenie oryginału o paśmie ludzkich częstotliwości poniżej 4 kHz nie jest tu powtarzane jako zweryfikowana informacja.

Tradycyjne TTS używa spektrogramu melowego jako pośredniej cechy akustycznej, wyznaczanej z przebiegu przez krótkoczasową transformatę Fouriera (STFT). Cechy te zawierają treść, wymowę i informacje o głosie, co utrudnia ich przewidywanie i może powodować błędy wymowy, małe podobieństwo lub nadmierne wygładzanie.

Do ciągłej reprezentacji semantycznej przebiegu wykorzystuje się Wav2Vec. Takie reprezentacje mogą dobrze działać dla rozbudowanego modelu jednojęzycznego, ale odporność i ekspresja klonowania zero-shot, szczególnie wielojęzycznego, pozostają wyzwaniem.

Hierarchiczny syntezator mowy

Podstawowy moduł można trenować na samym audio, bez transkrypcji i identyfikatorów mówcy. Wcześniejsze modele zastępowały spektrogram melowy liniowym; oryginał omawia związane z tym ograniczenia przez rozbieżność KL, okresowość wysokości głosu, PESQ, ocenę dźwięczności i odległość spektrogramów. Podwójny koder akustyczny ma wychwytywać bogatszą reprezentację. Koder przebiegu wydobywa informacje z surowego audio, łączy je z reprezentacją spektrogramu liniowego i projektuje wspólną reprezentację akustyczną.

Wielościeżkowa reprezentacja samonadzorowana rozdziela semantykę zależną i niezależną od mówcy. Informacje językowe pobiera się ze środkowej warstwy MMS. Częstotliwość podstawowa pomaga rozdzielić składowe i umożliwia ręczne sterowanie konturem wysokości głosu. Reprezentacja językowa warunkuje hierarchiczne tworzenie przebiegu.

Reprezentacje akustyczne z przebiegu i spektrogramu służą rekonstrukcji audio, a hierarchiczne wnioskowanie wariacyjne łączy je z wielościeżkowymi reprezentacjami językowymi. Hierarchiczny generator adaptacyjny (HAG) tworzy próbki od semantyki do przebiegu; reprezentacje stylu i akustyki trafiają do generatorów źródła i przebiegu.

Text-to-vec

TTV przewiduje z tekstu częstotliwość podstawową i reprezentację semantyczną. Monotoniczne wyszukiwanie wyrównania wraz z VAE dopasowuje mowę do tekstu. Zamiast spektrogramu liniowego odtwarzana jest samonadzorowana reprezentacja, stanowiąca wyjście TTV.

Częstotliwość podstawową przewiduje się z czterokrotnie większą rozdzielczością niż reprezentacje samonadzorowane, a warunkowa reprezentacja tekstu jest informacją a priori. Semantyka pozwala przenosić prozodię; reprezentacja latentna trafia do kodera fonemów, wzmacniając informację językową.

SpeechSR: superrozdzielczość mowy

Trening wykorzystuje dostępniejsze dane niskorozdzielcze, a SpeechSR podnosi próbkowanie przebiegu z 16 do 48 kHz. Konwolucję transponowaną zastępuje interpolacja najbliższego sąsiada, ograniczająca związane z nią artefakty.

Architektura

Koder treści TTV ma 16 nieprzyczynowych warstw WaveNet z jądrem 5 i rozmiarem ukrytym 256; dekoder ma osiem takich warstw, jądro 5 i rozmiar 512. Koder tekstu obejmuje trzy transformatory warunkowane prozodią i trzy bezwarunkowe, z jądrem 9, filtrem 1024, rozmiarem ukrytym 256 oraz dropout 0,2. CNN z jądrem 5 w blokach transformatora koduje sąsiedztwo i wspiera adaptację prozodii.

SpeechSR ma pojedynczy blok AMP z 32 kanałami początkowymi bez warstwy zwiększania rozdzielczości w tym bloku. Reprezentacje ukryte powiększa metoda najbliższego sąsiada. Dyskryminator MPD wykorzystuje sześć rozmiarów okien; dodatkowo stosuje się cztery dyskryminatory podpasmowe.

Wnioskowanie rozpoczyna się od reprezentacji semantycznych audio 16 kHz oraz częstotliwości podstawowej wyznaczanej algorytmem nazwanym YAPPT w oryginale. Częstotliwość normalizuje się średnią i odchyleniem standardowym źródła, a następnie denormalizuje statystykami głosu docelowego. Dla TTS system pobiera reprezentacje tekstowe zamiast mowy i używa TTV do wygenerowania reprezentacji semantycznej z podpowiedzi prozodycznej.

Eksperymenty i wyniki

Hierarchiczny syntezator trenowano na publicznym LibriTTS, najpierw na podzbiorach train-clean, a następnie z pozostałymi danymi dla lepszego przenoszenia stylu. Zwiększono też skalę danych dla różnorodności i odporności. Uwaga: jednostka „1 kHz” podana przez oryginał jako wielkość zbioru jest niejasna, dlatego nie przedstawiamy jej jako zweryfikowanej liczby.

Rekonstrukcja, resynteza i konwersja głosu

Rekonstrukcję i resyntezę oceniono siedmioma obiektywnymi miarami. Odpowiednie wyniki przedstawiono na dwóch kolejnych ilustracjach.

Konwersję głosu oceniono subiektywnie przez sMOS (podobieństwo) i nMOS (naturalność), a także trzema obiektywnymi miarami naturalności i dwiema podobieństwa.

Zero-shot porównano między innymi z AutoVC, VoiceMixer i modelami dyfuzyjnymi.

Kolejne ilustracje pokazują TTS zero-shot z zaszumionymi i bardzo zaszumionymi podpowiedziami głosowymi.

Podsumowanie

HierSpeech++ dąży do odpornej i efektywnej syntezy zero-shot, ograniczając problemy zależności od dużych zbiorów, dyskretnych jednostek i kodeków oraz powolnego wnioskowania i błędów wymowy. W pełni równoległa hierarchia ma kontrolować i przenosić styl oraz prozodię, skalować dane i podnosić próbkowanie z 16 do 48 kHz, a także osiągać jakość na poziomie ludzkim w konwersji głosu i TTS.

Kunal Kejriwal jest inżynierem backendu specjalizującym się w Pythonie, PostgreSQL, Redis oraz infrastrukturze chmurowej w GCP i AWS. Z trzyletnim doświadczeniem w budowaniu i skalowaniu systemów produkcyjnych pisze o infrastrukturze AI, systemach rozproszonych i architekturze wdrażania obciążeń uczenia maszynowego.