Läs upp text högt
Eller klistra in undertexttext
Första körningen laddar ner röstmodellen och fonemisatorn – ungefär 98 MB tillsammans, serverade av den här webbplatsen och cachade av webbläsaren efteråt. Undertexten eller texten du släpper in lämnar aldrig den här fliken. Väljer du MP3 eller M4A laddas ytterligare 31 MB kodare ner, vilket är varför WAV är standard.
Inställningar
En röst avgör brytning och klang, och – mindre uppenbart – vilket ljudsystem texten läses med. Att para en spansk röst med en engelsk mening misslyckas inte: den läser engelska ord med spanska ljud, vilket är värre än ett felmeddelande. Sju språk erbjuds, inte tolv, eftersom fonemisatorn som följer med den här sidan inte har någon röst för japanska eller kinesiska. Lyssna på en kort fil innan du bestämmer dig för en lång; varje röst bär samma modell, så att byta kostar en syntes, inte en nedladdning.
Hur snabbt rösten läser, tillämpat ovanpå den takt modellen anser vara naturlig. Långsam är 0,8× och snabb är 1,2× – medvetet måttliga, för bortom ungefär 1,5× börjar modellen svälja stavelser och resultatet låter som någon som stressar i stället för någon som talar fort. När ett undertexttextblock är för kort för sin replik höjer den här sidan hastigheten själv upp till 1,4× innan den klipper, och den ökningen multipliceras med inställningen du väljer här.
WAV är okomprimerat 24 kHz mono, skrivet här helt utan kodare – vilket är varför det är standard och varför inget extra laddas ner för det. MP3 och M4A behöver den 31 MB stora videomotorn för att komprimera, men blir ungefär tio gånger mindre: tio minuters tal är ungefär 28 MB som WAV och ungefär 2,8 MB som MP3. Välj WAV för att provlyssna en röst, MP3 för att skicka filen till någon.
Den här sidan läser text högt. Klistra in ett stycke eller släpp en fil – en .txt, en .srt, en .vtt, vilket som helst av de tolv undertextformaten – välj en av tio röster och få tillbaka en enda ljudfil där allt läses från början till slut. Inget tidsätts, eftersom det inte finns något att tidsätta mot: utdata är en sammanhängande läsning, inte ett spår byggt för att ligga under bild.
När filen du släpper in är en undertextfil tolkas tidskoderna bort och kastas. Det som läses är texten i varje textblock, i ordning, fogad till stycken; radbrytningar inuti ett block blir mellanslag eftersom de var typografiska val på skärmen, och textblocksgränser blir ingenting alls. Det är motsatsen till vad sidan som läser upp undertexter gör, och de två sidorna finns sida vid sida så att valet syns i stället för att gömma sig i en kryssruta: den ena producerar ljud som följer en tidslinje, den andra ljud som helt enkelt flyter.
Texten syntetiseras i bitar i stället för i en enda körning. Modellens tokeniserare trunkerar tyst allt över 510 fonem – en artikel på tvåtusen ord skulle komma tillbaka som sina två första meningar, och filen skulle se helt giltig ut. Därför delas texten vid styckebrytningar, sedan vid meningsavslutande skiljetecken och ännu hårdare för en enda mening över 400 tecken, och bitarna syntetiseras efter varandra med en kort paus mellan. Där verkar också avbrytningen: uppläsningen sker på en egen tråd, så avbryt-knappen stoppar den inom ett ögonblick i stället för att vänta ut den aktuella meningen, och sidan förblir användbar medan ljudet skapas. Nedladdningen av modellen kan avbrytas omedelbart.
Röstlistan är tio röster på sju språk – engelska (USA och Storbritannien), spanska, franska, italienska, hindi och brasiliansk portugisiska. Japanska och kinesiska erbjuds inte: fonemisatorn som används för uttalet har ingen röst för något av dem, så ett alternativ märkt japanska skulle läsa kanji som engelska bokstäver och låta självsäkert fel. Ungefär 98 MB modell och fonemisator laddas ner en gång och cachas; texten du klistrar in lämnar aldrig webbläsaren, vilket spelar roll när stycket är en kunds brev eller en medicinsk anteckning.
Utdata är WAV som standard eftersom det inte kräver någon kodare; MP3 och M4A laddar en ffmpeg-kärna på 31 MB och är värda det när läsningen ska skickas vidare. Inget laddas upp i något av fallen.
Vanliga frågor
Om jag släpper en .srt-fil här, läses tidskoderna eller textblocksnumren upp?
Ingendera. Filen tolkas med samma formatlager som konverteringssidorna använder, och bara texten i varje textblock behålls – indexnumren, tidsangivelserna och inline-taggar som <i> eller {\pos()} är borta före syntesen. Det du hör är orden i den ordning de förekommer. Vill du i stället att tiderna respekteras använder du sidan som läser upp en undertextfil till ljud och placerar varje textblock vid dess egen starttid.
Kan inklistringsfältet på text-till-tal-sidan ta en hel artikel, eller bara en eller två meningar?
En hel artikel går bra, eftersom texten delas upp innan den når modellen. Inklistrat innehåll packas som en klartextfil och går in i samma kö som en släppt fil, så det får samma uppdelning vid 400 tecken, samma förloppsindikator och samma avbryt-knapp. Den praktiska gränsen är minnet snarare än längden: en lång artikel ger en lång WAV, och en timme 24 kHz mono PCM är några hundra megabyte, så MP3 är värt det om läsningen ska vara mer än några minuter.
Varför låter pauserna mellan meningarna längre här än i uppläsningen av undertexter?
Eftersom en kvarts sekunds tystnad läggs in mellan bitarna för att hålla ihop intilliggande meningar, medan undertextsidan placerar varje rad vid ett textblocks exakta start och fyller det glapp undertexten redan hade. Här är glappet fasta 250 ms oavsett innehåll, eftersom det inte finns någon tidslinje att vara trogen. Meningar inuti en bit fogas ihop av modellens egen hantering av skiljetecken, så bara bitgränserna – ungefär var 400:e tecken – får den extra pausen.
Vilka röster finns för spanska och portugisiska i text-till-tal-listan, och är de en eller flera?
En var: ef_dora för spanska och pf_dora för brasiliansk portugisiska, vid sidan av två engelska varianter från USA (af_heart, af_bella), en amerikansk röst till (am_michael), två brittiska (bf_emma, bm_george), ff_siwis för franska, hf_alpha för hindi och if_sara för italienska. Flera engelska röster finns eftersom det är där mest uppläsning efterfrågas; övriga språk får en så att listan förblir kort nog att provlyssna. En röst sätter både accent och klang, så den avgör också vilket språks fonem texten läses med.
Är den färdiga MP3- eller M4A-filen från text-till-tal-sidan säker att publicera som poddavsnitt?
Tekniskt sett ja – båda är standardbehållare kodade av en lokal ffmpeg-körning, och ljudet är 24 kHz mono, vilket är bra för tal och tunt för musik. Redaktionellt bör du lyssna före publicering: modellen klipper ibland en slutkonsonant, betonar ett egennamn underligt eller läser en förkortning bokstav för bokstav. Inget laddas upp medan det sker och ingen vattenstämpel eller spårning bäddas in, men en syntetisk röst bär heller ingen upplysning, så om din publik förväntar sig en mänsklig läsare bör du säga vilket det är.