Przejdź do treści
SubtitleMatrix

Czytaj napisy na głos

Napisy z mediówNapisy na mowę

Pierwsze uruchomienie pobiera model głosu i fonemizator — razem około 98 MB, serwowane przez tę stronę i potem zapamiętane przez przeglądarkę. Wrzucone napisy albo tekst nigdy nie opuszczają tej karty. Wybór MP3 albo M4A pobiera dodatkowe 31 MB kodera, dlatego WAV jest domyślny.

Opcje

Głos decyduje o akcencie i barwie, a — mniej oczywiście — o tym, jakim systemem dźwięków tekst jest czytany. Połączenie hiszpańskiego głosu z angielskim zdaniem nie kończy się błędem: czyta angielskie słowa hiszpańskimi dźwiękami, co jest gorsze niż komunikat o błędzie. Oferowanych jest siedem języków, a nie dwanaście, bo fonemizator dołączony do tej strony nie ma głosu dla japońskiego ani chińskiego. Posłuchaj krótkiego pliku, zanim zdecydujesz się na długi; każdy głos niesie ten sam model, więc przełączenie kosztuje jedną syntezę, a nie jedno pobranie.

Jak szybko czyta głos, nałożone na tempo, które model uznaje za naturalne. Wolno to 0,8×, a szybko 1,2× — celowo łagodnie, bo powyżej około 1,5× model zaczyna połykać sylaby i wynik brzmi jak ktoś, kto się spieszy, a nie ktoś, kto mówi szybko. Gdy blok napisów jest za krótki na swoją kwestię, ta strona sama podnosi tempo do 1,4×, zanim przytnie, a to przyspieszenie mnoży się z ustawieniem wybranym tutaj.

WAV to nieskompresowane 24 kHz mono, zapisywane tutaj bez żadnego kodera — dlatego jest domyślne i dlatego nic dodatkowego się dla niego nie pobiera. MP3 i M4A potrzebują 31 MB silnika wideo do kompresji, ale wychodzą około dziesięć razy mniejsze: dziesięć minut mowy to około 28 MB w WAV i około 2,8 MB w MP3. Wybierz WAV, aby odsłuchać głos, a MP3, aby wysłać plik komuś.

Ta strona zamienia plik z napisami w ścieżkę głosową, która za nimi podąża. Każdy blok jest wypowiadany i umieszczany w momencie jego startu, więc wynikiem jest jeden plik audio — film.wav — w którym słowa leżą pod napisami, a nie na sobie. Cisza wypełnia przerwy między blokami, a całkowita długość odpowiada końcowi ostatniego bloku, co oznacza, że audio można położyć pod tym samym obrazem, dla którego powstały napisy.

Powód, dla którego ta strona istnieje osobno od strony zwykłego czytania, to czas: to on jest trudną częścią. Zdanie, którego wypowiedzenie zajmuje cztery sekundy, a które ma dwusekundowy blok, nie może po prostu wejść: weszłoby pod następny blok, a dwa głosy naraz to szum, nie narracja. Dlatego każda linia jest syntezowana z wybraną prędkością, mierzona i — jeśli się nie mieści — syntezowana jeszcze raz w szybszym tempie, do 1,4×. Co nadal się nie mieści, jest cięte na starcie następnego bloku, a liczba bloków, którym się to przydarzyło, jest raportowana jako strata, a nie połykana.

Lista głosów to dziesięć głosów w siedmiu językach: angielski ze Stanów Zjednoczonych i Wielkiej Brytanii, hiszpański, francuski, włoski, hindi i portugalski brazylijski. Głos to nie tylko barwa — decyduje, jakimi dźwiękami języka czytany jest tekst, więc połączenie hiszpańskiego głosu z angielskim tekstem daje coś, co nie jest ani jednym, ani drugim. Japońskiego i chińskiego celowo nie ma: fonemizator dostarczany z tą stroną nie ma dla nich głosu, a ich wystawienie dałoby pewny siebie bełkot zamiast komunikatu o błędzie.

Praca jest lokalna. Około 98 MB modelu i fonemizatora jest pobierane raz z tej witryny i buforowane potem przez przeglądarkę; sam plik z napisami nigdy nie opuszcza karty. Domyślnym wynikiem jest WAV, bo nie potrzebuje żadnego kodera — wybór MP3 lub M4A ładuje rdzeń ffmpeg o rozmiarze 31 MB, żeby skompresować wynik, co ma sens dla wszystkiego, co zamierzasz komuś wysłać.

Częste pytania

Dlaczego narracja napisów czasem ucina zdanie, choć plik SRT jest poprawny?

Bo cięcie powoduje blok, nie plik. Blok utrzymujący się na ekranie 1,8 s nie pomieści linii, której wypowiedzenie zajmuje trzy sekundy, chyba że głos zostanie popchnięty powyżej 1,4× — a powyżej tego słowa przestają być zrozumiałe. Strona najpierw próbuje wybranej prędkości, potem syntezuje raz jeszcze w tempie, które by to zmieściło, z limitem 1,4×. Jeśli nadal się nie mieści, audio jest obcinane na starcie następnego bloku, żeby dwie linie nigdy nie brzmiały naraz, a liczba dotkniętych bloków pojawia się w raporcie strat pod kolejką.

Co dzieje się ze stylami ASS, kolorami i pozycjami na ekranie przy narracji napisów?

Są odrzucane i tutaj tak jest poprawnie — plik audio nie ma koloru ani pozycji na ekranie. Przeżywa tekst każdego bloku oraz jego czas startu i końca, czyli dokładnie to, czego potrzebuje umieszczenie w czasie. Pogrubienie, kursywa, czasy karaoke i nadpisania pozycji {\anN} są parsowane i usuwane przez warstwę formatu przed syntezą, więc linia oznaczona w pliku ASS jako kursywa jest czytana tym samym głosem co reszta. Jeśli potrzebujesz zachowanego stylu, najpierw przekonwertuj napisy; produktem tej strony jest dźwięk.

Czy dwuwierszowy blok SRT jest czytany w narracji jako jedno zdanie?

Tak, i zawsze tak jest. Twardy koniec wiersza wewnątrz bloku to decyzja typograficzna — miejsce, w którym autor napisów uznał, że linia staje się za długa na ekranie — a nie miejsce, w którym mówca zrobił pauzę. Obie linie są więc łączone spacją i syntezowane jako jedna wypowiedź, dlatego blok rozbity na wiersze nadal brzmi jak jeden oddech, a nie dwóch mówców na zmianę. Pauzę w wyniku daje wyłącznie granica bloku.

Jakie języki obsługuje narracja napisów i co z napisami japońskimi?

Siedem: en-US, en-GB, es, fr, hi, it i pt-BR. Japońskiego i chińskiego wśród nich nie ma, bo fonemizator dołączony do tej strony (espeak-ng) nie ma głosu dla żadnego z nich, choć sam model mowy był na nich trenowany. Podanie japońskiego .srt angielskiemu głosowi nie kończy się głośnym błędem — litery łacińskie są czytane po angielsku, a kanji są pomijane albo zniekształcane. Uczciwym rozwiązaniem dla tych języków jest poczekać na wersję z japońskim lub chińskim fonemizatorem, a nie akceptować ścieżkę, która brzmi wiarygodnie i jest błędna.

Czy MP3 jest wart dodatkowych 31 MB wobec WAV z narracji napisów?

Dla czegokolwiek dłuższego niż kilka minut — tak. WAV to nieskompresowany PCM 24 kHz mono, więc dziesięć minut narracji to około 28 MB, a to samo audio zakodowane jako MP3 przy 128 kb/s to około 2,8 MB. Ceną jest to, że MP3 i M4A wymagają jednorazowego pobrania rdzenia ffmpeg, dlatego domyślny jest WAV: jeśli chcesz tylko sprawdzić, jak brzmi głos, nic dodatkowego nie jest pobierane. Gdy koder jest już w pamięci podręcznej, konwersja tych samych napisów z tymi samymi ustawieniami jest szybka.

Powiązane narzędzia