[ ]
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 и с помощью нее локально на компе озвучивать текст
Было бы здорово увидеть пошаговую инструкцию (со скриншотами) для тех (типа меня biggrin ), кто при слове "питон" начинают листать мимо
 
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-файл
Я так и делаю.  Вот только для начало соберите кучу всяких зависимостей biggrin  не один вечер парился
 
Цитата
в цикле небольшие кусочки текста
 вы себе не представляете какого это было реализовать.  Нужно не просто разбить а учесть КОНЕЦ предложения не превышая 1000 символов а просто разбить - фигня)


Сообщение отредактировал Pin240 - Среда, 27.07.2022, 19:28
 
Pin240Дата: Среда, 27.07.2022, 19:22 | Сообщение #21
Группа: Пользователи
Сообщений: 111
Статус: Offline
Цитата tonio_k ()
"питон" начинают листать мимо
И правильно делаете) На что я знаком с программированием МК на C, но все эти пробелы в питоне.... лишний пробел и все... не пашит wacko  строку не так перенес  опять не пашит..


Сообщение отредактировал Pin240 - Среда, 27.07.2022, 19:22
 
flegontДата: Среда, 27.07.2022, 19:53 | Сообщение #22
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Гвидо ван Россума за эту его фичу с пробелами в питоне - в аду отдельный особый котел ждет  biggrin
 
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 даже не рассчитывал на нее wink

Цитата
Гвидо ван Россума
Факториал бесконечности ему в ж***) за такой загон, особенно когда код боле 500 строк а ты в одной из функций цикл сместил  на два пробела вместо трех. Ошибка не вылетает а последствия на выходе... Вот потом ищи где не так я так пол вечер потерял cry
Благо скрипт  что основной скрипт пока меньше 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
Всем салют.  Извиняюсь что пропал. Времени как всегда мало cry . Да я смог победит моменты с SSML.Модели теперь читают нормально-не спешат и даже местами учитывают такие знаки как "!" "?"  Там была моя не внимательность в переменной.  Внедрил модуль постановки ударений  с условием падежей. Он конечно не работает на столько моментально как Демогог, но на среднюю по умолчанию книгу уходит 3-4 минуты расстановки ударений. Пролистал как можно интегрировать Lua в Python скрипты. tonio_k, Вы конечно много  кода настрочили в скриптах ))) Мой Скрипт занимает всего 561 строку wink , но тянет ооочень много зависимостей. Приходиться платить размерами из-за моей политики "все должно  работать из  одной коробки"  Как только код приведу в более цивильный вид выложу сырой оптимизированный код. Вообще мне нужно попытаться освоить хоть базова зверя - 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 итд я немного по хитрей сделал biggrin
 
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
Прикрепления: 3809938.png (81.8 Kb)


Сообщение отредактировал Pin240 - Среда, 03.08.2022, 20:51
 
flegontДата: Среда, 03.08.2022, 22:56 | Сообщение #29
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Да, всё так, PATH надо не забывать настраивать. А то у питона шаг вправо, шаг влево - попытка к бегству, стреляет без предупреждения  smile   Спасибо за краткий графический мануал. Когда-то давно приходилось работать с питоном, но с тех пор объем забытого уже превысил объем того, что еще помню  cry
 
Pin240Дата: Понедельник, 08.08.2022, 18:51 | Сообщение #30
Группа: Пользователи
Сообщений: 111
Статус: Offline
Салют всем, прога еще не заброшена)) И так, компилятор сказал: "Я не буду собирать все твои пакеты" angry .
Поэтому пришлось лепить портативную версию питона, однако это ускорит запуск скрипта, так как не нужна будет распаковка во временные файлы. Будут 2 батника : Picobook_TTS_Offline_Console_V4.1_CC.bat и Picobook_TTS_Offline_Console_V4.bat
Однако на форуме  cyberforum.ru мне подсказали как сделать инсталятор. Так что ожидаем небольшие изменения и инструкции к запуску. С помощью инсталятора вообще можно будет избавиться от батников.
Плюс узнал хорошую новость: Скоро появиться  версия модели и тогда я с чистой совестью смогу удалить  модуль расстановки ударений. В данный момент все сложности из за него


Сообщение отредактировал Pin240 - Понедельник, 08.08.2022, 18:51
 
Поиск:

Общение