Pierwsza uwaga: większość współczesnych systemów zamiany tekstu na mowę, takich jak AT&T, z którymi się połączyłeś, wykorzystuje łączoną syntezę mowy . Technika ta wykorzystuje dużą bazę nagrań głosu jednej osoby, wypowiadając długą kolekcję zdań - dobranych tak, aby obecna była jak największa liczba kombinacji fonemów. Synteza zdania można wykonać po prostu łącząc segmenty z tego korpusu - trudnym bitem jest połączenie ciągów w spójny i wyrazisty sposób.
Istnieją dwie duże przeszkody, jeśli chcesz użyć tej techniki, aby prezydent Obama powiedział zawstydzające słowa:
- Musisz mieć dostęp do dużej kolekcji zdań głosu docelowego, najlepiej nagranych w jednolitych warunkach nagrywania i dobrej jakości. AT&T ma budżet na nagranie kilkudziesięciu godzin tego samego głośnika w tym samym studiu, ale jeśli chcesz podrobić czyjś głos z zaledwie 5 minut nagrania, będzie to trudne.
- Istnieje znaczna ilość ręcznego wyrównywania i wstępnego przetwarzania, zanim zarejestrowany surowiec ma właściwy „format” do wykorzystania przez konkatenacyjny system syntezy mowy.
Twoja intuicja, że jest to możliwe rozwiązanie, jest ważna - pod warunkiem, że masz budżet na rozwiązanie tych dwóch problemów.
Na szczęście istnieją inne techniki, które mogą działać przy mniejszym nadzorze i mniejszej ilości danych. Dziedzina syntezy mowy zainteresowana „udawaniem” lub „naśladowaniem” jednego głosu z nagrania jest znana jako konwersja głosu . Masz nagranie A1 mówcy docelowego A mówiącego zdanie 1, i nagranie B2 źródłowego mówcy B mówiącego zdanie 2, masz na celu wyprodukowanie nagrania A2 mówcy A mówiącego zdanie 2, być może z dostępem do nagrania B1 mówcy B odtwarzającego jego głosem wypowiada się to samo co mówca docelowy.
Zarys systemu konwersji głosu jest następujący:
- Funkcje audio są wydobywane z nagrania A1 i są grupowane w klasy akustyczne. Na tym etapie jest trochę tak, jakby torby miały „a” głośnika A, wszystkie „o” głośnika A itd. Należy pamiętać, że jest to znacznie prostsza i szorstka operacja niż prawdziwe rozpoznawanie mowy - nie jesteśmy zainteresowani rozpoznając poprawnie sformułowane słowa - i nawet nie wiemy, która torba zawiera „o”, a która worek zawiera „a” - po prostu wiemy, że mamy wiele wystąpień tego samego dźwięku w każdej torbie.
- Ten sam proces stosuje się na B2.
- Klasy akustyczne z A1 i B2 są wyrównane. Aby kontynuować analogię worków, jest to równoważne sparowaniu worków z kroku 1 i 2, tak że wszystkie dźwięki, które mamy w tej torbie z głośnika A, powinny odpowiadać dźwiękom, które mamy w tej torbie z głośnika B. To dopasowanie jest o wiele łatwiej zrobić, jeśli w kroku 2 użyto B1.
- Funkcja mapowania jest szacowana dla każdej pary toreb. Ponieważ wiemy, że ta torba zawiera dźwięki z głośnika A, i ta torba zawiera te same dźwięki, ale wypowiedziane przez głośnik B - możemy znaleźć operację (na przykład mnożenie macierzy na wektorach cech), która sprawia, że są one zgodne. Innymi słowy, wiemy teraz, jak sprawić, aby „o” głośnika 2 brzmiało jak „o” głośnika 1.
- Na tym etapie mamy wszystkie karty w dłoni, aby wykonać konwersję głosu. Z każdego wycinka nagrania B2 wykorzystujemy wynik kroku 2., aby dowiedzieć się, do której klasy akustycznej odpowiada. Następnie używamy funkcji mapowania oszacowanej w kroku 4 do transformacji wycinka.
Nalegam na fakt, że działa to na znacznie niższym poziomie niż rozpoznawanie mowy na B2, a następnie robienie TTS przy użyciu głosu A1 jako korpusu.
W krokach 1 i 2 stosuje się różne techniki statystyczne - najczęściej stosowane są GMM lub VQ. W części 2 zastosowano różne algorytmy wyrównania - jest to najtrudniejsza część i oczywiście łatwiej jest wyrównać A1 vs B1, niż A1 vs B2. W prostszym przypadku do wyrównania można użyć metod takich jak dynamiczne dopasowanie czasowe. Podobnie jak w kroku 4, najczęstszą transformacją są transformaty liniowe (mnożenie macierzy) na wektorach cech. Bardziej złożone transformacje zapewniają bardziej realistyczne imitacje, ale problem regresji w celu znalezienia optymalnego odwzorowania jest bardziej skomplikowany do rozwiązania. Wreszcie, podobnie jak w kroku 5, jakość resyntezy jest ograniczona stosowanymi funkcjami. LPC są na ogół łatwiejsze w obsłudze z prostą metodą transformacji (weź ramkę sygnału -> oszacuj resztkowe i widmo LPC -> w razie potrzeby resztkowe przesunięcie tonu -> zastosować zmodyfikowane widmo LPC do zmodyfikowanej resztkowej). Kluczem jest tutaj użycie przedstawienia mowy, które można odwrócić z powrotem do dziedziny czasu i które zapewnia dobre oddzielenie prozody od fonemów! Wreszcie, pod warunkiem, że masz dostęp do wyrównanych nagrań mówców A i B mówiących to samo zdanie, istnieją modele statystyczne, które jednocześnie wykonują kroki 1, 2, 3 i 4 w ramach jednej procedury szacowania jednego modelu.
Może później wrócę z bibliografią, ale bardzo dobrym miejscem, aby zacząć wyczuwać problem, a ogólną strukturą zastosowaną do jego rozwiązania jest Stylianou, Moulines i Cappé „System konwersji głosu oparty na klasyfikacji probabilistycznej i harmonicznej plus model hałasu ”.
Według mojej wiedzy nie ma szeroko rozpowszechnionego oprogramowania wykonującego konwersję głosu - jedynie oprogramowanie modyfikujące właściwości głosu źródłowego - takie jak parametry wysokości tonu i długości dróg głosowych (na przykład transformator IRCAM TRAX) - z którymi musisz zadzierać w nadziei, że zrobisz swoje nagrywanie dźwięku bliżej głosu docelowego.