Hoppa till innehåll
Yappy Ladda ner
Språk: sv

biten ingen annan visar

Från det skrivna till det sagda.

Att läsa högt är inte att bokstavera: det är att tolka. ”1492” läses ”fjortonhundranittiotvå”; ”Henrik VIII” läses ”Henrik den åttonde”, men ”Louis XIV” på franska läses ”Louis quatorze”; ”EL CID” är inget romartal; FBI bokstaveras, NASA gör det inte. Innan en enda stavelse syntetiseras gör Yappy om texten till ett lässkript: partituret till det rösten verkligen ska säga.

Manusverktyget

Prova här direkt: det är samma Rust som i appen, kompilerat för din webbläsare.

Skriptet visas här, med det omvandlade understruket.

Tolv yrken i ett svep.

Datum

”24/5/1533” läses upp i sin helhet, med varje språks ordningsföljd och genus.

Klockslag

”14:05” sägs som en människa skulle säga det, inte som en klocka skulle läsa det.

Valutor

”3,50 €” sägs ”tre euro och femtio”, med den pluralform som gäller.

Procent

”7 %” uttalas ”sju procent”, och ”0,5 %” blir inte ”noll komma fem procent”.

Enheter

”230 °C” uttalas ”tvåhundratrettio grader Celsius”.

Ordningstal

”3:e” uttalas ”tredje”, med rätt genus och böjning där det behövs.

Romartal med omdöme

”1500-talet” är grundtal, ”Karl XII” är ordningstal, och ”EL CID” är ingen siffra.

Akronymer efter fonotax

FBI uttalas bokstav för bokstav, NASA som ett ord. Det är ljudet som avgör, inte en lista.

Förkortningar

”osv.”, ”s.”, ”f.Kr.”: varje språk har sin egen tabell.

Stora tal

Med RBNF-grammatiken från Unicode CLDR, inklusive genus och böjning.

31 språk

Samma regler, med varje språks egen grammatik. Inga handskrivna listor.

Rytmen

Rubriker får andas efter att ha lästs upp; listor håller sin takt. Pauserna är en del av manuset, inte av slumpen.

Vanliga frågor

Vad är RBNF-grammatik?
RBNF står för Rule-Based Number Format: de regler som Unicode CLDR använder för att beskriva hur ett tal uttalas på varje språk. Det är ingen tabell med tusen ord, utan en grammatik: därför vet den att spanskan säger ”doscientas páginas” och inte ”doscientos páginas”, att ryskan böjer räkneorden och att franskan räknar upp till nittio i tjog. Yappy tolkar dem i ren Rust, utan handskrivna listor.
Varför behövs en manusskrivare? Gör inte rösten det själv?
Nej, och det är med flit. Yappys röstmodell arbetar på teckennivå: den uttalar exakt det som kommer in som text. Det gör den snabb och lätt, men det betyder att om den får ”1492” försöker den uttala just det, siffra för siffra. I en sådan modell är normaliseringen uttalet. Manusskrivaren är biten som gör om vartenda tal, varje förkortning och varje symbol till de ord en människa skulle ha sagt.
På hur många språk fungerar den?
På de 31 som rösten talar, var och en med sina egna regler: hur datum ordnas, hur valutabelopp binds, ordningtal, förkortningar och romartal. Samma århundrade är ”femtonhundratalet” på svenska och ”fifteenth century” på engelska; ”Ludvig XIV” blir ”Ludvig den fjortonde” på svenska men ”Louis quatorze” på franska. Samma tolv uppgifter, trettioen grammatikor.
Varför hamnar karaoken alltid på exakt rätt ord?
För att skriptet inte bara är omvandlad text: det sparar en karta mellan det som skrivs och det som sägs. När rösten läser upp ”etttusen fyrahundranittiotvå” vet skriptet att orden kommer från siffrorna i ”1492”, och understrykningen landar rätt utan att förskjutas. Det är skillnaden mellan att belysa texten och att gissa sig fram.
Ett ord uttalas fel. Kan jag rätta det?
En användarordbok för uttal finns i nuläget inte. Eftersom modellen läser tecken är snabbvägen att skriva ordet så som det låter i redigeraren och lyssna en gång till. Och om det som strular är ett allmänt mönster (en förkortning, en akronym, en enhet), berätta om det i ärendena på GitHub: skriptverktygets tabeller växer med den sortens fall.
Är skriptverktyget på den här sidan samma som i appen?
Samma kod, kompilerad till WebAssembly så att den körs i din webbläsare. Det du skriver här lämnar aldrig fliken. Och eftersom hela projektet är öppet kan du läsa reglerna en och en i repot.

Manuset är hälften av historien; den andra hälften hörs.

Provlyssna