Hopp til hovedinnhold
SubtitleMatrix

Les tekst høyt

MedieinndataUndertekster til tale
Eller lim inn underteksttekst

Den første kjøringen laster ned stemmemodellen og fonemiseren — omtrent 98 MB til sammen, servert av dette nettstedet og bufret av nettleseren etterpå. Underteksten eller teksten du slipper inn, forlater aldri denne fanen. Å velge MP3 eller M4A laster ned ytterligere 31 MB koder, som er grunnen til at WAV er standard.

Innstillinger

En stemme avgjør aksenten og klangfargen, og — mindre åpenbart — hvilket lydsystem teksten leses med. Å pare en spansk stemme med en engelsk setning feiler ikke: den leser engelske ord med spanske lyder, som er verre enn en feilmelding. Sju språk tilbys, ikke tolv, fordi fonemiseren som følger med denne siden, ikke har noen stemme for japansk eller kinesisk. Lytt til en kort fil før du forplikter deg til en lang; hver stemme bærer samme modell, så å bytte koster én syntese, ikke én nedlasting.

Hvor fort stemmen leser, brukt på toppen av tempoet modellen anser som naturlig. Langsom er 0,8× og rask er 1,2× — med vilje mild, fordi modellen over omtrent 1,5× begynner å svelge stavelser, og resultatet høres ut som noen som haster i stedet for noen som snakker fort. Når en undertekstblokk er for kort for linjen sin, øker denne siden hastigheten selv opptil 1,4× før den avkorter, og den økningen multipliseres med innstillingen du velger her.

WAV er ukomprimert 24 kHz mono, skrevet her helt uten en koder — som er grunnen til at det er standard, og grunnen til at ingenting ekstra lastes ned for det. MP3 og M4A trenger videomotoren på 31 MB for å komprimere, men kommer ut omtrent ti ganger mindre: ti minutter med tale er omtrent 28 MB som WAV og omtrent 2,8 MB som MP3. Velg WAV for å prøvelyttet til en stemme, MP3 for å sende filen til noen.

Denne siden leser tekst høyt. Lim inn et avsnitt eller slipp en fil — en .txt, en .srt, en .vtt, hvilket som helst av de tolv undertekstformatene — velg en av ti stemmer, og få tilbake én lydfil der hele teksten leses fra begynnelse til slutt. Ingenting tidfestes, fordi det ikke finnes noe å tidfeste mot: utdataene er én sammenhengende lesing, ikke et spor bygget for å ligge under bildet.

Når filen du slipper inn, er en undertekstfil, parses tidskodene bort og kastes. Det som leses, er teksten i hver tekstblokk, i rekkefølge, slått sammen til avsnitt; linjeskift inne i en tekstblokk blir mellomrom fordi de var typografiske valg på skjermen, og tekstblokkgrenser blir ingenting i det hele tatt. Det er det motsatte av hva innlesingssiden gjør, og de to sidene finnes side om side så valget er synlig i stedet for gjemt i en avkrysningsboks: den ene lager lyd som følger en tidslinje, den andre lager lyd som bare flyter.

Teksten syntetiseres i biter i stedet for i én kjøring. Modellens tokeniser kutter stille alt forbi 510 fonemer — en artikkel på to tusen ord ville kommet tilbake som de to første setningene, og filen ville sett helt gyldig ut. Derfor deles teksten ved avsnittsskift, deretter ved setningsavsluttende tegnsetting, og hardere enn det for en enkelt setning som overstiger 400 tegn, og bitene syntetiseres etter hverandre med en kort pause mellom. Det er også der avbrytelsen virker: lesingen skjer på sin egen tråd, så avbryt-knappen stopper den i løpet av et øyeblikk i stedet for å vente på at gjeldende setning skal bli ferdig, og siden forblir brukbar mens lyden lages.

Stemmelisten er ti stemmer fordelt på sju språk — engelsk (USA og Storbritannia), spansk, fransk, italiensk, hindi og brasiliansk portugisisk. Japansk og kinesisk tilbys ikke: fonemiseringen som brukes til uttale, har ingen stemme for noen av dem, så et alternativ merket japansk ville lest tegnene som engelske bokstaver og hørtes selvsikkert feil ut. Rundt 98 MB modell og fonemisering lastes ned én gang og bufres; teksten du limer inn, forlater aldri nettleseren, noe som betyr noe når avsnittet er et kundebrev eller et medisinsk notat.

Ofte stilte spørsmål

Hvis jeg slipper en .srt-fil her, leses tidskodene eller tekstblokknumrene opp?

Verken. Filen parses med samme formatlag som konverteringssidene bruker, og bare teksten i hver tekstblokk beholdes — indeksnumrene, tidskodene og inline-tagger som <i> eller {\pos()} er borte før syntesen. Det du hører, er ordene i den rekkefølgen de står. Vil du at tidene skal respekteres i stedet for kastes, bruker du siden som leser inn en undertekstfil til lyd, og som plasserer hver tekstblokk på sin egen starttid.

Kan innlimingsboksen ta en hel artikkel, eller er den bare for en setning eller to?

En hel artikkel går fint, fordi teksten deles opp før den når modellen. Innlimt innhold pakkes som en ren tekstfil og går inn i samme kø som en fil du slipper inn, så det får samme 400-tegnsdeling, samme fremdriftslinje og samme avbryt-knapp. Den praktiske grensen er minne snarere enn lengde: en lang artikkel gir en lang WAV, og en time med 24 kHz mono PCM er noen hundre megabyte, så MP3 er verdt det hvis lesingen skal vare mer enn noen minutter.

Hvorfor høres pausene mellom setningene lengre ut her enn i undertekstinnlesingen?

Fordi det settes inn et kvart sekund stillhet mellom bitene for å hindre at påfølgende setninger flyter sammen, mens undertekstinnlesingen plasserer hver linje på tekstblokkens nøyaktige start og fyller det mellomrommet underteksten allerede hadde. Her er mellomrommet fast 250 ms uavhengig av innhold, siden det ikke finnes en tidslinje å være tro mot. Setninger inne i samme bit slås sammen av modellens egen håndtering av tegnsetting, så bare bitgrenser — omtrent hver 400. tegn — får den ekstra pausen.

Hvilke stemmer finnes for spansk og portugisisk, og er det én stemme eller flere?

Én hver: ef_dora for spansk og pf_dora for brasiliansk portugisisk, ved siden av to engelske varianter fra USA (af_heart, af_bella), én til amerikansk stemme (am_michael), to britiske (bf_emma, bm_george), ff_siwis for fransk, hf_alpha for hindi og if_sara for italiensk. Flere engelske stemmer finnes fordi det er der mest innlesing etterspørres; andre språk får én så listen holder seg kort nok til å prøve seg gjennom. En stemme setter aksenten så vel som klangfargen, så den avgjør også hvilket språks fonemer teksten leses med.

Er den ferdige MP3- eller M4A-filen trygg å publisere som podkastsegment?

Teknisk sett ja — begge er standardbeholdere kodet av en lokal ffmpeg-kjørsel, og lyden er 24 kHz mono, som er fint for tale og tynt for musikk. Redaksjonelt bør du lytte før du publiserer: modellen klipper av og til en siste konsonant, legger uriktig trykk på egennavn eller leser en forkortelse bokstav for bokstav. Ingenting lastes opp mens det skjer, og ingen vannmerke eller sporing legges inn, men en syntetisk stemme bærer heller ingen opplysning om at den er syntetisk, så forventer publikum en menneskelig leser, bør du si hvilken det er.

Relaterte verktøy