Tekst til tale med naturlige stemmer
Eller indsæt underteksttekst
Den første kørsel downloader stemmemodellen og fonemiseringen – cirka 98 MB tilsammen, leveret af dette websted og cachet af browseren bagefter. Den undertekst eller tekst, du slipper ind, forlader aldrig denne fane. Vælger du MP3 eller M4A, downloades yderligere 31 MB encoder, hvilket er grunden til, at WAV er standarden.
Indstillinger
En stemme afgør accenten og klangen og – mindre indlysende – hvilket lydsystem teksten læses med. At parre en spansk stemme med en engelsk sætning fejler ikke: den læser engelske ord med spanske lyde, hvilket er værre end en fejlmeddelelse. Der tilbydes syv sprog, ikke tolv, fordi den fonemisering, der følger med denne side, ikke har nogen stemme til japansk eller kinesisk. Lyt til en kort fil, før du forpligter dig til en lang; hver stemme bærer samme model, så at skifte koster én syntese, ikke en ny download.
Hvor hurtigt stemmen læser, anvendt oven på det tempo, modellen anser for naturligt. Langsom er 0,8× og hurtig er 1,2× – med vilje mild, fordi modellen efter cirka 1,5× begynder at sluge stavelser, og resultatet lyder som én, der skynder sig, snarere end én, der taler hurtigt. Når en undertekstblok er for kort til sin replik, hæver denne side selv hastigheden op til 1,4×, før den afkorter, og den forhøjelse ganges med den indstilling, du vælger her.
WAV er ukomprimeret 24 kHz mono, skrevet her helt uden en encoder – hvilket er grunden til, at det er standarden, og hvorfor intet ekstra downloades til det. MP3 og M4A kræver den 31 MB store videomotor for at komprimere, men kommer ud cirka ti gange mindre: ti minutters tale er omkring 28 MB som WAV og omkring 2,8 MB som MP3. Vælg WAV for at prøve en stemme, MP3 for at sende filen til nogen.
Denne side læser tekst højt. Indsæt et afsnit, eller drop en fil – en .txt, en .srt, en .vtt, et hvilket som helst af de tolv undertekstformater – vælg en af ti stemmer, og få en enkelt lydfil tilbage med det hele læst fra begyndelsen til enden. Intet tidsbestemmes, fordi der ikke er noget at tidsbestemme mod: outputtet er en sammenhængende oplæsning, ikke et spor bygget til at ligge under billede.
Når filen, du dropper, er en undertekstfil, parses tidskoderne væk og smides ud. Det, der læses, er teksten i hver blok, i rækkefølge, slået sammen til afsnit; linjeskift inde i en blok bliver mellemrum, fordi de var typografiske valg på skærmen, og blokgrænser bliver slet ingenting. Det er det modsatte af, hvad siden for oplæsning af undertekster gør, og de to sider findes side om side, så valget er synligt frem for skjult i en afkrydsningsboks: den ene laver lyd, der følger en tidslinje, den anden laver lyd, der bare flyder.
Tekst syntetiseres i stykker frem for i én kørsel. Modellens tokeniser afkorter lydløst alt over 510 fonemer – en artikel på to tusind ord ville komme tilbage som sine første to sætninger, og filen ville se fuldstændig gyldig ud. Så teksten opdeles ved afsnitsskift, derefter ved sætningsafsluttende tegnsætning og hårdere endnu for en enkelt sætning over 400 tegn, og stykkerne syntetiseres efter hinanden med en kort pause imellem. Det er også der, annulleringen virker: oplæsningen sker på sin egen tråd, så annuller-knappen stopper den i løbet af et øjeblik frem for at vente på, at den aktuelle sætning bliver færdig, og siden forbliver brugbar, mens lyden laves.
Stemmelisten er ti stemmer på syv sprog – engelsk (USA og Storbritannien), spansk, fransk, italiensk, hindi og brasiliansk portugisisk. Japansk og kinesisk tilbydes ikke: den fonemiseringsmotor, der bruges til udtalen, har ingen stemme til nogen af dem, så en mulighed mærket japansk ville læse kanji som engelske bogstaver og lyde selvsikkert forkert. Omkring 98 MB model og fonemisering downloades én gang og caches; teksten, du indsætter, forlader aldrig browseren, hvilket betyder noget, når afsnittet er en klients brev eller en lægelig note.
Ofte stillede spørgsmål
Hvis jeg dropper en .srt-fil her, indeholder oplæsningen så tidskoderne eller bloknumrene?
Hverken. Filen parses med det samme formatlag, som konverteringssiderne bruger, og kun hver bloks tekst beholdes – indeksnumrene, 00:00:01,000 -->-tidskoderne og inline-tags som <i> eller {\pos()} er væk før syntesen. Det, du hører, er ordene i den rækkefølge, de optræder. Vil du have tiderne respekteret frem for kasseret, så brug siden, der læser en undertekstfil op til lyd, og som placerer hver blok på dens egen starttid.
Kan feltet til indsat tekst tage en hel artikel, eller er det kun til en sætning eller to?
En hel artikel er fin, fordi teksten opdeles, før den når modellen. Indsat indhold pakkes som en ren tekstfil og går ind i den samme kø som en droppet fil, så det får samme 400-tegnsopdeling, samme statuslinje og samme annuller-knap. Den praktiske grænse er hukommelse frem for længde: en lang artikel giver en lang WAV, og en time 24 kHz mono-PCM er flere hundrede megabyte, så MP3 er værd at vælge, hvis oplæsningen skal vare mere end et par minutter.
Hvorfor lyder pauserne mellem sætningerne længere her end i undertekstoplæsningen?
Fordi der indsættes et kvart sekunds stilhed mellem stykkerne for at forhindre, at på hinanden følgende sætninger løber sammen, hvor siden for undertekstoplæsning placerer hver linje på en bloks nøjagtige start og fylder det hul, underteksten allerede havde. Her er hullet fast 250 ms uanset indhold, da der ikke er nogen tidslinje at være tro mod. Sætninger inde i samme stykke forbindes af modellens egen håndtering af tegnsætning, så kun stykkegrænser – cirka hver 400. tegn – får den ekstra pause.
Hvilke stemmer findes der til spansk og portugisisk, og er det én stemme eller flere?
Én til hver: ef_dora til spansk og pf_dora til brasiliansk portugisisk, sammen med to engelske varianter fra USA (af_heart, af_bella), endnu en amerikansk stemme (am_michael), to britiske stemmer (bf_emma, bm_george), ff_siwis til fransk, hf_alpha til hindi og if_sara til italiensk. Der findes flere engelske stemmer, fordi det er der, de fleste oplæsninger bestilles; andre sprog får én, så listen forbliver kort nok til at kunne prøves igennem. En stemme sætter accenten såvel som klangen, så den afgør også, med hvilket sprogs fonemer teksten læses.
Er den færdige MP3 eller M4A sikker at udgive som et podcastafsnit?
Teknisk set ja – begge er standardbeholdere kodet af et lokalt ffmpeg-build, og lyden er 24 kHz mono, hvilket er fint til tale og tyndt til musik. Redaktionelt set, lyt før du udgiver: modellen klipper af og til en slutkonsonant, lægger trykket forkert på et egennavn eller læser en forkortelse bogstav for bogstav. Intet uploades, mens det sker, og der indlejres hverken vandmærke eller sporing, men en syntetisk stemme bærer heller ingen oplysning, så hvis dit publikum forventer en menneskelig oplæser, så sig, hvad det er.