И так вот и новая версия на подходе https://cloud.mail.ru/public/7jkJ/Kw7HnWAmG
Обращаю внимания что TTS_OffCon_V4.3.exe это УСТАНОВОЧНЫЙ пакет. Не используйте его если у Вас установлен python с которым вы работаете. Причина - смена ассоциаций файлов, однако для запуска не нужны будут батники. Собран программой Advanced Installe
Добавлено: - Имя файла наследуется от источника (Не желательны пробелы в именах) - Готовые файлы перемещаются в указанный каталог. Команда -OD OUT_DIR, --out_dir OUT_DIR - Отдельный каталог для аудио. Открывается после завершения операции - Автоопределени между UTF-8 и CP1251
Оптимизировано: - Файлы можно указывать из любого места.
Изменения: - Подключение отдельного словаря. Не забудье тогда обьеденить славари иначе простоновка ударенний БУДЕТ РАБОТАТЬ НЕ КОРРЕКТНО и вызовет ошибку. - Разбиение текста. Увиличение паузы между предложениями. - Запуск через батники. - Звук оканчания можно выключить.
Исправленния: - SSML работает.
Сообщение отредактировал Pin240 - Четверг, 11.08.2022, 18:15
Ув. tonio_k, большая просьба, если это возможно, выложите Сборку Demagog для models silero и на другом ресурсе, например, на Гугл-диске. А то в нас все сервисы Яндекса заблокированы.
Сообщение отредактировал kostia - Суббота, 13.08.2022, 23:41
Дата: Воскресенье, 14.08.2022, 19:54 | Сообщение #50
Группа: Пользователи
Сообщений: 4
Статус: Offline
Спасибо, ув. tonio_k. Пробовал записать небольшой текст. Выдает сбой - скриншот ниже. Все настройки и указания выполнял по инструкции строго и несколько раз. Может это потому, что у меня Windows 32-разрядная, а Питон предназначен для 64-разрядной? Мое предположение только...
Дата: Воскресенье, 14.08.2022, 21:07 | Сообщение #51
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитатаkostia ()
у меня Windows 32-разрядная
Да, в этом дело. Даже не думал, что кто то на 32 сидит У меня нет 32 битной windows что бы сделать на её основе сборку, но я попробую. Может получится?
Дата: Воскресенье, 14.08.2022, 21:31 | Сообщение #52
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитатаtonio_k ()
Сборка Demagog для models silero от tonio_k (2022-08-13)
Перезалил архив. Добавил скрипт для работы со словарями. Теперь Если к выделенному небольшому куску текста применить Ctrl+Shift+5 или Ctrl+Shift+F, то произойдёт озвучка текста вслух без применения словарей. При этом, ударение можно указать как "+", так и сделав ударную букву заглавной: слОво В скрипте ОЗВУЧИТЬ ВЫДЕЛЕННЫЙ ФРАГМЕНТ Качество аудио установил - 8000. Для работы со словарями - достаточно, зато результат быстрее.
Оказывается, выбранное качество (8000 или 24000 или 48000) влияет на скорость создания аудио! Спасибо ув. Pin240 за подсказку я бы не сразу догадался:
Pin240: 48kHz Самый долгий и качественный (-1.4x для старых CPU) 24kHz Средний (-2.1x для старых CPU) 8kHz Самый ,быстрый качество - телефоный звук (~7x для старых CPU) это для моего старого проца
От себя добавлю, 8000 ощущение, будто старый автоответчик по телефону отвечает.
Сообщение отредактировал tonio_k - Воскресенье, 14.08.2022, 22:20
Дата: Воскресенье, 14.08.2022, 22:09 | Сообщение #53
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитатаkostia ()
у меня Windows 32
К сожалению, у меня не получается установить Pytorch из под 32-битного Python. Ругается:
F:\python-3.7.9_x32>pip3 install torch torchvision torchaudio ERROR: Could not find a version that satisfies the requirement torch (from versions: none) ERROR: No matching distribution found for torch
Боюсь, голосовой движок работает только под х64. Или я что то не так делаю.
Сообщение отредактировал tonio_k - Воскресенье, 14.08.2022, 22:10
kostia Для обучения и создание модели , для звука, требуется более 4 Гб ОЗУ и в некоторых случаях в разы больше( для модели 48000Гц требуется не менее 32Гб и видяху из серии rtx с 16Гб! ). По этому требуется x64 версии. Даже если пересобрать из исходников torch в след за ним придется еще кучу пакетов пересобирать, и даже после этого нет 100% гарантии работоспособности, так как некоторые функции могли быть заточены на х64. Но очень хочется по пробовать собрать :D
Сообщение отредактировал Pin240 - Среда, 17.08.2022, 17:28
Дата: Воскресенье, 28.08.2022, 23:36 | Сообщение #57
Группа: Пользователи
Сообщений: 104
Статус: Offline
Скрипт еще жив)) Работа потихоньку идет Вылез не приятный баг с большими текстами(более 1.5МВ размера), при расстановке ударения. Вылетает ошибка переполнения памяти. Поэтому снова лапатить деление + немного изменить структуру кода на более правильную и менее карявую. Со следующей версии можно будет пакетно обрабатывать файлы. 1) скопировать текстовые файлы txt (с любым именем ) в каталог. 2) запустить bat и указать ЛЮБОЙ путь. В указном каталоге будет создан подкаталог с именем книги и заветным содержимым По умолчанию каталог откроется после завершения.
В новостях от разраба модели узнал что скоро свой модуль расстановки ударения можно будет удалить, так как в модели он будет уже встроен и до учен как полагается(с 4 версии модели ). Он и сейчас есть, но его эффективность хромает. До очередной версии осталось не долго
Акцентирую я ставлю цель сделать не читалку в реальном времени, а инструмент перегона текста в аудио
Сообщение отредактировал Pin240 - Воскресенье, 28.08.2022, 23:37
Дата: Понедельник, 29.08.2022, 09:42 | Сообщение #58
Группа: Пользователи
Сообщений: 139
Статус: Offline
ЦитатаPin240 ()
при расстановке ударения.Вылетает ошибка переполнения памяти.
Нужно словари применять не ко всему тексту, а к каждому отрезку, на которой текст разбирается. Оптимально будет разбить текст на куски размером примерно на страницу А4 по количеству символов. А если словарь создавать и пополнять с привязкой к ключевому слову, то скорость работы словаря можно увеличить в разы. И с памятью проблемы не будет... Ну, может, в отдалённом будущем, когда словарь разрастётся.
ЦитатаPin240 ()
скоро свой модуль расстановки ударения можно будет удалить, так как в модели он будет уже встроен
может, и можно будет очистить сам словарь, если на практике выяснилось, что словарь чаще вносит ошибки в произношение, чем улучшает. А вот модуль и сам словарь удалять не стоит. Как бы разработчик не обучал свою модель, Русский язык такой многогранный предмет, что словарь, все равно будет нужен. В теории, может и можно обучить модель так, что произношение с субъективного "терпимо" перейдёт в категорию "приемлемо". Но даже тут для перфекционистов нужно оставить инструменты для творчества.
А вообще, когда произношение голосового движка качественно улучшается, для составителя словарей это головная боль. Столько своих наработок сделано, сидишь и думаешь, что проще: оставить свой словарь "как есть" и исправлять его только когда возникают ложные срабатывания, или удалить полностью все словари и добавлять правила по мере выявления косяков самого голосового движка. А если новый голосовой движок появится более качественный по звучанию, но хуже по расстановке ударений, и вообще как узнать, на сколько лучше теперь обучена модель? На какого рода книгах она обучалась? Столько нюансов...
Дата: Понедельник, 29.08.2022, 20:36 | Сообщение #59
Группа: Пользователи
Сообщений: 104
Статус: Offline
Цитата tonio_k Оптимально будет разбить текст на куски
90% это будет отдельная настройка, так как на каждом компе разное кол-во оперативы. Я уже провожу тесты на загруженность памяти исходя из кол-ва символов. Примерно 1гб на 100 000 символов. Заметил факт. даже если будет 500 символов время займет 3 минуты. 5000 слов ~ 6.8Гб (ОЗУ и подкачки вместе) кстати за 4-6 мин справляется. Опробовал сразу 2 млн символов итог 32Гб озу с подкачкой. Естественно из за скорости HDD ждать долго (у меня 8 гб оперативы). Цитата tonio_kс привязкой к ключевому слову
Так он и работает.
Цитата tonio_k теперь обучена модель?
Ее не обучают с 0 - ее ДОучивают. Теперь в моем словаре почти чисто. Там остались замены для ударений и некоторые спец символы. Поэтому я написал: Если делаете свой словарь скопируйте из моего замены их не много выглядят так
Код А́ = +А Е́ = +Е И́ = +И О́ = +О У́ = +У Э́ = +Э Ю́ = +Ю Я́ = +Я а́ = +а е́ = +е и́ = +и о́ = +о у́ = +у ы́ = +ы э́ = +э ю́ = +ю я́ = +я Лично я пользуюсь простанавкой ударений и иногда в словарь имена за нашу.
Сообщение отредактировал Pin240 - Понедельник, 29.08.2022, 20:40
1)Закидываем txt файлы в каталог 2) Запускаем Picobook_TTS_Offline_Console_V4.5_CC_ALL_TXT.bat 3) Пару раз жмем пробел и указываем нужный путь. Чтобы не писать в ручную можно просто перенести нужный каталог в консоль. Она сама отобразит путь 4) Ждем процесс.
Справку по командам получаем через Picobook_TTS_Offline_Console_V4.5_CC_HELP.bat и в открыв Picobook_TTS_Offline_Console_V4.5_CC_ALL_TXT.bat в любом текстовом редакторе поменяйте на нужные вам.
Сейчас в Picobook_TTS_Offline_Console_V4.5_CC_ALL_TXT.bat такое содержимое: Код @chcp 1251::Запуск чисткиcall clear.bat echo Чистка закончилась Set /P $Input= Введите путь к каталогу для продолжения или перенесите каталог в консоль ^> FOR %%f IN (*.txt) DO (echo.echo %%fpython.exe Picobook_TTS_Offline_Console_V4.5_CC.py -C 6 -SM 2 -ATF 0.85 -SG 1 -ST 750 -R 1 -SP 4 -T "%%f" -OD %$Input% -OPD 1 -H 0 -S 1 -HT 0 ) ::Открыть текущий каталог::start %cd% @chcp 65001 pause
Появился флаг -ATF 0.85 Он усредняет скорость темпа. Скачки в скорости голоса становятся медленней так как используется среднеквадратичное значение. Сейчас постановка ударения отключена -HT 0. Параметр -C 6 - кол-во задействованных ядер. Даже если у вас их 2 - это не вызовет ошибку. Просто проц будет использовать все доступные ядра в плоть до 6 включительно, если их 8. Кому лень редачит bat, прикрепил Picobook_TTS_Offline_Console_V4.5_CC_ALL_TXT_C1_HT1.bat с таким кодом: Код @chcp 1251::Запуск чисткиcall clear.bat echo Чистка закончилась Set /P $Input= Введите путь к каталогу для продолжения или перенесите каталог в консоль ^> FOR %%f IN (*.txt) DO (echo.echo %%fpython.exe Picobook_TTS_Offline_Console_V4.5_CC.py -C 1 -SM 2 -ATF 0.85 -SG 1 -ST 750 -R 1 -SP 4 -T "%%f" -OD %$Input% -OPD 1 -H 0 -S 1 -HT 1 ) ::Открыть текущий каталог::start %cd% @chcp 65001 pause Тестим и пишем комменты а лучше финансово подержать,на электричество , писать в лс))
В общем-то я добился того функционала который хотел. Возможно пока отложу скрипт в сторонку на пару месяцев, А затем сделаю графический интерфейс и отойду от батников.