Picobook TTS Offline
|
|
tonio_k | Дата: Понедельник, 01.08.2022, 11:38 | Сообщение #31 |
Группа: Пользователи
Сообщений: 139
Статус: Offline
| Цитата flegont ( ) На MSI Katana - не работает. Почти мгновенно выполняет словарные замены тут я не понял, очень быстро работают словари или они вообще не сработали? Ctrl+Shift+8 к выделенному абзацу работу словарей показывает? Может Демагог х32 попробовать? Я в 64 ещё ни разу не пробовал свои скрипты запускать
Цитата flegont ( ) При этом в папке audio - все текстовые фрагменты на месте. Текстовые файлы в папке audio находятся справочно и используются только для контроля сравнения количества на случай сбоя. Фактически разбитый текст книги со всеми командами находится в script.py
Цитата flegont ( ) И только если сделать ручной запуск script.bat, то появляется черное окно консоли если script.bat в ручную запускается, значит батник рабочий для этого ПК, но это значит и что в скрипте не срабатывает строка:
Код Execute(workfolder..'script.bat','',wsNormal)
А почему она у вас не срабатывает, при наличии "рабочего" script.bat??? Я в недоумении Может вместо cmd нужно powershell использовать?
Сообщение отредактировал tonio_k - Понедельник, 01.08.2022, 11:43 |
|
| |
flegont | Дата: Понедельник, 01.08.2022, 12:19 | Сообщение #32 |
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Пока и у меня предположений нет. Разница лишь в том, что этот ноут примерно в 30 раз более быстрый. Поиграюсь еще со скриптом 10... - вставлю отладочные сообщения. Чтобы отловить, где затык случается. Тогда напишу.
P.S. Словари отработали на ура, и текст почистился и ударения проставились - тут всё в порядке.
P.P.S. Я в 32х версии и запускал. А что касается 64х, то я нашел и исправил там ошибку, и выложил сборку Demagog 64x вер. 407, от 30.07.2022. На этой сборке теперь можно напрямую выполнить пример N1 от Silero. Я загрузил его в окно Демагога 64x, в последней строке добавил команду: print(audio_paths) и нажал Shift+F2 - выполнить питон-скрипт!
Demagog 64x немножко подумал и напечатал в окне Статистики: test.wav А в корневой папке Демагога возникли файлы test.wav и model.pt
Потом взял пример со списком абзацев - работающий в V2 и не работающий в V3. И добавил цикл прямо в скрипте. (Раз уж модель больше не умеет сама работать с батчами. ) С каждым оборотом цикла формировался новый test.wav, и переименовывался в 'test'+str(i+1)+'.wav' Добавил, естественно, функцию задержки цикла до окончания формирования очередного wav. Потом снова нажал Shift+F2, в окне Статистики появилось: test1.wav test2.wav test3.wav И все три эти аудиофайла в корневой папке! Будет время, продолжу этот эксперимент.
Сообщение отредактировал flegont - Понедельник, 01.08.2022, 12:50 |
|
| |
flegont | Дата: Понедельник, 01.08.2022, 14:16 | Сообщение #33 |
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Для наблюдения за происходящим, вставим в генерируемый скрипт паузу:
--Генерация батника local dos={} dos[#dos+1] = AnsiToDos('cd "'..workfolder..'"') dos[#dos+1] = AnsiToDos('cls') dos[#dos+1] = AnsiToDos([[python.exe script.py]]) dos[#dos+1] = 'pause' SaveToFile(dos,workfolder..'script.bat')
В окне консоли получаем:
D:\~tmp\Demagog>python.exe script.py python.exe: can't open file 'D:\\~tmp\\Demagog\\script.py': [Errno 2] No such file or directory
D:\~tmp\Demagog>pause Для продолжения нажмите любую клавишу . . .
Почему система думает, что запуск происходит из рабочей папки Демагога, а не из папки питона? Проверил, на папку C:\Python310\ - полный доступ.
На обоих ноутах у меня питон на C:\Python310\ На одном всё работает, на другом - только при ручном запуске из папки питона. Какие-то шалости системы...
|
|
| |
tonio_k | Дата: Понедельник, 01.08.2022, 14:53 | Сообщение #34 |
Группа: Пользователи
Сообщений: 139
Статус: Offline
| Цитата flegont ( ) dos[#dos+1] = AnsiToDos([[python.exe script.py]]) Попробуйте поменять на: dos[#dos+1] = AnsiToDos([["]]..workfolder..[[python.exe" "]]..workfolder..[[script.py"]])
|
|
| |
flegont | Дата: Понедельник, 01.08.2022, 15:11 | Сообщение #35 |
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Все-таки, что-то с доступами к C\Python310:
P.S. Когда я запускаю свои батники, вызывающие примеры Silero, из корневой папки Демагога, при том, что сами примеры и model.pt лежат там же, то пока что проблем не было. М.б. в папку питона вообще не стоит лезть со своими файлами...
Сообщение отредактировал Admin - Понедельник, 01.08.2022, 15:30 |
|
| |
tonio_k | Дата: Понедельник, 01.08.2022, 15:38 | Сообщение #36 |
Группа: Пользователи
Сообщений: 139
Статус: Offline
| Цитата flegont ( ) не стоит лезть со своими файлами Попробую поменять пути сохранения результатов в папку с Демагогом. А вы, в таком случае, попробуйте вручную отредактировать script.py изменив в нём пути сохранения и запустить скрипт 20_ПРОДОЛЖИТЬ.. Если заработает, то действительно не стоит лезть в папку python
P.S ещё у script.py и батника поменять путь где они будут создаваться и запускаться
Сообщение отредактировал tonio_k - Понедельник, 01.08.2022, 15:41 |
|
| |
tonio_k | Дата: Понедельник, 01.08.2022, 15:45 | Сообщение #37 |
Группа: Пользователи
Сообщений: 139
Статус: Offline
| А ещё можно попробовать питон установить на любой диск кроме С:\ Мне кажется это тоже может помочь. К стати, при установке питона я ставил Галочку напротив PATH (в инструкции есть скрин) Вдруг солнце встаёт потому что петух орёт? ©
|
|
| |
flegont | Дата: Понедельник, 01.08.2022, 17:39 | Сообщение #38 |
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Должно быть: workfolder = HomeFolder() из Настроек, ясное дело, надо убрать, ибо это теперь не папка питона.
1.bat 2.bat 2.py model.pt в папку Демагога
После этого скрипт 10.... на том же тексте "Нахалка.txt" на MSI Katana отработал по-спринтерски за 2 мин. Папка audio, scrypt.py, scrypt.bat создались, как положено, в корневой папке Демагога
P.S. Чисто редакционная правка. НАСТРОЙКИ ГОЛОСОВОГО ДВИЖКА - не Тембр, а Качество аудио 48000 - наивысшее, 24000 - среднее, 8000 - низкое.
Сообщение отредактировал flegont - Понедельник, 01.08.2022, 17:42 |
|
| |
tonio_k | Дата: Понедельник, 01.08.2022, 18:08 | Сообщение #39 |
Группа: Пользователи
Сообщений: 139
Статус: Offline
| Цитата flegont ( ) workfolder = HomeFolder() Так и сделаю. Ещё добавлю создание папки по названию книги, и что бы script.py в нее помещался и запускался. И ещё проверку этой папки На предмет неоконченной записи при запуске 10_... С выбором: перезаписать или продолжить?. Чтобы не повторить мою ошибку: с этими экспериментами случайно очистил содержиое папки аудио с файлами, которые ноутбук озвучивал всю ночь
|
|
| |
Pin240 | Дата: Среда, 03.08.2022, 20:08 | Сообщение #40 |
Группа: Пользователи
Сообщений: 104
Статус: 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 | Сообщение #41 |
Группа: Пользователи
Сообщений: 104
Статус: Offline
| Цитата flegont ( ) test1.wavtest2.wav test3.wav использую contact список для ffmpeg на выходе вы можете получить немного не тот результат) такак если у вас более 1000 фрагментов вы можете получить такой список 1, 11,2,22,3 итд я немного по хитрей сделал
|
|
| |
Pin240 | Дата: Среда, 03.08.2022, 20:49 | Сообщение #42 |
Группа: Пользователи
Сообщений: 104
Статус: 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 | Сообщение #43 |
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
| Да, всё так, PATH надо не забывать настраивать. А то у питона шаг вправо, шаг влево - попытка к бегству, стреляет без предупреждения Спасибо за краткий графический мануал. Когда-то давно приходилось работать с питоном, но с тех пор объем забытого уже превысил объем того, что еще помню
|
|
| |
Pin240 | Дата: Понедельник, 08.08.2022, 18:51 | Сообщение #44 |
Группа: Пользователи
Сообщений: 104
Статус: Offline
| Салют всем, прога еще не заброшена)) И так, компилятор сказал: "Я не буду собирать все твои пакеты" . Поэтому пришлось лепить портативную версию питона, однако это ускорит запуск скрипта, так как не нужна будет распаковка во временные файлы. Будут 2 батника : Picobook_TTS_Offline_Console_V4.1_CC.bat и Picobook_TTS_Offline_Console_V4.bat Однако на форуме cyberforum.ru мне подсказали как сделать инсталятор. Так что ожидаем небольшие изменения и инструкции к запуску. С помощью инсталятора вообще можно будет избавиться от батников. Плюс узнал хорошую новость: Скоро появиться версия модели и тогда я с чистой совестью смогу удалить модуль расстановки ударений. В данный момент все сложности из за него
Сообщение отредактировал Pin240 - Понедельник, 08.08.2022, 18:51 |
|
| |
Pin240 | Дата: Вторник, 09.08.2022, 21:40 | Сообщение #45 |
Группа: Пользователи
Сообщений: 104
Статус: Offline
| И так портативная сборка слеплина https://cloud.mail.ru/public/7jkJ/Kw7HnWAmG python-3.8.10_portable.rar
Если вы раньше боялись что там есть майнеры, то вы ошибаетесь) В конце концов можете не пользоваться сборкой а самостоятельно собрать все зависимости. И так приступим к описанию:
У нас есть 5 BAT-файла чтобы каждый раз не вбивать руками особенно это касается Picobook_TTS_Offline_Console_V4.1_CC
1)Picobook_TTS_Offline_Console_V4.bat Код python.exe Picobook_TTS_Offline_Console_V4.py
2)Picobook_TTS_Offline_Console_V4.1_CC_HELP.bat
Код python.exe Picobook_TTS_Offline_Console_V4.1_CC.py -h @pause
Просто вызов справки всех команд
3)Picobook_TTS_Offline_Console_V4.1_CC.bat Код python.exe Picobook_TTS_Offline_Console_V4.1_CC.py -C 2 -T book.txt
Думаю отрыть текстовым редактором и подправить на нужные параметры смогут все)
4)cmd.bat Запуск в текущем каталоге
5)cmd _path.bat Просто забыл удалить, после эксперементов создание временных переменных для текущего пользователя.
Версию с инсталятором пока не выкладываю, так как там трабалы с запуском от локального пользователя.
Сообщение отредактировал Pin240 - Вторник, 09.08.2022, 21:43 |
|
| |