Modele i platformy AI

OpenVoice: Włączanie Uniwersalnego Klonowania Głosu

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

W syntezie mowy z tekstu (TTS), natychmiastowe klonowanie głosu (IVC) umożliwia modelowi TTS sklonowanie głosu dowolnego mówcy odniesienia przy użyciu krótkiego próbka audio, bez potrzeby dodatkowego szkolenia dla mówcy odniesienia. Ta technika jest również znana jako syntezę mowy z tekstu bez strzałów. Podejście natychmiastowego klonowania głosu pozwala na elastyczną personalizację wygenerowanego głosu i wykazuje znaczącą wartość w szerokim zakresie sytuacji rzeczywistych, w tym dostosowanych czatbotów, tworzenia treści i interakcji między ludźmi i dużymi modelami językowymi (LLM).

Chociaż obecne ramy klonowania głosu wykonują swoją pracę dobrze, są one naznaczone kilkoma wyzwaniami w tej dziedzinie, w tym elastycznym kontrolą stylu głosu, czyli modele brakuje możliwości manipulowania stylami głosu w elastyczny sposób po sklonowaniu głosu. Kolejnym dużym przeszkodą napotkanym przez obecne ramy klonowania głosu jest klonowanie głosu w różnych językach w ustawieniu zero-shot, czyli do celów szkoleniowych, obecne modele wymagają dostępu do ogromnego zbioru danych mówców wielojęzycznych lub MSML, niezależnie od języka.

Aby rozwiązać te problemy i przyczynić się do ulepszenia modeli klonowania głosu, deweloperzy pracowali nad OpenVoice, ramą klonowania głosu, która replikuje głos dowolnego użytkownika i generuje mowę w wielu językach przy użyciu krótkiego klipu audio od mówcy odniesienia. OpenVoice wykazuje, że modele klonowania głosu mogą replikować kolor tonu mówcy odniesienia i osiągać granularną kontrolę nad stylami głosu, w tym akcentem, rytmem, intonacją, pauzami i nawet emocjami. Co więcej, ramy OpenVoice wykazują również zdumiewające możliwości w osiąganiu klonowania głosu w różnych językach w ustawieniu zero-shot, co pozwala OpenVoice na klonowanie głosów w nowe języki bez konieczności rozległego wstępnego szkolenia dla tego języka. OpenVoice jest w stanie dostarczyć lepsze wyniki klonowania głosu, będąc jednocześnie obliczeniowo wykonalnym z kosztami operacyjnymi do 10 razy mniejszymi niż obecnie dostępne API z gorszymi wynikami.

W tym artykule porozmawiamy o ramie OpenVoice w szczegółach i odkryjemy jej architekturę, która pozwala jej na dostarczanie lepszych wyników w zadaniach klonowania głosu. Zatem zacznijmy.

OpenVoice: Włączanie Uniwersalnego Klonowania Głosu

Jak wcześniej wspomniano, klonowanie głosu, również znane jako syntezę mowy z tekstu bez strzałów, pozwala modelowi TTS na sklonowanie głosu dowolnego mówcy odniesienia przy użyciu krótkiego próbki audio, bez potrzeby dodatkowego szkolenia dla mówcy odniesienia. Klonowanie głosu zawsze było gorącym tematem badań, z istniejącymi pracami, w tym ramami XTTS i VALLE, które wyodrębniają wbudowania mówcy i/lub tokeny akustyczne z audio odniesienia, które służą jako warunek dla modelu autoregresyjnego. Model autoregresyjny generuje następnie tokeny akustyczne sekwencyjnie, a następnie dekoduje te tokeny w surowy sygnał audio.

Chociaż modele klonowania głosu autoregresyjne replikują kolor tonu w sposób godny uwagi, nie radzą sobie z manipulowaniem innymi parametrami stylu, w tym akcentem, emocjami, pauzami i rytmem. Ponadto, modele autoregresyjne doświadczają również niskiej szybkości inferencji i ich koszty operacyjne są dość wysokie. Istniejące podejścia, takie jak ramy YourTTS, zatrudniają podejście nieautoregresyjne, które wykazuje znacznie szybszą inferencję mowy nad ramami opartymi na podejściu autoregresyjnym, ale nadal nie są w stanie zapewnić użytkownikom elastycznej kontroli nad parametrami stylu. Co więcej, zarówno ramy oparte na podejściu autoregresyjnym, jak i nieautoregresyjnym wymagają dostępu do dużego zbioru danych mówców wielojęzycznych lub MSML do klonowania głosu w różnych językach.

Aby rozwiązać wyzwania stojące przed ramami klonowania głosu, deweloperzy pracowali nad OpenVoice, otwartą biblioteką klonowania głosu, która ma na celu rozwiązanie następujących wyzwań stojących przed ramami IVC.

  1. Pierwszym wyzwaniem jest umożliwienie ramom IVC elastycznej kontroli nad parametrami stylu, w tym akcentem, rytmem, intonacją i pauzami. Parametry stylu są niezbędne do generowania naturalnych rozmów i mowy, a nie monotonnego narracji tekstu wejściowego.
  2. Drugim wyzwaniem jest umożliwienie ramom IVC klonowania głosu w różnych językach w ustawieniu zero-shot.
  3. Ostatnim wyzwaniem jest osiągnięcie wysokich szybkości inferencji w czasie rzeczywistym bez pogorszenia jakości.

Aby rozwiązać pierwsze dwa wyzwania, architektura ramy OpenVoice została zaprojektowana w taki sposób, aby oddzielić składniki głosu w najlepszy możliwy sposób. Ponadto, OpenVoice generuje kolor tonu, język i inne cechy głosu niezależnie, umożliwiając ramie elastyczną manipulację poszczególnymi typami języka i stylami głosu. Rama OpenVoice rozwiązuje trzecie wyzwanie domyślnie, ponieważ oddzielna struktura redukuje złożoność obliczeniową i wymagania dotyczące rozmiaru modelu.

OpenVoice: Metodologia i Architektura

Techniczna rama OpenVoice jest skuteczna i zaskakująco prosta w implementacji. Nie jest żadnym sekretem, że klonowanie koloru tonu dla dowolnego mówcy, dodawanie nowego języka i umożliwienie elastycznej kontroli nad parametrami głosu jednocześnie może być wyzwaniem. Jest to spowodowane tym, że wykonanie tych trzech zadań jednocześnie wymaga kontrolowanych parametrów, które przecinają się przy użyciu dużej ilości kombinatorycznych zbiorów danych. Ponadto, w regularnej syntezie mowy z tekstu dla jednego mówcy, dla zadań, które nie wymagają klonowania głosu, jest łatwiej dodać kontrolę nad innymi parametrami stylu. Budując na tych, rama OpenVoice ma na celu oddzielić zadania klonowania głosu na podzadania. Model proponuje użycie podstawowego modelu TTS mówcy do kontrolowania języka i parametrów stylu, oraz zatrudnia konwerter koloru tonu, aby uwzględnić kolor tonu odniesienia w wygenerowanym głosie. Poniższy rysunek pokazuje architekturę ramy.

W swojej istocie, rama OpenVoice zatrudnia dwa komponenty: konwerter koloru tonu i podstawowy model TTS mówcy. Podstawowy model TTS mówcy jest modelem jednego mówcy lub wielu mówców, który pozwala na precyzyjną kontrolę nad parametrami stylu, językiem i akcentem. Model generuje głos, który jest następnie przekazany do konwertera koloru tonu, który zmienia kolor tonu podstawowego mówcy na kolor tonu mówcy odniesienia.

Rama OpenVoice oferuje wiele elastyczności, jeśli chodzi o podstawowy model TTS mówcy, ponieważ może zatrudniać model VITS z niewielkimi modyfikacjami, które pozwalają mu akceptować wbudowania języka i stylu w swoim predyktorze czasu trwania i kodzie tekstu. Rama może również zatrudniać modele takie jak Microsoft (MSFT ) TTS, które są tanie komercyjnie, lub może wdrożyć modele takie jak InstructTTS, które są w stanie akceptować prompty stylu. Na razie rama OpenVoice zatrudnia model VITS, chociaż inne modele są również opcjami.

Przechodząc do drugiego komponentu, konwerter koloru tonu jest komponentem encoder-decoder, który zawiera przepływ normalizujący w środku. Komponent encoder w konwerterze koloru tonu jest jednowymiarową siecią CNN, która akceptuje spektrum Fouriera krótkiego czasu podstawowego modelu TTS mówcy jako dane wejściowe. Encoder generuje mapy cech jako dane wyjściowe. Ekstraktor koloru tonu jest prostą dwuwymiarową siecią CNN, która działa na mel-spektrogramie głosu wejściowego i generuje jeden wektor cech jako dane wyjściowe, który koduje informacje o kolorze tonu. Warstwy przepływu normalizującego akceptują mapy cech wygenerowane przez encoder jako dane wejściowe i generują reprezentację cech, która zachowuje wszystkie właściwości stylu, ale eliminuje informacje o kolorze tonu. Rama OpenVoice stosuje warstwy przepływu normalizującego w odwrotnym kierunku, a następnie akceptuje reprezentacje cech jako dane wejściowe i generuje warstwy przepływu normalizującego. Rama dekoduje następnie warstwy przepływu normalizującego w surowy sygnał audio przy użyciu stosu odwróconych jednowymiarowych splotów.

Cała architektura ramy OpenVoice jest feed forward bez użycia żadnego komponentu autoregresyjnego. Komponent konwertera koloru tonu jest podobny do konwersji głosu na poziomie konceptualnym, ale różni się pod względem funkcjonalności, celów szkolenia i indukcyjnego założenia w strukturze modelu. Warstwy przepływu normalizującego mają tę samą strukturę, co modele mowy oparte na przepływie, ale różnią się pod względem funkcjonalności i celów szkolenia.

Ponadto istnieje inny sposób wyodrębniania reprezentacji cech, metoda wdrożona przez ramę OpenVoice dostarcza lepszej jakości audio. Warto również zauważyć, że rama OpenVoice nie ma zamiaru wymyślać nowych komponentów w architekturze modelu, a raczej oba główne komponenty, czyli konwerter koloru tonu i podstawowy model TTS mówcy, są oba pochodzące z istniejących prac. Głównym celem ramy OpenVoice jest utworzenie oddzielnej ramy, która oddziela kontrolę języka i stylu głosu od klonowania koloru tonu. Chociaż podejście jest dość proste, jest skuteczne, szczególnie w zadaniach kontrolowania stylów i akcentów lub nowych zadań ogólnych. Osiąganie tej samej kontroli przy użyciu połączonej ramy wymaga dużej ilości obliczeń i danych i nie ogólnie się do nowych języków.

W swojej istocie, główna filozofia ramy OpenVoice polega na oddzieleniu generowania języka i stylu głosu od generowania koloru tonu. Jedną z głównych zalet ramy OpenVoice jest to, że sklonowany głos jest płynny i wysokiej jakości, o ile podstawowy model TTS mówcy mówi płynnie.

OpenVoice: Eksperyment i Wyniki

Ocena zadań klonowania głosu jest trudnym celem z wielu powodów. Po pierwsze, istniejące prace często zatrudniają różne dane szkoleniowe i testowe, co sprawia, że porównywanie tych prac jest wewnętrznie niesprawiedliwe. Chociaż crowdsourcing może być użyty do oceny metryk, takich jak średni wynik opinii, trudność i różnorodność danych testowych będą miały znaczący wpływ na ogólny wynik. Po drugie, różne metody klonowania głosu mają różne dane szkoleniowe, a różnorodność i skala tych danych wpływają na wyniki w znaczący sposób. Wreszcie, główny cel istniejących prac często różni się od siebie, więc różnią się one pod względem funkcjonalności.

Ze względu na trzy powyższe powody, nie jest uczciwe porównywanie istniejących ram klonowania głosu w sposób liczbowy. Zamiast tego, bardziej sensowne jest porównywanie tych metod w sposób jakościowy.

Dokładne Klonowanie Koloru Tonu

Aby przeanalizować jego wyniki, deweloperzy utworzyli zestaw testowy z anonimowymi osobami, postaciami z gier i celebrytami, którzy tworzą bazę mówców odniesienia, i mają szerokie rozkład głosu, w tym zarówno neutralne próbki, jak i unikalne głosy wyraziste. Rama OpenVoice jest w stanie sklonować kolor tonu odniesienia i wygenerować mowę w wielu językach i akcentach dla dowolnego z mówców odniesienia i 4 podstawowych mówców.

Elastyczna Kontrola Nad Stylami Głosu

Jednym z celów ramy OpenVoice jest kontrolowanie stylów głosu w elastyczny sposób przy użyciu konwertera koloru tonu, który może modyfikować kolor tonu, zachowując wszystkie inne cechy i właściwości głosu.

Eksperymenty wskazują, że model zachowuje style głosu po przekonwertowaniu na kolor tonu odniesienia. W niektórych przypadkach jednak model neutralizuje emocje nieco, problem, który można rozwiązać, przekazując mniej informacji do warstw przepływu, aby nie mogły one pozbyć się emocji. Rama OpenVoice jest w stanie zachować style z głosu podstawowego dzięki użyciu konwertera koloru tonu. Pozwala to ramie OpenVoice na łatwą manipulację modelem TTS mówcy, aby kontrolować style głosu.

Klonowanie Głosu W Różnych Językach

Rama OpenVoice nie zawiera żadnych danych mówców wielojęzycznych dla nieznanego języka, a jednak jest w stanie osiągnąć prawie klonowanie głosu w różnych językach w ustawieniu zero-shot. Możliwości klonowania głosu w różnych językach ramy OpenVoice są dwojakie:

  1. Model jest w stanie sklonować kolor tonu mówcy odniesienia dokładnie, gdy język mówcy odniesienia nie jest widoczny w zbiorze danych mówców wielojęzycznych lub MSML.
  2. Ponadto, w tym samym przypadku, gdy język mówcy odniesienia nie jest widoczny, rama OpenVoice jest w stanie sklonować głos mówcy odniesienia i mówić w języku, o ile podstawowy model TTS mówcy obsługuje ten język.

Końcowe Myśli

W tym artykule porozmawiamy o ramie OpenVoice, uniwersalnej ramie klonowania głosu, która replikuje głos dowolnego użytkownika i generuje mowę w wielu językach przy użyciu krótkiego klipu audio od mówcy odniesienia. Główna intuicja za OpenVoice polega na tym, że o ile model nie musi wykonywać klonowania koloru tonu mówcy odniesienia, rama może zatrudniać podstawowy model TTS mówcy do kontrolowania języka i stylów głosu.

OpenVoice wykazuje, że modele klonowania głosu mogą replikować kolor tonu mówcy odniesienia i osiągać granularną kontrolę nad stylami głosu, w tym akcentem, rytmem, intonacją, pauzami i nawet emocjami. OpenVoice jest w stanie dostarczyć lepsze wyniki klonowania głosu, będąc jednocześnie obliczeniowo wykonalnym z kosztami operacyjnymi do 10 razy mniejszymi niż obecnie dostępne API z gorszymi wynikami.

"Inżynier z zawodu, pisarz z serca". Kunal jest technicznym pisarzem z głęboką miłością i zrozumieniem AI i ML, poświęconym uproszczeniu złożonych pojęć w tych dziedzinach poprzez swoje angażujące i informacyjne dokumentacje.