Перейти до вмісту
Yappy Завантажити
Мова: uk

та деталь, яку ніхто інший не показує

Від написаного до сказаного.

Читати вголос — не значить буква за буквою: це інтерпретація. «1492» читається як «одна тисяча чотириста дев'яносто два»; «Генріх VIII» — як «Генріх Восьмий», але французьке «Louis XIV» — «Louis quatorze»; «EL CID» — не римське число; «FBI» вимовляють по літерах, а «NASA» — як слово. Перш ніж синтезувати хоча б один склад, Yappy перетворює текст на сценарій читання: партитуру того, що голос насправді промовить.

Сценарист

Спробуйте прямо тут: це той самий Rust, що й у застосунку, скомпільований для вашого браузера.

Тут з'явиться сценарій — перетворене буде підкреслено.

Дванадцять ремесел за один прохід.

Дати

«24.05.1533» вимовляється повністю, з порядком і родом кожної мови.

Час

«14:05» вимовляється так, як сказала б людина, а не як прочитав би годинник.

Гроші

«3,50 €» вимовляється як «три євро п’ятдесят», з правильним числом.

Відсотки

«7 %» читається як «сім відсотків», а «0,5 %» не перетворюється на «нуль кома п'ять».

Одиниці

«230 °C» читається як «двісті тридцять градусів Цельсія».

Порядкові

«3-тя» читається як «третя» — із родом і відмінком, де вони є.

Римські цифри з розумом

«XX століття» — кількісний, «Генріх VIII» — порядковий, а «ЕЛЬ СІД» — узагалі не число.

Абревіатури за фонотактикою

FBI вимовляють по літерах; NASA читають як слово. Правило визначає звучання, а не список.

Скорочення

«тощо», «стор.», «XIX ст.»: у кожної мови — своя таблиця.

Великі числа

Граматики RBNF з Unicode CLDR — включно з родом і відмінками.

31 мова

Ті самі правила, але з граматикою кожної мови. Без списків, написаних вручну.

Ритм

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

Часті запитання

Що таке граматики RBNF?
RBNF — це скорочення від Rule-Based Number Format: правила, за якими Unicode CLDR описує, як у кожній мові вимовляється число. Це не таблиця на тисячу слів, а граматика: тому вона знає, що іспанською буде «doscientas páginas», а не «doscientos páginas», що російська відмінює числівники, а французька рахує до дев'яноста двадцятками. Yappy інтерпретує їх на чистому Rust, без списків, написаних вручну.
Навіщо потрібен сценарист? Хіба сам голос не впорається?
Ні, і це навмисно. Голосова модель Yappy працює на рівні символів: вимовляє рівно те, що їй написали. Це робить її швидкою й легкою, але водночас означає, що якщо їй трапиться «1492», вона спробує вимовити саме це, літера за літерою. У такій моделі нормалізація і є вимова. Сценарист — та частина, що перетворює кожне число, кожну абревіатуру й кожен символ на слова, які сказала б людина.
Скількома мовами це працює?
На 31 мові, яку говорить голос, — і в кожної свої правила: порядок дат, сполучник у назвах валют, порядкові, скорочення й римські цифри. «XV століття» іспанською — «siglo quince», англійською — «fifteenth century»; «Louis XIV» — це «Louis quatorze», а не «Louis fourteenth». Ті самі дванадцять завдань — тридцять одна граматика.
Чому караоке завжди падає точно на потрібне слово?
Бо скрипт — це не просто перетворений текст: він зберігає мапу між написаним і промовленим. Коли голос вимовляє «тисяча чотириста дев'яносто два», скрипт знає, що ці чотири слова походять від чотирьох цифр «1492», — і підкреслення лягає точно на місце й нікуди не зсувається. Одна річ — підсвітити текст. Інша — вгадати його.
Слово вимовляється неправильно. Чи можу я його виправити?
Наразі власного словника вимови немає. Модель читає символи, тому найшвидший шлях — написати слово в редакторі так, як воно звучить, і прослухати ще раз. А якщо проблема в загальному правилі (скорочення, акронім, одиниця вимірювання), розкажіть про неї в issues на GitHub: таблиці генератора скриптів ростуть із таких випадків.
Генератор скриптів на цій сторінці — той самий, що в застосунку?
Той самий код, скомпільований у WebAssembly, щоб він працював у вашому браузері. Те, що ви тут введете, не покидає вкладки. І оскільки весь проєкт відкритий, правила можна прочитати одне за одним в репозиторії.

Сценарій — половина історії; іншу половину чують.

Послухати зразок