Pereiti prie turinio
Yappy Atsisiųsti
Kalba: lt

dalis, kurios kiti nerodo

Nuo parašyto iki pasakyto.

Garsiai skaityti – ne skandinimas, o interpretavimas. „1492“ sakoma „tūkstantis keturi šimtai devyniasdešimt du“; „Henris VIII“ – „Henris aštuntasis“, bet „Louis XIV“ prancūziškai – „Louis quatorze“; „EL CID“ nėra romėniškas skaičius; FBI skandinamas, NASA – ne. Prieš sintetinant bent vieną skiemenį, Yappy paverčia tekstą skaitymo scenarijumi: partitūra to, ką balsas iš tiesų pasakys.

Scenarijų kūrėjas

Išbandyk čia pat: tai tas pats Rust iš programėlės, sukompiliuotas tavo naršyklei.

Scenarijus atsiras čia, o pakeisti fragmentai bus pabraukti.

Dvylika amatų vienu ėjimu.

Datos

„24/5/1533“ tariama visa, su kiekvienos kalbos žodžių tvarka ir gimine.

Valandos

„14:05“ tariama taip, kaip pasakytų žmogus, o ne kaip perskaitytų laikrodis.

Pinigai

„3,50 €“ tariama „trys eurai su puse“, su teisinga daugiskaita.

Procentai

„7 %“ sakoma „septyni procentai“, o „0,5 %“ netampa vien „nulis kablelis penki“.

Matavimo vienetai

„230 °C“ sakoma „du šimtai trisdešimt laipsnių pagal Celsijų“.

Kelintiniai

„3-oji“ skaitoma „trečioji“ – su gimine ir linksniu, jei jie yra.

Romėniški skaitmenys su galva

„XX amžius“ – tai „dvidešimtas amžius“, „Henrikas VIII“ – „Henrikas Aštuntasis“, o „EL CID“ apskritai ne skaičius.

Akronimai pagal fonotaktiką

FBI ištariamas raidėmis, NASA – kaip žodis. Taisyklę lemia skambesys, ne sąrašas.

Trumpiniai

„ir kt.“, „p.“, „XIX a.“: kiekviena kalba turi savo lentelę.

Dideli skaičiai

Naudojamos Unicode CLDR RBNF gramatikos – su gimine ir linksniavimu.

31 kalba

Tos pačios taisyklės – kiekvienos kalbos gramatika. Be ranka rašytų sąrašų.

Ritmas

Antraštės po pasakymo turi kur atsikvėpti; sąrašai eina savo taktu. Pertraukos priklauso scenarijui, o ne atsitiktinumui.

Dažniausiai užduodami klausimai

Kas yra RBNF gramatikos?
RBNF yra Rule-Based Number Format trumpinys: taisyklės, kuriomis Unicode CLDR aprašo, kaip skaičius skaitomas kiekvienoje kalboje. Tai ne tūkstančio žodžių lentelė, o gramatika: todėl ji žino, kad lietuviškai sakoma „dvi akys“, o ne „du akys“, kad rusų kalba linksnioja skaitvardžius, o prancūzų iki devyniasdešimt skaičiuoja dvidešimtimis. Yappy jas interpretuoja grynuoju Rust – be ranka rašytų sąrašų.
Kodėl reikia scenarijų rengyklės? Argi neužtenka vien balso?
Ne, ir tai sąmoninga. Yappy balso modelis veikia simbolių lygiu: ištaria lygiai tai, ką gauna parašytą. Dėl to jis greitas ir lengvas, bet reiškia, kad gavęs „1492“ mėgins pasakyti lygiai tą patį – raidė po raidės. Tokiame modelyje normalizacija yra tarimas. Scenarijų rengyklė – dalis, kuri kiekvieną skaičių, kiekvieną akronimą ir kiekvieną simbolį paverčia žodžiais, kuriuos pasakytų žmogus.
Keliais kalbomis tai veikia?
Balsas moka 31 kalbą, ir kiekviena turi savo taisykles: datų tvarką, valiutų jungtį, kelintinius, trumpinius ir romėniškus skaitmenis. „XV amžius“ ispaniškai – „siglo quince“, angliškai – „fifteenth century“; „Louis XIV“ yra „Louis quatorze“, o ne „Louis fourteenth“. Tos pačios dvylika užduočių – trisdešimt viena gramatika.
Kodėl karaoke visada pataiko į tikslų žodį?
Nes scenarijus nėra vien paverstas tekstas: jis saugo žemėlapį tarp to, kas parašyta, ir to, kas ištarta. Kai balsas ištaria „tūkstantis keturi šimtai devyniasdešimt du”, scenarijus žino, kuris žodis kilęs iš kurio „1492” skaitmens, ir pabraukimas nusileidžia ant jo, nepasislinkdamas iš vietos. Tai skirtumas tarp teksto apšvietimo ir atspėjimo.
Vienas žodis tariamas neteisingai. Ar galiu jį pataisyti?
Vartotojo tarimo žodyno kol kas nėra. Kadangi modelis skaito raides, greičiausias kelias – redaktoriuje parašyti žodį taip, kaip jis skamba, ir paklausyti iš naujo. O jei klysta ne atskiras žodis, o bendresnis modelis (sutrumpinimas, santrumpa, matavimo vienetas), papasakok apie tai GitHub temose: scenarijų kūrėjo lentelės auga iš tokių atvejų.
Ar scenarijų kūrėjas šiame puslapyje toks pat, kaip programėlėje?
Tas pats kodas, sukompiliuotas į WebAssembly, kad veiktų tavo naršyklėje. Čia parašyta nepalieka tavo kortelės. O kadangi visas projektas atviras, taisykles gali perskaityti vieną po kitos saugykloje.

Scenarijus – pusė istorijos; kita pusė – tai, ką išgirsti.

Pasiklausyti pavyzdžio