RuVoice 1.1.2 29 октября
Украинский язык
- Новый язык, два пака в релизе “Паки голосов”. cis_uk: два голоса той же модели Silero, что у cis_ru и cis_be (ukr_igor, ukr_roman, модель MIT). cis_uk_ext: пять голосов модели v5_cis_ext (ukr_kateryna, ukr_lada, ukr_mykyta, ukr_oleksa, ukr_tetiana), модель под CC BY-NC 4.0, только некоммерческое использование. Паки ставятся по отдельности или вместе, около 123 МБ каждый. Версия 1.1.1 и более ранние их не ставят.
- В читалках голоса называются igor-uk-cis, mykyta-uk-cis-ext и так далее, локаль uk-UA. В системных настройках синтеза появляется украинский язык движка, пока стоит хотя бы один украинский пак. Голос по умолчанию ukr_igor, без cis_uk - ukr_mykyta.
- Текст готовит свой украинский слой, по образцу белорусского. Язык выбирается по голосу, а не по тексту: русская фраза украинским голосом пойдёт по украинским правилам.
- Числа согласуются с существительным и предлогом: “1 книга” - “одна книга”, “з 5 друзями” - “з п’ятьма друзями”, “1 сім’я” - “одна сім’я”. Для этого в паке лежит морфология из словаря VESUM (CC BY-NC-SA 4.0).
- Дроби и десятичные: “3,14” - “три цілих чотирнадцять сотих”, “1,5 млн грн” - “півтора мільйона гривень”, “2½ кг” - “два з половиною кілограми”, “−5 °C” - “мінус п’ять градусів цельсія”.
- Даты, годы, время: “12.05.2026” - “дванадцяте травня дві тисячі двадцять шостого року”, “З 1941 по 1945 р.” - “з тисяча дев’ятсот сорок першого по тисяча дев’ятсот сорок п’ятий рік”, “о 7:05” - “о сьомій нуль п’ять”, “з 8:00 до 20:30” - “з восьмої години до двадцятої тридцяти”.
- Единицы и валюты: “5 км” - “п’ять кілометрів”, “1,20 UAH” - “одна гривня двадцять копійок”, “21,22 €” - “двадцять одне євро двадцять два центи”.
- Римские цифры в роде и падеже имени: “Петро I і Катерина II” - “петро перший і катерина друга”, “з Катериною II” - “з катериною другою”, “Микола II” - “микола другий”, “Після II світової війни” - “після другої світової війни”.
- Сокращения в нужном падеже: “У м. Києві” - “у місті києві”, “Їду в м. Київ” - “їду в місто київ”, “вул. Хрещатик, буд. 5, кв. 2”, “у 9 пов. будинку” - “у дев’ятиповерховому будинку”, “і т. д.”, “до н. е.”. После украинских сокращений предложение не обрывается.
- Аббревиатуры и латиница: “ЗСУ” - “зе-ес-у”, “USB” - “ю-ес-бі”, “5G, 3D-друк” - “п’ять джі, три ді-друк”. Формулы с буквами: “x² + y² = z²” - “ікс у квадраті плюс ігрек у квадраті дорівнює зет у квадраті”. Сочетания клавиш: “Ctrl + Shift + A” - “контрол плюс шіфт плюс ей”.
- Телефоны и коды по цифрам (“044 123-45-67” - “нуль сорок чотири, сто двадцять три, сорок п’ять, шістдесят сім”), ссылки и почта (“Пишіть на info@mail.ua” - “пишіть на інфо собачка мейл крапка уа”), эмодзи и имена знаков по-украински, по CLDR.
- Апостроф в любом написании (м’ясо, м’ясо, мʼясо) доходит до модели разделительным знаком.
- Ударения ставит украинский акцентор Silero Stress, поверх него действует список “Системный (украинский)” на вкладке “Ударения”: 30 365 слов из Викисловаря (через kaikki.org) и словаря eugenysilin, CC BY-SA 4.0. Омографы по контексту пока не различаются.
- Вопросы с “чи”, “або” и хвостом (“Ти прийдеш, правда?”) читаются с подъёмом к концу.
- В “Правилах чтения” новая вкладка “Украинские голоса”, подсказки к правилам с украинскими примерами. Перевода интерфейса на украинский нет.
- Носитель языка эти правила ещё не проверял. Если что-то звучит не так, пишите.
Числа и даты
- Числа от триллиона перед словом (“1 026 000 000 000 килограммов”) больше не ломают чтение фразы.
- Дата и время перед точкой в конце фразы больше не читаются дробью: “Срок до 1.09.” - “до первого сентября”, “Работаем с 9.00 до 18.00.” - “с девяти часов до восемнадцати часов”, “Отпуск 12.05 – 26.05.”. “Поезд прибыл в 7.12.” теперь время, а не “седьмого декабря”.
- День даты без года ставится в падеж предлога: “по двадцать шестое мая”, “к пятнадцатому августа”.
- Диапазон дат “28.09.26 – 03.10.26” больше не читается как номер телефона.
- Номер раздела через “точка”: “Раздел 3.2.1” - “раздел три точка два точка один”, раньше было “раздел третий два точка один”. То же для “Табл. 5.22 – 5.25”, “главы 1.2–1.4”, “частью 2.1”.
- Число с точкой перед “тыс.”, “млн” и перед процентом: “Ст. 12.1 тыс. руб.” - “статья двенадцать целых одна десятая тысячи рублей”, “В обеих частях 1.5 тыс. страниц” - “полторы тысячи”, “Инфляция замедлилась до 7.25%” - “до семи целых двадцати пяти сотых процента”. Раньше получались даты и время.
- Дробь перед “тысячи”: “Продано 1,2 тысячи книг” - “одна целая две десятых тысячи”, раньше было “один,две тысячи”. То же для “0,2 секунды”.
- Разряд после предлога в падеже числа: “около 1 млн человек” - “около одного миллиона человек” (было “около одного миллионов”), “к 2 млн рублей” - “к двум миллионам рублей”, “Длина ок. 100 км” - “около ста километров”.
- Десятичная дробь склоняется: “с 2.50 рублями” - “с двумя целыми пятьюдесятью сотыми рубля”, “К 7,5 годам” - “к семи целым пяти десятым года”, “При 36,6 градусах” - “при тридцати шести целых шести десятых градуса”.
- “г.” после “ок.”, в скобках и с одной-двумя цифрами читается годом, а не граммами: “Умер ок. 990 г.” - “умер около девятьсот девяностого года”. Граммы остаются там, где это вес: “Растворите в 10 г. спирта”, “Монета весила ок. 8 г.”.
- “ум.” и “род.” в биографиях: “Князь Игорь (ум. 945)” - “умер в девятьсот сорок пятом году”, “Анна Ахматова (род. 1889)” - “родилась в тысяча восемьсот восемьдесят девятом году”, “Он род. в 1890 г. в Туле.” - “родился”. “род. п.” по-прежнему не раскрывается.
- “Превышение в 1341 раз” - “в одну тысячу триста сорок один раз”, раньше было “сорок одну раз”. Так же “За 1002 рубля” - “одну тысячу два рубля”, “Получил 1001 голос” - “одну тысячу один голос”.
- “ЛжеДмитрий II” - “лжедмитрий второй”, “При ЛжеДмитрии II” - “при лжедмитрии втором”.
- “Набрано: 4 820 / 11 000” - “четыре тысячи восемьсот двадцать дробь одиннадцать тысяч”, раньше было три числа подряд.
- UFC, NBA, HBO, MMA, WWE, ATP, AMD, UPS, ABC, MBA, ATM, UAE, USD, AOL по буквам: “UFC” - “ю эф си”, раньше было слово “уфк”.
Экранный чтец и длинный текст
- Длинная фраза больше не режется внутри числа: по десятичной запятой (“и 49,2 тысячи евро”), между разрядами (“1 026 | 000”), между числом и словом (“15 | рублей”). Предлог и сокращение тоже остаются с числом (“до 11:45”, “под № 7”). Это общее для всех языков.
- “чел.”, “прил.”, “ум.”, “род.” перед строчной буквой или цифрой больше не кончают предложение: “Пришли 20 тыс. чел. и остались до вечера.” - одна фраза. “ок.” перед числом читается “около”, а реплика остаётся репликой: ”— Ок. 5 минут и выходим.” - “ок”. После запятой и тире перед единицей или годом тоже “около”: “Высота горы — ок. 2000 м”.
- Неразрывный пробел между словами (из книг и сайтов) больше не мешает заменам и правилам: “в кому” читается как “в к+ому”, “т. е.” раскрывается. У чисел он по-прежнему склеивает разряды.
- “в пос. Лесной” читается одной фразой, а “Мы приехали в пос. Он был пуст.” делится на две.
Ударения
- “скажи-ка”, “ну-ка”, “давай-ка” читаются слитно, без ударного “ка” на конце.
- “в суете́” больше не становится “суёте”.
- “до кро́ви”, “избили до кро́ви”, раньше было “до́крови”.
- Для омографов добавлены фразы с контекстом: “в суете́”, “пого́ню организовать”, “глаза́ не опускает”, “плеснула вина́”, “Кита́й-го́рода”, “с ды́бы”, “под корень извести́”, “рассо́рить их”, “вы меня торо́пите”, “по обе сто́роны дороги”. Второе чтение этих слов осталось как было.
- “бе́здарю”, “поддоспе́шник”, “засопо́жник”, “Ива́шка”, “круголя́”, “Ермо́шка”, “восьмифунто́вых” и другие “-фунто́вый”.
- “строго-настрого” читается с “-ога” на конце.
- “холёный” и “благоприобретённый” во всех формах читаются с “ё”, даже если в тексте написано через “е”.
- “пахнуло по́том”, “разило конским по́том”, “кабинет пропах по́том” и другие глаголы запаха. Наречие “потом мы ушли” не изменилось.
Белорусский
- “з 8:00 да 24:00” - “з васьмі гадзін да дваццаці чатырох гадзін”.
- Разрезы длинной фразы внутри чисел исправлены так же, как в русском.
Правила чтения
- Вкладки языков прокручиваются, их подписи не обрезаются при шрифте 200 %.
- Кнопка в “О программе” и подсказка к пакам ведут на сайт https://ruvoice-tts.github.io, ссылки на GitHub остались ниже.
Две сборки
- ruvoice-tts-1.1.2.apk, около 244 МБ. Модель с 22 голосами внутри, ставится и работает сразу.
- ruvoice-tts-1.1.2-lite.apk, около 157 МБ. Без модели, голоса ставятся паками из релиза “Паки голосов”: ru (штатные пять) или ru_voices (те же 22 голоса, что в полной сборке). Пак скачивается один раз и остаётся при обновлениях, дальше можно ставить только lite. каждое обновление lite версии на 85 МБ легче, голоса заново качать не нужно.
Как обновиться
Ставьте новый APK поверх, ничего удалять не нужно. Настройки, словари и паки остаются. Это работает для обеих сборок: можно поставить lite поверх полной, но тогда понадобится пак ru или ru_voices. Если поставили lite, а потом захотели обратно полную, тоже ставьте поверх. Пак ru_voices станет лишним, а пак ru можно оставить ради прежнего звучания штатных голосов. Украинские паки cis_uk и cis_uk_ext ставятся через “Установить из файла…”, как написано ниже.
Дополнительные голоса
Меню -> “Дополнительные голоса…” -> “Установить из файла…”. Паки лежат в отдельном релизе “Паки голосов”, он не привязан к версии приложения: ru (штатные пять голосов с родным вокодером), ru_voices (22 голоса полной сборки, для lite), cis_be (три белорусских голоса, с 1.1.0, морфология с 1.1.1), cis_uk (два украинских голоса, с 1.1.2, модель MIT), cis_uk_ext (пять украинских голосов другой модели Silero, с 1.1.2, CC BY-NC 4.0, только некоммерческое использование) и cis_ru (29 русских голосов из другой модели Silero, эксперимент: модель старее, может хуже с ударениями, омографами и произношением, интонации вопросов у неё нет). В обоих украинских паках одинаковые словарь ударений (CC BY-SA 4.0) и морфология (CC BY-NC-SA 4.0).
Android 6.0+, arm64. Модель Silero v5_5_ru (CC BY-NC-SA 4.0, только некоммерческое использование). Как подключить движок к читалке или экранному чтецу, рассказывает справка “Как включить” в меню приложения.
Сайт: https://ruvoice-tts.github.io Паки голосов: https://ruvoice-tts.github.io/packs/
На GitHub: релизы https://github.com/kost-t-human/ruvoice-tts/releases, паки https://github.com/kost-t-human/ruvoice-tts/releases/tag/packs