Всех приветствую!
Для обеспечения доступности, пришлось написать отдельное приложение,
которое представляю в ознакомительных целях.
Теперь синтез доступен на любой машине и, помимо Виндовс, на Маке и Линукс.
Изначально прога написана для использования с видео картой nvidea с
CUDA, но за неимением таковой, подключил процесс синтеза на ЦП, что
конечно же, отразилось на скорости синтеза. Но что делать. Пока так.
Использование процессора в оптимаальном режиме. Без разгона и прочих
хитростей. Запустив синтез на отдельном рабочем столе, на другом можно
спокойно пользоваться компом.
Во всяком случае, на своём древнем Cor i5, с четырьмя ядрами и восемью
гигабайтами оперативной памяти, нагрузки на проц не ощущаю.
Установка проста. Выполняем ниже написанное и проблем возникнуть не должно.
Использование ещё проще.
Написал вэб интерфейс, в котором разобраться не составит никакого труда.
После распаковки программы на диск C, открываем её папку, в которой
находится папка Web-Vosk-TTS.
В ней нас интересуют два файла start-console.bat, для запуска терминала
и web-interface, ярлычок для запуска браузера. То есть, запустили
терминал, запустили браузер.
После открытия окна программы, библиотека и голос, первый в списке,
подгружаются автоматически.
В программе уже присутствуют две библиотеки. В одной пять голосов, в
другой 57.
Выбрали модель, выбрали голос, закинули текст, запустили синтез.
Для обработки одного файла и обработки пакетной, два разных модуля.
Прикрутил озвучку запуска синтеза, звук на ошибку, звук индикации
прогресса и звук окончания синтеза.
Готовые файлы можно скачать и прослушать, из программы, или, забрать,
что проще, из папки out.
Файлы сохраняются в формате wav. С перекодировкой в mp3 морочиться не
стал, дабы пощадить процессор от этой операции.
Требование к тексту. Файл txt. Кодировка utf 8 и объём обрабатываемого
текста не более 20000 символов.
То есть, в Балаболке книгу нарезали и на обработку отправили. Более
ничего не требуется. Чистка и оптимизация текста происходит под капотом
программы, ибо голоса Vosk-TTS имеют обыкновение падать при
столкновении в тексте, с некоторыми символами.
Достаточно натолкнуться даже на кавычки ёлочки, чтобы процесс
остановился. Поэтому, пришлось добавить обработку текста, чтобы избежать
ошибок и падений.
Если попадаем на символ, на котором обработка останавливается, кидаем
мне, для добавления в исключения.
В одном тексте наткнулся на слово Metro. Обработка останавливалась на
букве o. Почему, так и не понял, чем эта буква не угодила.
Также, в корне папки программы, положил ярлычок на сайт ruaccent. На нём
можно по быстрому расставить в тексте ударения.
Ударения для голосов, ставятся знаком плюс перед ударной глассной.
И так... Переходим к установке.
Повторяю, программа предоставляется для ознакомления и её использование
на ваш страх и риск.
Не испугались? Тогда продолжим.
Для облегчения просмотра коmандной строки, скачиваем дополнение для nvda.
Это облегчит просмотр логов и, если понадобится, выполнение команд.
Скачиваем, устанавливаем и назначаем горячие клавиши для запуска.
Ссылка для скачивание:
https://nvda.ru/uploads/addons/ConsoleLog-V.1.4.nvda-addon
Далее, если не установлено.
Скачиваем, распаковываем и файлы ffmpeg.exe и ffprobe.exe закидываем в
корень папки Windows, что на диске C.
ffmpeg-8.0-full_build
Ссылка для скачивания:
https://yadi.sk/d/xBy95aNVDhHTlg
Далее, если не установлено.
Требуется установить onnxruntime
В корне папки программы запускаем command line.cmd и выполняем команду:
pip install onnxruntime # CPU build
Ниже, ссылки на саму программу. Из за большого объёма, пришлось разбить
на три части.
В ней уже присутствуют и библиотеки моделей, и необходимое виртуальное
окружение.
Скачиваем, распаковываем в корень диска C.
Часть 1.
https://yadi.sk/d/0C_IqxIMUmN_NA
Часть 2.
https://yadi.sk/d/_ZqTCnRR-8df5Q
Часть 3.
https://yadi.sk/d/UThEo4ZhBcVftA
Благополучного использования!