Нейро-синтез речи своими руками
- newport
- Интересующийся
Нейро-синтез речи своими руками
(поскольку пост от 12 декабря на 4пда был сегодня удален в теме о tts, то решил разместить здесь)
Это пример решения по обучению нейросети синтезу речи по вводимым текстовым отрывкам, которое можно опробовать самостоятельно, использую домашний или офисный сервер.
Шаг 1
- Установить Torch
Torch - это Open-Source научная вычислительная среда с широкой поддержкой алгоритмов машинного обучения.
Шаг 2
- Установить Torch-rnn
Это модуль для Torch, который предоставляет высокопроизводительные, многократно используемые модули RNN и LSTM, и использует эти модули для моделирования на уровне символов, аналогичного char-rnn.
https://github.com/jcjohnson/torch-rnn/
Шаг 3
- поскольку первые два шага позволят нам вводить в нейросеть и обрабатывать текстовые данные (символы и их блоки), то для достижения нашей цели (обработка звуковых отрывков) нам требуется инструмент, который позволит переводить звуковые row-файлы в текстовые.
Такой инструмент был создан малоизвестным зарубежным программистом, написавшим небольшую утилиту, конвертирующую звуковой файл в текст.
Скачиваем её с его страницы:
http://robbi-985.homeip.net/blog/?p=1845
и читаем описание.
Читаем две его страницы с примерами:
http://robbi-985.homeip.net/blog/?p=1760
http://robbi-985.homeip.net/blog/?p=1819
Смотрим два видео с примерами работы:
http://www.youtube.com/watch?v=FsVSZpoUdSU&fmt=22
http://www.youtube.com/watch?v=NG-LATBZNBs&fmt=22
Системные требования:
Torch и его модули устанавливаются в Linux-систему;
Сама утилита-конвертер: написана и работает под Windows.
Чем мощнее сервер, тем быстрее идет обработка вводимых отрезков. (Второе видео является результатом более 300 часов обучения голосом на сервере автора. Использовались 8-битные оцифровки голоса).
Это пример решения по обучению нейросети синтезу речи по вводимым текстовым отрывкам, которое можно опробовать самостоятельно, использую домашний или офисный сервер.
Шаг 1
- Установить Torch
Torch - это Open-Source научная вычислительная среда с широкой поддержкой алгоритмов машинного обучения.
http://torch.ch/В основе Torch лежат популярные нейронные сети и библиотеки оптимизации, которые просты в использовании и обладают максимальной гибкостью при реализации сложных топологий нейронных сетей. Вы можете создавать произвольные графы нейронных сетей и эффективно распараллеливать их на процессорах и графических процессорах.
Шаг 2
- Установить Torch-rnn
Это модуль для Torch, который предоставляет высокопроизводительные, многократно используемые модули RNN и LSTM, и использует эти модули для моделирования на уровне символов, аналогичного char-rnn.
https://github.com/jcjohnson/torch-rnn/
Шаг 3
- поскольку первые два шага позволят нам вводить в нейросеть и обрабатывать текстовые данные (символы и их блоки), то для достижения нашей цели (обработка звуковых отрывков) нам требуется инструмент, который позволит переводить звуковые row-файлы в текстовые.
Такой инструмент был создан малоизвестным зарубежным программистом, написавшим небольшую утилиту, конвертирующую звуковой файл в текст.
Скачиваем её с его страницы:
http://robbi-985.homeip.net/blog/?p=1845
и читаем описание.
Читаем две его страницы с примерами:
http://robbi-985.homeip.net/blog/?p=1760
http://robbi-985.homeip.net/blog/?p=1819
Смотрим два видео с примерами работы:
http://www.youtube.com/watch?v=FsVSZpoUdSU&fmt=22
http://www.youtube.com/watch?v=NG-LATBZNBs&fmt=22
Системные требования:
Torch и его модули устанавливаются в Linux-систему;
Сама утилита-конвертер: написана и работает под Windows.
Чем мощнее сервер, тем быстрее идет обработка вводимых отрезков. (Второе видео является результатом более 300 часов обучения голосом на сервере автора. Использовались 8-битные оцифровки голоса).
- newport
- Интересующийся
Нейро-синтез речи своими руками
Всех с новым годом, народ.)
Отправлено спустя 1 день 15 часов 37 минут 46 секунд:
реализации/архитектуры могут быть разные, и их уже довольно много есть на Гитхабе.
к примеру, в одной из них удалось обучить сеть (на машине Intel Core i5) за 15 часов на основе 5 часов аудио-записей.
ниже примеры:
Отправлено спустя 1 день 15 часов 37 минут 46 секунд:
реализации/архитектуры могут быть разные, и их уже довольно много есть на Гитхабе.
к примеру, в одной из них удалось обучить сеть (на машине Intel Core i5) за 15 часов на основе 5 часов аудио-записей.
ниже примеры:
- speech
- Обыватель
Нейро-синтез речи своими руками
Я конечно не в теме, но надо ли там программировать? Есть ли какое-то описание, аналогичное первому примеру?
- newport
- Интересующийся
Нейро-синтез речи своими руками
Можно было бы и здесь продублировать, но лучше откройте по ссылке: https://habr.com/company/speechpro/blog/358816/
- там довольно подробное описание с примерами;
И посмотрите весь блог. https://habr.com/company/speechpro/
Там есть и конкурс, и про подготовку датасета, и прочее.
- Lecron
- Специалист
Нейро-синтез речи своими руками
newport, Есть ли шанс, что в ближайшем будущем, пара-тройка лет, это станет юзерфрендли решением. Скачал инсталятор, выбрал голос (коэффициенты обученной сети) с сайта или любительские с форума, и получил SAPI5 озвучку?
И самое главное, с ошибками внутрифразовой интонации (изменения высоты тона, темпа речи (ускорении и замедлении в протекании речи), силы звучания (интенсивности речи), внутрифразовых пауз) не чаще, чем 1 раз на час озвучки.
И самое главное, с ошибками внутрифразовой интонации (изменения высоты тона, темпа речи (ускорении и замедлении в протекании речи), силы звучания (интенсивности речи), внутрифразовых пауз) не чаще, чем 1 раз на час озвучки.
- newport
- Интересующийся
Нейро-синтез речи своими руками
Касательно естественности речи моё мнение таково, что построенные модели позволяют достигать достаточно достоверной имитации. Но это все-таки именно имитация. Имитационные модели используются и в классических синтезаторах. О настоящей безошибочной модели, повторяющей человеческую речь со всеми оттенками, сейчас речи быть не может, т.к. эта проблема полностью входит в круг задач искусственного интеллекта.
Это моё мнение, а как это повернется, и каковы сроки, зависит от активности инженерии.
Здесь так-же - исключительно только мои гипотезы: я думаю, что по аналогии с языками программирования и средами разработок, имеющиеся на сегодня средства позволяют повторять эксперименты дома, но создание tech-end становится задачей всех участников рынка. Другими словами, все могут делать свои дистрибутивы и продавать, как и любой другой продукт.
- Lecron
- Специалист
Нейро-синтез речи своими руками
Используемый мной классический движок, интонационных ошибок уровня предложения не допускает вообще. Одна на несколько книг. Однако естественность произношения отдельного слова, хромает. Нужна привычка))). Прослушав ваши примеры, особенно после разбора в редакторе на отдельные слова, увидел как раз обратное. Слово звучит лучше, но фраза, это не просто проблема, а полный кошмар.
Вот и поинтресовался, каков прогноз. Будет ли это чистая нейросеть (уж извините, фраза искусственный интеллект в применении к простейшим рефлексам меня раздражает) или слияние с классикой, не важно. Так понял, что оценить эти перспективы невозможно. Уровень прогноза — рано или поздно, так или иначе.
Кстати, определил когда программу можно назвать интллектом. Когда она, с первого, максимум со второго прохода, сможет определить, какому из книжных персонажей принадлежат каждый из фрагментов текста.
- newport
- Интересующийся
Нейро-синтез речи своими руками
Скиньте ваши примеры, если не сложно. Если мы сравниваем, то давайте сравним примерами достижений, так сказать, и там, и там.Lecron писал(а): ↑07 янв 2019 13:46интонационных ошибок уровня предложения не допускает вообще. Одна на несколько книг. Однако естественность произношения отдельного слова, хромает. Нужна привычка))). Прослушав ваши примеры, особенно после разбора в редакторе на отдельные слова, увидел как раз обратное. Слово звучит лучше, но фраза, это не просто проблема, а полный кошмар.
Приведенные мной синтезированные отрезки, кстати, не мои, а Олега Петрова.
кстати, здесь не шла речь об искусственном интеллекте. Он упомянут лишь в контексте. Здесь же идет речь о повторяемости естественной речи.
- good_cat
- Администратор
Нейро-синтез речи своими руками
Предупреждение!
Переход на личности. Сообщения отредактированы.
Топлю баню! Вяжу веники!
- newport
- Интересующийся
Нейро-синтез речи своими руками
там был скорее товарищеский жест
ps/ good_cat, я-то думал вы что-то по синтезу добавили) ..
- good_cat
- Администратор
- newport
- Интересующийся
- Lecron
- Специалист
Нейро-синтез речи своими руками
Примеров работы Loquendo Olga и других движков, в сети вагон и маленькая тележка.
Но для достоверности:
- wasyaka
- V.I.P.
Нейро-синтез речи своими руками
И Вы это ...считаете за....ЗАНАВЕС (это моё личное мнение, человека который прослушал и продолжает ..., ну уж штуку точно)
Дуэль...
Сравнительный тэст:
Любой текст с вашенй стороны(фрагмент) - Вы Ольгой - Я Ивоновской и Яндексовской групой
Жду...
Дуэль...
- Lecron
- Специалист
Нейро-синтез речи своими руками
wasyaka, А Ивона тут причем? Они все, включая Колю и прочих тань, плюс-минус одинаковые и на любителя. Поэтому ни соревноваться, ни тем более переубеждать не стану. Сравнение с новым приниципом, нейросеточной озвучкой. Где произношение отдельных слов мне нравится больше, но фразовые интонации..., даже на таких коротких примерах, уже удивляют. Как они себя поведут на осмысленном тексте на пару абзацев, со сложноподчинеными, вопросительными, восклицательными предложениями и прочими диалогами, вообще страшно.
- wasyaka
- V.I.P.
Нейро-синтез речи своими руками
И я здесь каким боком...
Ушёл прослушивать...
Чем смог поделился, но без фанатизма...
Появится новинка - ... Удачи!
PS
На личные вопросы - отвечу.
- newport
- Интересующийся
Нейро-синтез речи своими руками
Эмм.... ...
Я прослушал. А в чем собственно преимущество вашего, так сказать, решения?
Мне вообще знакомы классические tts, и чего-либо нового из вашего примера я не услышал, извиняюсь.
- Lecron
- Специалист
Нейро-синтез речи своими руками
newport, А ничего нового вы и не должны были услышать. Просто для сравнения, нужны более длительные фрагменты нейроTTS. Предложений, абзацев, диалогов. Сейчас, вы можете доказывать, что никаких ошибок в его фразовых интонациях вы не заметили. Может оно так и есть. Но я слышу совсем другое.
Поживем увидим. Тем более, что основной мой вопрос как раз и был, про когда пользователь не гик, сможет более плотно протестировать возможности.
Поживем увидим. Тем более, что основной мой вопрос как раз и был, про когда пользователь не гик, сможет более плотно протестировать возможности.
- newport
- Интересующийся
Нейро-синтез речи своими руками
Lecron, чтобы что-либо тестировать, лучше все-же немного ознакомиться с опубликованными материалами по тестируемому предмету. Вы зайдите по ссылке, если есть желание, и почитайте внимательно хотя бы начало статьи. Протестируйте два слоя, т.к. в том примере разобран именно этот уровень - уровень слова.Lecron писал(а): ↑20 янв 2019 17:19Сейчас, вы можете доказывать, что никаких ошибок в его фразовых интонациях вы не заметили. Может оно так и есть. Но я слышу совсем другое.
Поживем увидим. Тем более, что основной мой вопрос как раз и был, про когда пользователь не гик, сможет более плотно протестировать возможности.
То, что вы называете фразовыми интонациями, есть уровень предложений. А следующий уровень это уровень абзацев и их совокупностей. И чтобы говорить о них, желательно иметь хотя бы ограниченное представление о модели на уровне слов.
Набор тональных огибающих уровня предложений, если изображать графически, достаточно богат, а на уровне абзацев их еще больше. Поэтому все же прочтите и проделайте сначала эту, более простую настройку, чтобы вам было легче подступиться к настройке предложений.
- Pin240
- Интересующийся
Нейро-синтез речи своими руками
Народ а что насчет этой статьи?? Кто опробует?
https://proglib.io/p/golosovoy-deepfake ... 2019-12-11
https://proglib.io/p/golosovoy-deepfake ... 2019-12-11
- Lecron
- Специалист
Нейро-синтез речи своими руками
Периодически сталкиваюсь с проектами в данном направлении. На Хабре за прошлый год две или три статьи было с демками. Пока глухо. Либо качество хромает. Либо скорость — до 0.1х реал-тайма. Либо то и другое вместе. Ничего готового даже для потребителей-новаторов, пока нет. Только для исследований и несистематического озвучивания, для которого таки проще нанять диктора.
Кстати, недавно натыкался на попытку автоматического согласования голоса и текста. Без этого, даже при больших вычислительных ресурсах, толку мало. Слишком много ручной работы для разметки. А так, загрузил аудиокнигу(и), загрузил их тексты и вот у вас сотни часов корпуса. Обучай, не хочу.
- Primkray
- Обыватель
Нейро-синтез речи своими руками
В продолжение темы:
"Украинский стартап Respeecher научился практически идеально синтезировать голос. У ребят уже есть контракт с голливудской студией из пятёрки кинокомпаний фабрики грёз."
"Украинский стартап Respeecher научился практически идеально синтезировать голос. У ребят уже есть контракт с голливудской студией из пятёрки кинокомпаний фабрики грёз."
- Lecron
- Специалист
Нейро-синтез речи своими руками
Скорее не синтезировать, а перекрашивать. Имеете голос Брежнева, сами говорите в микрофон, из колонок звучит сказанное, но уже голосом Брежнева. Плюс неизвестно, насколько обработка реалтаймовая. Для студий потратить 1 час на минуту озвучки — не проблема.
- Primkray
- Обыватель
Нейро-синтез речи своими руками
Чтобы оффлайн использовать...
Все, что Вы привели в качестве примера, это же корпоративные разработки, кроме "утюга", а "домашние" разработки, где они, как из можно использовать?
- Lecron
- Специалист
Нейро-синтез речи своими руками
SAPI удобнее, но для пакетной озвучки непринципиально. Используя сейчас balcon (консольную Балаболку) я вообще не знаю, что там под капотом, и появись некий speechcon, переключится не составит проблем. Лишь бы был хоть сколько-то готовый пакет, а не конструктор "всё сам" — найди обучающий датасет сам, настрой параметры обучения сам, обучи сетку сам, используй готовую модель сам, сам, сам, сам.
- skreb
- Интересующийся
Нейро-синтез речи своими руками
Искусственный интеллект воссоздает голос Высоцкого. Голос восоздан с помощью технологии Vera Voice:
► Показать
- Lecron
- Специалист
Нейро-синтез речи своими руками
Вышел новый проект, попытка упростить синтез своими руками. С лёту конечно не всё получилось, до готового продукта еще далеко, но шаг сделан приличный.
Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи
В целом, установить на свой ПК удалось с минимумом камланий. Повторить путь вообще без затруднений. Проверялось на Windows 10 x64, Python 3.9 x64, only CPU
Зависимостей минимум. Установка:
Голоса скачиваются сами при первом к ним обращении. Немного измененный демонстрационный исходный файл из проекта.
До Яндекс голосов может и не дотягивает, но качество мне пока понравилось. На длинных текстах еще не проверял.
Минусы:
- нужна расстановка ударений для каждого слова. Без них говорит вроде правильно, но как с кашей во рту. - baya, irina теряет слова. Например в 'С+олнечный кр+уг, н+ебо вокр+уг.', после запятой бэ-мэ.
- меееедленно. На 4 ядрах i5-4440 на 44 секунды результата потрачено 28 секунд машинного времени. Серьезные GPU, судя по статье, дают прирост раз в 30. Будет ли толк от интеловой интеграшки, пока не знаю.
- Текст надо передавать по одному предложению. Паузы между предложениями у каждого голоса разные.
В целом, буду экспериментировать дальше. Знать бы что книжка точно интресная, а не будет заброшена после десятка-другого страниц, можно было бы и перейти, а пока — не знаю.
Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи
В целом, установить на свой ПК удалось с минимумом камланий. Повторить путь вообще без затруднений. Проверялось на Windows 10 x64, Python 3.9 x64, only CPU
Зависимостей минимум. Установка:
Код: Выделить всё
pip install torch==1.8.1+cpu torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
pip install PySoundFile
pip install OmegaConf
До Яндекс голосов может и не дотягивает, но качество мне пока понравилось. На длинных текстах еще не проверял.
Минусы:
- нужна расстановка ударений для каждого слова. Без них говорит вроде правильно, но как с кашей во рту. - baya, irina теряет слова. Например в 'С+олнечный кр+уг, н+ебо вокр+уг.', после запятой бэ-мэ.
- меееедленно. На 4 ядрах i5-4440 на 44 секунды результата потрачено 28 секунд машинного времени. Серьезные GPU, судя по статье, дают прирост раз в 30. Будет ли толк от интеловой интеграшки, пока не знаю.
- Текст надо передавать по одному предложению. Паузы между предложениями у каждого голоса разные.
В целом, буду экспериментировать дальше. Знать бы что книжка точно интресная, а не будет заброшена после десятка-другого страниц, можно было бы и перейти, а пока — не знаю.
- Lecron
- Специалист
Нейро-синтез речи своими руками
На маленьких фрагментах впечатление совсем иное, поэтому решил сделать побольше.
Впечатления. Ксения — голос классный, но непонятные паузы и проглатывания, рвут восприятие текста. Наташа — голос похуже, но восприятие ровное. Айдар — голос картавый, много рычащих, восприятие излишне монотонное. Вот бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому ещё дородности Ивана Павловича — я бы тогда тотчас же решилась. :-) А пока наверное останусь на Ольге.
Впечатления. Ксения — голос классный, но непонятные паузы и проглатывания, рвут восприятие текста. Наташа — голос похуже, но восприятие ровное. Айдар — голос картавый, много рычащих, восприятие излишне монотонное. Вот бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому ещё дородности Ивана Павловича — я бы тогда тотчас же решилась. :-) А пока наверное останусь на Ольге.
- Lecron
- Специалист
Нейро-синтез речи своими руками
speeck, А куда дальше-то? Попробовал конвертировать сетку в OpenVINO для работы на встроенной видюхе — навыков не хватило, слишком чужая для меня тема. В нынешнем варианте, для работы синтез не пригоден. Ни по скорости, ни по стабильности результата, ни по простоте использования. Так, побаловаться, оценить прогресс.
- GIS88
- Обыватель
Нейро-синтез речи своими руками
Вроде работает, поставил так -
1: Закинул на c файл examples_tts.py
2: Установил - https://www.anaconda.com/products/individual#Downloads (64-Bit Graphical Installer (477 MB)
3: потом запустил Anaconda Powershell Prompt (anaconda3) от админа.
вбил
pip install torch==1.8.1+cpu torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
pip install PySoundFile
pip install OmegaConf
4: cd c:\
потом
python examples_tts.py
Возможно ли сделать, чтобы - examples_tts.py копировал по 140 символов из файла книга.txt и записывал файлы 1.wav и 2 wav и т.д.?
1: Закинул на c файл examples_tts.py
2: Установил - https://www.anaconda.com/products/individual#Downloads (64-Bit Graphical Installer (477 MB)
3: потом запустил Anaconda Powershell Prompt (anaconda3) от админа.
вбил
pip install torch==1.8.1+cpu torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
pip install PySoundFile
pip install OmegaConf
4: cd c:\
потом
python examples_tts.py
Возможно ли сделать, чтобы - examples_tts.py копировал по 140 символов из файла книга.txt и записывал файлы 1.wav и 2 wav и т.д.?
- Lecron
- Специалист
Нейро-синтез речи своими руками
В принципе не сложно. Но какой в этом смысл? Движкам надо передавать осмысленные фразы, желательно законченные предложения. А 140 символов, будут попадать на середнину слов.
- speech
- Обыватель
- Lecron
- Специалист
Нейро-синтез речи своими руками
speech, Так все современные экспериментальные движки основаны именно на нем. Сам по себе он лишь заготовка, которую нужно прилично обточить по вкусу напильником. А еще лучше полноценный станочный парк привлечь :)