Co to jest akcent?
Akcent nie jest filtrem dźwięku; jest to wzór akustycznej realizacji tekstu w języku. Nie możesz nagrać amerykańskiego angielskiego, poprowadzić go przez "zestaw amplitud i filtrów" i wypuścić brytyjski angielski. Do czego służy DSP, to implementacja prosody, bez akcentu.
Zasadniczo (i najprostszy model) akcent składa się z reguł dla fonetycznej realizacji sekwencji fonemów. Na percepcję akcentu dodatkowo wpływa by prosody i przez które fonemy wybiera głośnik podczas czytania tekstu.
generacji mowy
Proces syntezy mowy ma dwa podstawowe etapy:
Text-to-fonemów: Konwersja tekstu pisanego do sekwencji fonemów (plus suprasegmentals jak stres i prozodycznych informacji jak granice wypowiedzi). Jest to nieco zależne od akcentu (np. Wynik dla "laboratorium" różni się między mówcami z USA i Wielkiej Brytanii).
Fonemu na mowę: biorąc pod uwagę sekwencję fonemów, generuj audio zgodnie z zasadami dialektu dla fonetycznych realizacji fonemów. (Zazwyczaj łączymy dyfony, a następnie dostosowujemy akustycznie prozodię). Jest to bardzo zależne od akcentów i to właśnie ten krok nadaje głównej jakości akcent. Konkretny fonemu, nawet jeśli dzielony jest między dwa akcenty, może mieć uderzająco różne realizacje akustyczne.
Zazwyczaj są sparowane. Podczas gdy ty mógł mieć generator mowy z akcentem brytyjskim, który używa wymowy amerykańskiej, brzmiałoby to dziwnie.
Generowanie mowy z danym akcentem
pisząc program zamiany tekstu na mowę jest ogromną ilość pracy (w szczególności w celu realizacji jednego wspólnego systemu, trzeba nagrać native speaker mówiący każdą możliwą dyfonicznych w język), więc lepiej byłoby użyć istniejącego.
Krótko mówiąc, jeśli chcesz brytyjskiego akcentu, użyj brytyjskiego tekstu do fonemu silnika wraz z brytyjskim angielskim fonemem do mowy.
W przypadku popularnych akcentów, takich jak amerykański i brytyjski angielski, standardowy mandaryński, francuski, itp., Będzie kilka opcji, w tym te o otwartym kodzie źródłowym, które można modyfikować (jak poniżej). Na przykład spójrz na FreeTTS i eSpeak. W przypadku mniej powszechnych akcentów istniejące silniki mogą niestety nie istnieć.
Mówiąc tekst z obcym akcentem
angielski-z-obcego akcentu jest społecznie nie bardzo prestiżowe, tak kompletne systemy prawdopodobnie nie istnieje.
Jedna ze strategii polega na połączeniu gotowego silnika tekstu z fonemem dla natywnego akcentu z fonemem na mowę dla obcego języka. Na przykład native speaker rosyjski, który uczył się angielskiego w USA, słusznie użyłby amerykańskiej wymowy słów, takich jak laboratory, i zamapowałby swoje fonemy na swoje rodzime rosyjskie fonemy, wymawiając je tak, jak w języku rosyjskim. (Wierzę, że istnieje strona internetowa, która robi to dla języka angielskiego i japońskiego, ale nie mam linku.)
Problem polega na tym, że wynik jest zbyt wysoki. Prawdziwy angielski uczeń próbowałby rozpoznać i wygenerować fonemy, które nie istnieją w jego ojczystym języku, a także zmieniłby jego realizację swoich rodzimych fonemów w celu przybliżenia natywnej wymowy. To, jak dokładnie wynik jest zgodny z językiem ojczystym, oczywiście jest różne, ale używanie czystych obcych ekstremalnych dźwięków jest śmieszne (i w większości niezrozumiałe).
Aby wygenerować przekonujący akcent amerykańsko-angielski z rosyjskim (na przykład), trzeba napisać silnik tekstu do fonemu. Jako punkt wyjściowy można użyć istniejących amerykańskich i rosyjskich silników tekst-fonemat. Jeśli nie chcesz znaleźć i nagrać takiego głośnika, prawdopodobnie możesz uzyskać przyzwoite przybliżenie za pomocą DSP, aby połączyć próbki z tych dwóch silników. W przypadku eSpeak wykorzystuje syntezę formantów zamiast nagranych próbek, więc łatwiej jest łączyć informacje z wielu języków.
Inną kwestią, którą należy wziąć pod uwagę, jest to, że obcokrajowcy często modyfikują sekwencję fonemów pod wpływem fonotaktyki swojego języka ojczystego, zazwyczaj poprzez upraszczanie skupień spółgłosek, wstawianie samogłosek epentetycznych lub dyfundowanie lub łamanie sekwencji samogłosek.
There is some literature on this topic.
Istnieją (co najmniej) dwa całkowicie rozłączne pytania tutaj: część o analizę tekstu, a część o syntezie mowy. Te powinny być zadawane jako oddzielne pytania SO. –
@ O Pomyślałem o tym, ale część analityczna jest tak ściśle związana z częścią pokolenia, że myślę, że powinni być razem. – Jon
Hmmm. Pierwszy to w zasadzie problem analizy składni/analizy tekstowej; drugi jest zasadniczo problemem DSP. Zakres wydaje się nieco zbyt szeroki dla pytania dotyczącego przepełnienia stosu ... –