Jak naśladować / kopiować / fałszować czyjś głos?

19

Czy istnieje jakaś aplikacja do próbkowania czyjegoś głosu i używania go do modulowania innego głosu lub syntetyzowania tekstu przypominającego oryginalny?

Na przykład ta prezentacja zamiany tekstu na mowę AT&T pozwala wybrać głos i język ze wstępnych ustawień, które, jak sądzę, oparte są na próbce ludzkiego głosu.

Jak nazwać ten proces? Czy to modulacja głosu? Synteza głosu?

clapas
źródło
Sądzę, że gdybyś miał wystarczająco dużo próbek treningowych, dla konkretnych słów, to byłoby możliwe
Phorce
W środowisku naukowym nazywa się to „konwersją głosu”.
pikenety
@ user1582478 Mam ich mnóstwo, jak byś postępował?
clapas
Czy można stworzyć głos na podstawie powiedzenia przyjaciela, a następnie zabrać go na żywo w trakcie rozmowy telefonicznej, która zmienia się w głos, ale z utworzonym głosem?
To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienie, zostaw komentarz pod jego postem - zawsze możesz komentować własne posty, a gdy będziesz mieć wystarczającą reputację , będziesz mógł komentować każdy post .
Matt L.,

Odpowiedzi:

24

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:

  1. 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.
  2. Ten sam proces stosuje się na B2.
  3. 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.
  4. 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.
  5. 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.

fenenety
źródło
Świetna odpowiedź! Prawdopodobnie nie byłbym w stanie tego zrozumieć bez analogii toreb ... Jest tylko jedna rzecz, której nie rozumiem po tym tak jasnym wyjaśnieniu: według mojego zrozumienia, zawsze możesz mieć B1! Dziękuję Ci bardzo.
clapas
Nie, jeśli A i B mówią innym językiem (istnieją niesamowite zastosowania konwersji głosu, w których TTS w innym języku jest odtwarzany własnym głosem!). Lub jeśli zarówno A, jak i B są znanymi osobami, dla których nie można znaleźć wystarczająco długiego wspólnego zdania we wszystkich publicznie dostępnych nagraniach, a jeśli nie mówisz w ich języku, nie możesz użyć nagrania głosu jako „pomost” między nimi.
pikenety
Widzę. Jeszcze raz dziękuję @pichenettes. Spróbuję rzucić okiem na książkę zatytułowaną Stylianou i in. Pozdrawiam
clapas
Zaktualizuj swoją odpowiedź za pomocą linków do użytych akronimów. Np. LPC, VQ, GMM.
aaronsnoswell
W odpowiedzi na komentarz aaronsnoswell: LCP: liniowe kodowanie predykcyjne, VQ: kwantyzacja wektorowa, GMM: model mieszanki Gaussa. Nie jest oczywiste, że samo rozszerzenie tych akronimów bardzo pomaga, ponieważ każdy jest skomplikowanym pomysłem, ale (z grubsza) każdy pomysł dotyczy modelowania lub wyjaśniania danych pst lub przyszłych z zestawu istniejących próbek.
GregD
2

Możesz użyć czegoś takiego jak MorphVox . Oto demonstracja. Proces ten nazywa się morfingiem głosu lub konwersją. Jeśli interesują Cię aspekty techniczne, najnowszym artykułem, który możesz studiować, jest Konwersja głosu przy użyciu częściowej regresji częściowej najmniejszych kwadratów dynamicznego jądra .

Emre
źródło
Głos Dark Vadera kołysze się, to było zabawne. Cóż, widziałem wcześniej podobne efekty. Dziękuję
clapas,
1

Szukam tego samego, ale nie da się tego zrobić. W Szkocji istnieje firma o nazwie CereProc, która zajmuje się modelowaniem głosu, ale potrzebuje kogoś w swoim laboratorium nagrywającym godziny dźwięku, a koszt modelowania pojedynczego głosu wynosi około 30 000 USD.

Jim
źródło
0

To, czego szukasz, nazywa się vocoder.

Czy wypróbowałeś wokoder Audcity? Audacity można pobrać ze strony: http://audacity.sourceforge.net/download . Demo, jak go używać, można znaleźć na https://www.youtube.com/watch?v=J_rPEmJfwNs .

SpeedCoder5
źródło
1
Wokodowanie polega na zastosowaniu obwiedni widmowej jednego nagrania audio (zwykle jest to głos) w celu odfiltrowania innego dźwięku (który zwykle jest surowym, niemodulowanym dźwiękiem syntezatora). Nie można go użyć, aby podrobić czyjś głos.
pikenety
Tak, znam Audacity, ale nie wypróbowałem wokodera. Myślę, że można zastosować biały szum tylko do obwiedni nagranego głosu. Dziękuję
clapas,