Picobook TTS Offline
|
|
tonio_k | Дата: Среда, 27.07.2022, 12:36 | Сообщение #16 |
Группа: Пользователи
Сообщений: 178
Статус: Offline
| Цитата flegont (  ) Не вставляет код как надо, почему-то Если вы про работу форума, то здесь проблема с тегами. Иногда в тексте кода присутствует некие переменные особенно переменная i в квадратных скобках. Для веб версии форума в сообщени этот тэг означает отобразить текст в курсиве. Можно код поместить в текстовый файл и прикрепить к сообщению.
|
|
| |
tonio_k | Дата: Среда, 27.07.2022, 13:38 | Сообщение #17 |
Группа: Пользователи
Сообщений: 178
Статус: Offline
| Цитата flegont (  ) Хотел показать рабочий пример от Silero. как скачать себе модель V3 и с помощью нее локально на компе озвучивать текст Было бы здорово увидеть пошаговую инструкцию (со скриншотами) для тех (типа меня ), кто при слове "питон" начинают листать мимо
|
|
| |
flegont | Дата: Среда, 27.07.2022, 14:32 | Сообщение #18 |
 V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Разместил на своем сайте в гл. 18. Великан на дороге..., подпункт Silero. Одна картинка и тексты двух простеньких скриптов. Первый: скачивает модель V3 локально на компьютер и озвучивает по ней тестовую фразу. Второй: озвучивает тестовую фразу по уже имеющейся локальной модели.
По мере изучения изделия от Silero может еще какие дополнения появятся. В общем, идея-то - прозрачная: питон-скрипт должен скармливать модели в цикле небольшие кусочки текста и по ходу конвертировать их в аудио, объединяя до приемлемого размера. Кто знает питон и у кого есть время - может заняться написанием такого полнофункционального скрипта.
P.S. Превратить готовый питон-скрипт в exe-файл можно множеством средств. Тогда не нужны станут ни питон, ни торч. Они целиком будут содержаться в о-о-очень большом экзешнике. В последнее время в Инете усиленно хвалят и рекомендуют для этого дела т.н. PyInstaller.
Сообщение отредактировал flegont - Среда, 27.07.2022, 14:40 |
|
| |
Pin240 | Дата: Среда, 27.07.2022, 19:15 | Сообщение #19 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Цитата flegont (  ) пример от Silero Я прекрасно знаю где они есть и их копия у меня естьЦитата tonio_k (  ) MD Control)При запуске Это нормально так как у меня не все C+ библиотеки установлены либо антевир сказал что много он хотел при компиляции куда залезть.Цитата tonio_k (  ) по умолчанию отключать! Лучше громкость на максимум не ставить)) Странно что вы вообще колонки не отключили на ночь.. я всегда общую громкость ставлю 40-50% Цитата Pin240 (  ) сделаю возможность отключения
Еще по поводу скорости. Процессоры с поддержкой AVX2 генят звук в 10-14 раз быстрей.
Нашел и ознакомился со статьей о библиотеке ударений для нейронных сетей. Изначально предусматривалась для преобразования голоса в текст (для SST вроде). По заявлению автора, ставит ударения согласно падежам слов и некоторым другим зависимостях. Погрешность в ударениях не более 20-25% в литературных текстах. У вы руки пока до нее не доходят.
|
|
| |
Pin240 | Дата: Среда, 27.07.2022, 19:17 | Сообщение #20 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Цитата flegont (  ) готовый питон-скрипт в exe-файл Я так и делаю. Вот только для начало соберите кучу всяких зависимостей не один вечер парился Цитата в цикле небольшие кусочки текста вы себе не представляете какого это было реализовать. Нужно не просто разбить а учесть КОНЕЦ предложения не превышая 1000 символов а просто разбить - фигня)
Сообщение отредактировал Pin240 - Среда, 27.07.2022, 19:28 |
|
| |
Pin240 | Дата: Среда, 27.07.2022, 19:22 | Сообщение #21 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Цитата tonio_k (  ) "питон" начинают листать мимо И правильно делаете) На что я знаком с программированием МК на C, но все эти пробелы в питоне.... лишний пробел и все... не пашит строку не так перенес опять не пашит..
Сообщение отредактировал Pin240 - Среда, 27.07.2022, 19:22 |
|
| |
flegont | Дата: Среда, 27.07.2022, 19:53 | Сообщение #22 |
 V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Гвидо ван Россума за эту его фичу с пробелами в питоне - в аду отдельный особый котел ждет
|
|
| |
wasyaka | Дата: Среда, 27.07.2022, 21:10 | Сообщение #23 |
Группа: Модераторы
Сообщений: 35
Статус: Offline
| Цитата Pin240 (  ) Спасибо за инфу о работе на Win10 Win 11 - работает.
|
|
| |
Pin240 | Дата: Четверг, 28.07.2022, 05:36 | Сообщение #24 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Цитата wasyaka (  ) Win 11 O_O даже не рассчитывал на нее  Факториал бесконечности ему в ж***) за такой загон, особенно когда код боле 500 строк а ты в одной из функций цикл сместил на два пробела вместо трех. Ошибка не вылетает а последствия на выходе... Вот потом ищи где не так я так пол вечер потерял  Благо скрипт что основной скрипт пока меньше 300 строк.
Сообщение отредактировал Pin240 - Четверг, 28.07.2022, 05:44 |
|
| |
tonio_k | Дата: Воскресенье, 31.07.2022, 21:56 | Сообщение #25 |
Группа: Пользователи
Сообщений: 178
Статус: Offline
| Pin240, на примере моей с сборки, подумайте, может вам удастся адаптировать ваш консольный портабельный python для запуска внешнего постоянно меняющегося скрипта script.py ? Было бы круто, если бы вам удалось это сделать. Портабельность вашей консоли даёт уверенность в завтрашнем дне на фоне санкций и непредвиденных отключений доступов к скачиванию ссылок под устаревшие ОС. В один прекрасный момент возьмут и сделают битыми все ссылки под win7 или models silero решат сделать коммерческой и удалят возможность бесплатного скачивания. Тут ваша консольная версия и спасает ситуацию
|
|
| |
Pin240 | Дата: Среда, 03.08.2022, 20:08 | Сообщение #26 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Всем салют. Извиняюсь что пропал. Времени как всегда мало . Да я смог победит моменты с SSML.Модели теперь читают нормально-не спешат и даже местами учитывают такие знаки как "!" "?" Там была моя не внимательность в переменной. Внедрил модуль постановки ударений с условием падежей. Он конечно не работает на столько моментально как Демогог, но на среднюю по умолчанию книгу уходит 3-4 минуты расстановки ударений. Пролистал как можно интегрировать Lua в Python скрипты. tonio_k, Вы конечно много кода настрочили в скриптах ))) Мой Скрипт занимает всего 561 строку , но тянет ооочень много зависимостей. Приходиться платить размерами из-за моей политики "все должно работать из одной коробки" Как только код приведу в более цивильный вид выложу сырой оптимизированный код. Вообще мне нужно попытаться освоить хоть базова зверя - LuaЦитата tonio_k (  ) ваш консольный портабельный python для запуска внешнего постоянно меняющегося скрипта script.py не очень понял выражение "постоянно меняющегося"
Сейчас проблемы с компиляцией из-за импорта некоторых библиотек с отдельными модулями. Возможно придется сменить компилятор. Как у же просили отдельное подключение для словаря и отключение аудио сделал. При тестировании очень больших текстов попались случаю превышения 1000 символ - нужные поправки уже внес.
Логика моего скрипта точно такая же как у вас, но разная реализация.
1)Загрузка текста 2)Удаление лишних символов 3) Замена по словарю. Что в вашей реализации лучше. Я сидел и экспериментировал со словарь немного) Как раз хочу по этому поводу с вами посидеть, как всегда на все нужно время. 4) Разделение текста. Как и вы я по началу делал txt фрагменты и лишь потом кормил модель. Однако позже я подробней изучил картежи, листы и списки python-а после чего мусора стало меньше + уменьшит запросы HDD к CPU, так как запросов на CPU и так хватает. При этом я сразу мог получить нужную длину фрагмента и засечь лишние символы, для которых не сработала замена или фильтрация. Средняя длина мои абзацев ~800 символов +\-100 символов в зависимости от длины предложения, что уменьшает время простоя. 5) На выходе test.wav. Я знаю другой метод сохранения файла на выходе(Например на выходе бы было B_001,B_002), но он не очень удобен, занимая больше места. Здесь конечно моя реализация немного кривая, так как питон не может дописать один мр3 к другому а возиться с дополнительным циклом в цикле не хотелось и просто лень), а сборка огромной кучи кусков в один позволяет затем делить как угодно хоть по 30 сек хоть по 2 часа. 6) Перегонять wav в mp3 Здесь я пытался использовать все доступные настройки качества 8000, 16000, 48000Гц в том числе и есть настройка temp ffmpeg, но теперь с правильной работой SSML это не требуется. Здесь у меня ловится test.wav и в зависимости что вы выбрали (8000, 16000, 48000 Гц) с разу меняет частоту и в мр3 и переименовывает. Еще пон не переносит пробелы в путях и именах файлов! 7) Собираю все куски в 1 большой ,это происходит очень быстро так как по факту параметры у них одинаковые и затем разбивает так же быстро на нужные фрагменты любой длины на которые способен ffmpeg.
Последнее время за компом долго сидеть не могу:( если что здесь быстрей отвечу vk.com/pin240
Сообщение отредактировал Pin240 - Среда, 03.08.2022, 20:37 |
|
| |
Pin240 | Дата: Среда, 03.08.2022, 20:40 | Сообщение #27 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Цитата flegont (  ) test1.wavtest2.wav test3.wav использую contact список для ffmpeg на выходе вы можете получить немного не тот результат) такак если у вас более 1000 фрагментов вы можете получить такой список 1, 11,2,22,3 итд я немного по хитрей сделал
|
|
| |
Pin240 | Дата: Среда, 03.08.2022, 20:49 | Сообщение #28 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Цитата flegont (  ) D:\~tmp\Demagog>python.exe script.pypython.exe: can't open file 'D:\\~tmp\\Demagog\\script.py': [Errno 2] No such file or directory если у вас правильно установлен пион то достаточно просто в консоли указать script.py его имя и запустить, но в системном(винды) PATH обязательно пути провертеть. Эти пути должны быть обязательны в системных переменных ! C:\Users\Celleron_2.4G\AppData\Local\Programs\Python\Python38\Scripts\; C:\Users\Celleron_2.4G\AppData\Local\Programs\Python\Python38\; C:\Users\Celleron_2.4G\AppData\Local\Programs\Python\Python38\Lib\site-packages
Сообщение отредактировал Pin240 - Среда, 03.08.2022, 20:51 |
|
| |
flegont | Дата: Среда, 03.08.2022, 22:56 | Сообщение #29 |
 V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Да, всё так, PATH надо не забывать настраивать. А то у питона шаг вправо, шаг влево - попытка к бегству, стреляет без предупреждения Спасибо за краткий графический мануал. Когда-то давно приходилось работать с питоном, но с тех пор объем забытого уже превысил объем того, что еще помню
|
|
| |
Pin240 | Дата: Понедельник, 08.08.2022, 18:51 | Сообщение #30 |
Группа: Пользователи
Сообщений: 111
Статус: Offline
| Салют всем, прога еще не заброшена)) И так, компилятор сказал: "Я не буду собирать все твои пакеты" . Поэтому пришлось лепить портативную версию питона, однако это ускорит запуск скрипта, так как не нужна будет распаковка во временные файлы. Будут 2 батника : Picobook_TTS_Offline_Console_V4.1_CC.bat и Picobook_TTS_Offline_Console_V4.bat Однако на форуме cyberforum.ru мне подсказали как сделать инсталятор. Так что ожидаем небольшие изменения и инструкции к запуску. С помощью инсталятора вообще можно будет избавиться от батников. Плюс узнал хорошую новость: Скоро появиться версия модели и тогда я с чистой совестью смогу удалить модуль расстановки ударений. В данный момент все сложности из за него
Сообщение отредактировал Pin240 - Понедельник, 08.08.2022, 18:51 |
|
| |