Siirry sisältöön
Yappy Lataa
Kieli: fi

se osa, jonka kukaan muu ei näytä

Kirjoitetusta puhutuksi.

Ääneen lukeminen ei ole kirjainten luettelointia: se on tulkintaa. ”1492” luetaan ”tuhat neljäsataa yhdeksänkymmentäkaksi”; ”Kaarle XII” luetaan ”Kaarle kahdestoista”, mutta ”Louis XIV” on ranskaksi ”Louis quatorze”; MIDI ei ole roomalainen numero; FBI lausutaan kirjain kerrallaan, NASA ei. Ennen kuin yhtään tavua on syntetisoitu, Yappy muuttaa tekstin lukukäsikirjoitukseksi: partituuriksi siitä, mitä ääni oikeasti sanoo.

Käsikirjoittaja

Kokeile heti tässä: sama Rust kuin sovelluksessa, käännettynä selaimeesi.

Käsikirjoitus ilmestyy tähän, muunnetut kohdat alleviivattuina.

Kaksitoista ammattia yhdellä kierroksella.

Päivämäärät

”24.5.1533” sanotaan kokonaan, kunkin kielen omassa järjestyksessä ja muodossa.

Kellonajat

”14.05” sanotaan niin kuin ihminen sen sanoisi, ei niin kuin kello lukisi.

Rahamäärät

”3,50 €” luetaan muodossa ’kolme euroa viisikymmentä’, monikko oikein.

Prosentit

”7 %” luetaan ”seitsemän prosenttia”, eikä ”0,5 %” muutu muotoon ”nolla pilkku viisi”.

Yksiköt

”230 °C” luetaan ”kaksisataakolmekymmentä celsiusastetta”.

Ordinaaliluvut

”3.ª” luetaan ”tercera”, omine sukineen ja taivutuksineen siellä, missä niitä on.

Roomalaiset numerot harkiten

”siglo XX” on kardinaaliluku, ”Enrique VIII” ordinaaliluku, eikä ”EL CID” ole numero lainkaan.

Lyhennesanat fonotaktiikan mukaan

FBI luetaan kirjain kirjaimelta, NASA sanana. Säännön päättää ääntämys, ei lista.

Lyhenteet

”jne.”, ”s.”, ”1800-luku”: jokaisella kielellä on oma taulukkonsa.

Suuret luvut

Unicode CLDR:n RBNF-kieliopit, sukuineen ja taivutuksineen.

31 kieltä

Samat säännöt, kunkin kielen kieliopilla. Ei käsin kirjoitettuja listoja.

Rytmi

Otsikon jälkeen hengitetään; luettelot lyövät tahtiaan. Tauot kuuluvat käsikirjoitukseen, eivät sattumaan.

Usein kysytyt kysymykset

Mitä ovat RBNF-kieliopit?
RBNF on lyhenne sanoista Rule-Based Number Format: säännöt, joilla Unicode CLDR kuvaa, miten luku lausutaan kullakin kielellä. Kyse ei ole tuhannen sanan taulukosta vaan kieliopista: siksi se tietää, että espanjaksi sanotaan ”doscientas páginas”, ei ”doscientos páginas”, että venäjä taivuttaa lukusanat ja että ranskan yhdeksänkymmentä on neljä kertaa kaksikymmentä ja kymmenen. Yappy tulkitsee ne puhtaalla Rustilla, ilman käsin kirjoitettuja listoja.
Miksi käsikirjoittaja tarvitaan? Eikö pelkkä ääni hoida tätä itse?
Ei, ja se on tahallaan. Yappyn äänimalli toimii merkkitasolla: se lausuu täsmälleen sen, mikä sille saapuu kirjoitettuna. Se tekee mallista nopean ja kevyen, mutta tarkoittaa myös, että luvun ”1492” se yrittää lausua juuri sellaisenaan, merkki merkiltä. Tällaisessa mallissa normalisointi on lausuminen. Käsikirjoittaja on se pala, joka muuttaa jokaisen luvun, lyhennesanan ja symbolin sanoiksi, jotka ihminen sanoisi.
Kuinka monella kielellä se toimii?
Niillä 31:llä, joita ääni puhuu, ja jokainen omilla säännöillään: päivämäärien järjestys, valuuttojen sidesana, ordinaaliluvut, lyhenteet ja roomalaisluvut. Vuosisata XV on espanjaksi ”siglo quince”, englanniksi ”fifteenth century”; ”Louis XIV” on ”Louis quatorze”, ei ”Louis fourteenth”. Samat kaksitoista tehtävää, kolmekymmentäyksi kielioppi.
Miksi karaoke osuu aina täsmälleen oikeaan sanaan?
Koska skripti ei ole pelkkää muunnettua tekstiä: se tallentaa yhteyden kirjoitetun ja puhutun välille. Kun ääni lausuu ”tuhat neljäsataa yhdeksänkymmentäkaksi”, skripti tietää, että ne neljä sanaa tulevat luvun 1492 neljästä numerosta, ja alleviivaus asettuu kohdalleen liukumatta. Siinä ero tekstin valaisemisen ja arvaamisen välillä.
Sana ääntyy väärin. Voinko korjata sen?
Käyttäjän omaa ääntämissanakirjaa ei toistaiseksi ole. Koska malli lukee merkkejä, nopein keino on kirjoittaa sana editoriin niin kuin se kuulostaa ja kuunnella se uudestaan. Jos vika on yleisempi kaava (lyhenne, akronyymi, mittayksikkö), kerro siitä GitHubin issues-listalla: skriptigeneraattorin taulukot kasvavat tällaisten tapausten myötä.
Onko tämän sivun skriptigeneraattori sama kuin sovelluksessa?
Sama koodi, käännettynä WebAssemblyksi, jotta se toimii selaimessasi. Mitä tänne kirjoitat, jää välilehdellesi. Ja koska koko projekti on avoin, voit lukea säännöt yksi kerrallaan repositoriosta.

Käsikirjoitus on puolet tarinasta; toinen puoli kuuluu korviin.

Kuuntele näyte