Разработчик представил библиотеку на Python из 155 строк кода для нормализации русских чисел перед их передачей в системы синтеза речи (TTS). Инструмент использует одну зависимость — num2words.
Решение преобразует цифры в слова, что исключает ошибки при чтении дат, телефонных номеров, сумм и процентов. Такой подход обеспечивает единообразие произношения независимо от используемого движка синтеза.
Обработка данных происходит в строго заданном порядке: сначала даты, затем телефоны, деньги, проценты, номера заказов и в конце — остальные числа. Это позволяет избежать конфликтов между регулярными выражениями.
Для телефонных номеров реализована логика чтения групп с ведущим нулем по отдельным цифрам, что предотвращает искажение информации. Также предусмотрена функция склонения существительных и опциональная поддержка ударений через RUAccent.
Библиотека распространяется под лицензией MIT. В проект включено семь тестов для проверки корректности склонений и форматов, что позволяет легко переносить решение между различными голосовыми агентами.






