Към съдържанието
Yappy Изтегли
Език: bg

частта, която никой друг не показва

От писаното към казаното.

Да четеш на глас не значи да наричаш по букви — значи да интерпретираш. „1492“ се казва „хиляда четиристотин деветдесет и две“; „Хенри VIII“ се казва „Хенри Осми“, но „Louis XIV“ на френски се казва „Луи Четиринадесети“; „EL CID“ не е римско число; FBI се изговаря по букви, а NASA — не. Преди да синтезира и една сричка, Yappy превръща текста в сценарий за четене: партитурата на това, което гласът наистина ще каже.

Сценаристът

Пробвай го направо тук: това е същият Rust като в приложението, компилиран за браузъра ти.

Сценарият ще се появи тук, а преобразуваното ще е подчертано.

Дванадесет занаята на един замах.

Дати

„24.05.1533“ се изговаря изцяло — с реда и рода на всеки език.

Часове

„14:05“ се казва както би казал човек, не както би прочел един часовник.

Валути

„3,50 €“ се казва „три евро и петдесет“, с множественото число, което трябва.

Проценти

„7 %“ се казва „седем процента“, а „0,5 %“ не се превръща в „нула цяло и пет“.

Единици

„230 °C“ се казва „двеста тридесет градуса по Целзий“.

Редни числителни

„3-та“ се казва „трета“, с рода и падежа — там, където ги има.

Римски цифри с ум

„XX век“ е бройно, „Енрике VIII“ е редно, а „ЕЛ СИД“ не е число.

Абревиатури по фонотактика

ФБР се казва по букви; НАСА се чете. Решава звученето, а не списък.

Съкращения

„и т.н.“, „стр.“, „XIX в.“: всеки език има своята таблица.

Големи числа

С граматиките RBNF на Unicode CLDR — род и падеж включително.

31 езика

Същите правила, с граматиката на всеки език. Без списъци, писани на ръка.

Ритъмът

Заглавията поемат дъх, след като се изговорят; списъците отмерват своя такт. Паузите са част от сценария, не от случайността.

Често задавани въпроси

Какво са граматиките RBNF?
RBNF е съкращение от Rule-Based Number Format: правилата, с които Unicode CLDR описва как се казва едно число на всеки език. Не е таблица с хиляда думи, а граматика: затова знае, че е „две страници“, а не „два страници“, че руският скланя числителните, а френският брои до деветдесет с двадесетици. Yappy ги интерпретира на чист Rust, без списъци, писани на ръка.
Защо е нужен сценарист? Не го прави ли самият глас?
Не, и това е нарочно. Гласовият модел на Yappy работи на ниво знак: произнася точно това, което получава написано. Това го прави бърз и лек, но значи, че ако получи „1492“, ще се опита да го каже точно така — цифра по цифра. В такъв модел нормализацията е произношението. Сценаристът е частта, която превръща всяка цифра, всяка абревиатура и всеки символ в думите, които би казал човек.
На колко езика работи?
На всичките 31 езика, които говори гласът, всеки със своите правила: редът на датите, връзката при валутите, редните числителни, съкращенията и римските цифри. XV век на испански се казва „siglo quince“, а на английски — „fifteenth century“; „Louis XIV“ е „Louis quatorze“, а не „Louis fourteenth“. Едни и същи дванадесет задачи, трийсет и една граматики.
Защо караокето винаги попада върху точната дума?
Защото скриптът не е само преобразеният текст: той пази връзката между написаното и казаното. Когато гласът изговори „хиляда четиристотин деветдесет и две“, скриптът знае, че тези думи идват от четирите цифри на „1492“, и подчертаното сяда точно отгоре, без да се измества. Това е разликата между да осветиш текста и да го отгатваш.
Думата се изговаря грешно. Мога ли да я поправя?
Потребителски речник за произношение засега няма. Тъй като моделът чете знаци, най-бързият път е да напишеш думата така, както звучи, в редактора и да я послушаш пак. А ако гърми нещо по-общо (съкращение, акроним, единица), опиши го в темите в GitHub: таблиците на скриптора растат с такива случаи.
Скрипторът на тази страница същият ли е като този в приложението?
Същият код, компилиран в WebAssembly, за да работи в браузъра ти. Това, което напишеш тук, не излиза от раздела ти. А понеже целият проект е отворен, можеш да прочетеш правилата едно по едно в хранилището.

Сценарият е половината от историята; другата половина се слуша.

Пусни проба