Liigu sisuni
Yappy Laadi alla
Keel: et

see, mida keegi teine ei näita

Kirjutatust kõnelduks.

Ette lugemine ei ole tähitamine: see on tõlgendamine. „1492“ öeldakse „tuhat nelisada üheksakümmend kaks“; „Henry VIII“ öeldakse „Henry kaheksas“, aga „Louis XIV“ on prantsuse keeles „Louis quatorze“; „EL CID“ ei ole rooma number; FBI öeldakse tähe haaval, NASA mitte. Enne ühegi silbi sünteesimist teeb Yappy tekstist lugemisskripti: partituuri sellest, mida hääl tõeliselt ütlema hakkab.

Skriptija

Proovi seda siin kohapeal: see on sama Rust, mis rakenduseski, kompileeritud sinu brauseri jaoks.

Skript ilmub siia, teisendatud kohad allajoonituna.

Kaksteist ametit ühe korruga.

Kuupäevad

„24/5/1533“ öeldakse välja tervenisti, iga keele järjestuse ja soo järgi.

Kellaajad

„14:05“ öeldakse nii, nagu inimene ütleks, mitte nii, nagu kell loeks.

Rahad

„3,50 €“ öeldakse „kolm eurot viiskümmend“ – õiges vormis.

Protsendid

„7%“ üteldakse „seitse protsenti“, aga „0,5%“ ei hääldu lihtsalt kui „null koma viis“.

Unidades

„230 °C“ üteldakse „kakssada kolmkümmend Celsiuse kraadi“.

Ordinales

„3.ª“ üteldakse „tercera“ – õiges soos ja käändes seal, kus keel neid eristab.

Rooma numbrid mõistusega

„siglo XX“ on kardinaalarv, „Enrique VIII“ ordinaalarv ja „EL CID“ pole üldse number.

Lühendid fonotaktika põhjal

FBI tähtlitakse; NASA loetakse sõnana. Reegli määrab see, kuidas lühend kõlab, mitte mõni nimekiri.

Abreviaturas

„jne“, „lk“, „19. saj“: igal keelel on oma tabel.

Números grandes

Unicode CLDR-i RBNF-grammatikad, sugu ja käänded kaasa arvatud.

31 idiomas

Samad reeglid, iga keele oma grammatikaga. Käsitsi kirjutatud nimekirju pole.

El ritmo

Pealkirjad hingavad pärast ütlemist; loendid löövad oma takti. Pausid on osa skriptist, mitte juhusest.

Korduma kippuvad küsimused

Mis on RBNF-grammatikad?
RBNF on lühend nimetusest Rule-Based Number Format: reeglid, millega Unicode CLDR kirjeldab, kuidas iga keel arvu välja ütleb. See ei ole tuhandesõnaline tabel, vaid grammatika: seepärast teab ta, et hispaania keeles öeldakse „doscientas páginas“ ja mitte „doscientos páginas“, et vene keel numeraale käänab ja et prantsuse keel loeb üheksakümmendeni kahekümnetekaupa. Yappy tõlgendab neid reegleid puhtas Rustis, ilma käsitsi kirjutatud nimekirjadeta.
Miks on vaja skriptikoostajat? Kas hääl ei saa üksi hakkama?
Ei, ja see on taotletud. Yappy häälemudel töötab märgitasandil: ta hääldab täpselt seda, mis talle kirjapanduna kohale jõuab. See teeb ta kiireks ja kergeks, aga tähendab, et kui talle jõuab „1492“, püüab ta just seda täht tähe haaval välja öelda. Sellises mudelis on normaliseerimine ongi hääldus. Skriptikoostaja on see osa, mis teisendab iga arvu, iga lühendi ja iga sümboli sõnadeks, mida inimene ütleks.
Mitmes keeles see töötab?
Kõigis 31 keeles, mida hääl räägib, ja igal oma reeglid: kuupäevade järjekord, rahaühikute side, ordinaalarvud, lühendid ja rooma numbrid. XV sajand on hispaania keeles „siglo quince“ ja inglise keeles „fifteenth century“; „Louis XIV“ on „Louis quatorze“ ja mitte „Louis fourteenth“. Samad kaksteist ülesannet, kolmkümmend üks grammatika.
Miks tabab karaoké alati täpselt õiget sõna?
Sest skript ei ole pelgalt teisendatud tekst: see hoiab vastavuse kirjutatu ja hääldatu vahel. Kui hääl loeb ette „tuhat nelisada üheksakümmend kaks“, teab skript, et need neli sõna tulevad arvu „1492“ neljast numbrist ja allajoon langeb täpselt kohale, ilma et midagi nihkuks. See on vahe selle vahel, kas teksti valgustatakse või püütakse ära arvata.
Sõna hääldatakse valesti. Kas ma saan seda parandada?
Kasutajapoolset hääldussõnaraamatut praegu pole. Kuna mudel loeb tähti, on kiireim tee kirjutada sõna redaktoris nii, nagu ta kõlab, ja kuulata uuesti ära. Kui aga viga on üldises mustris (lühend, akronüüm või ühik), kirjuta sellest GitHubi issuesse: skriptikoostaja tabelid kasvavad just selliste juhtumitega.
Kas selle lehe skriptikoostaja on sama, mis rakenduses?
Sama kood, kompileeritud WebAssemblyks, et see töötaks sinu brauseris. See, mida siia kirjutad, ei lahku sinu vahelehelt. Ja kuna kogu projekt on avatud, võid reeglid ükshaaval läbi lugeda repositooriumis.

Skript on pool loost; teist poolt kuulatakse.

Kuula näidist