Как стать автором
Обновить

Создание deepfake видео и синтез речи open-source проект Wunjo AI

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров12K
Всего голосов 17: ↑17 и ↓0+17
Комментарии28

Комментарии 28

ЗакрепленныеЗакреплённые комментарии

Добавил обновление 1.4. Желательно обновиться, чтобы была возможность узнавать о новых фичах и обновлениях.

  •  Добавил дипфейк для работы с исходным видео, который синхронизирует движение губ под аудио

  •  Добавил выбор видеофрагмента для дипфейка в зависимости от длины звуковой дорожки

  •  Добавил возможность смены каталога для папки кэша .wunjo.

  •  Добавил перевод приложения на разные языки

  •  Обучил и добавил модели TTS для английской речи

  •  Добавил идентификацию языка языковой модели в интерфейсе

  •  Добавил возможность говорить на английском для русской модели и говорить на русском для английской модели

  •  Добавил возможность использования синтеза речи на пользовательских моделях TTS (ru, en)

  •  Добавлено оповещение об обновлении

  •  Интеграция ссылок на обучающее видео и вики-страницу

Класс, затестим на выходных. И собственно вопрос: а как же этичная сторона проекта? Или есть какие то ограничения?! На канале +1 подписчик)

Привет. Спасибо за подписку. Ограничений нет, пользователи сами выбирают для себя ограничения (в том числе и этические, никаких цензур и водных знаков), т.к. приложение ставится на компьютер. Если с дипфейк на виндовс будет проблемы (там бывает нет прав на чтение модели нейронной сети из созданной папки cache, и результат создания видео будет, что лицо не найдено, но на самом деле если ставить расширение консоли, то видно, что нет прав на чтение модели нейронной сети, что я пока не знаю как решить), то лучше запускать проект из код через briefcase run. С другими ОС из установщика проблем не будет.

В будущем там появится замена лиц в видео (как расширение) и синхронизация губ человека из любого видео (где есть лицо), со звуком. Пример опубликовал на ютюб https://youtube.com/shorts/-LPxeuGBerI?feature=share

Благодарю вас

интересно, что у нейронки такие же этические вопросы, почти как в простоквашино:

"а чей теленок? - он как холод у холодильника или нет?" (с) вольная цитата

Круто, глянул ютуб - выглядит жизнеспособно. На выходных попробую. Можно ли использовать модель со своим голосом? Как их обучать?

Да. Можно использовать модель со своим голосом и даже на другом языке. В yaml файле модели, необходимо только указать, что пути до модели и какой язык. Образец можно увидеть в default моделях. Для TTS используется Tacotron2, следовательно подходят все модели, котоыре были обучены в Tacotron2.

Если установить https://github.com/wladradchenko/advanced.wunjo.wladradchenko.ru, тогда можно будет обучать модель на своем голосе прямо из приложения, нужны только данные разметки (текст аудиофайлов) + сами аудиофайлы.

За оффлайн-версию жирнейший такой плюс и огромный респект. И в целом интересный проект, буду пробовать и следить, спасибо.

В скором времени напишу ещё об одном оpen source проекте связанного с lofi музыкой, который делал для себя и он доступен

Замечательно, будем ждать!

Афигеть, как раз такое искал) Вселенная что ты делаешь... продолжай !

В скором времени, напишу статьи, как использовать параметры для дипфейк (повороты головы в разные оси, улучшение картинки лица) и как обучать модель на своём голосе или датасете полученного из нарезки видео с ютюба. Следите за статьями!

Спасибо, попробую на выходных)

Сделайте видео с подробной установкой на windows 11. Лицо не находит, CUDA не видет. Только голос получилось запустить. Устанавливал на не системный диск

Позже добавлю на страничку гитхаб проекта. На сборке виндос встречается проблема связанная с тем, что почему-то нет доступа к чтению модели из созданной папки .wunjo. Почему она появляется на модели только на виндос и только для дипфейка для меня загадка, самой винды у меня нет, а на эмуляторе ВМ не появляется проблемы, чтобы нормально отладить сборку для виндос.

Такой проблемы нет, например если запускать проект из Гитхаба в консоли. Так права почему-то есть на чтение модели.

Из-за того, что нет прав на чтение модели, программа выдаёт лицо не видно. Если ставить расширение https://github.com/wladradchenko/advanced.wunjo.wladradchenko.ru, в проект добавится консоль и сразу будет понятно, что проблема с чтением модели.

Попробуйте для виндос 11, сначало сделать pip install - requirements.txt, а потом briefcase dev. Подробнее по install в редми проекта.

Точнее по ошибки в билдах для виндос:

  1. Нет доступа для чтения моделей. Чтобы разрешить доступ icacls "%USERPROFILE%/.wunjo/deepfake/gfpgan/weights/*.pth" /grant:r "Users":(R,W)

  2. Однако, в билдах под виндос дальше возникает проблема not module aifc, который должен входить в пакет python3.

  3. Разбираем дальше, оказывается проблема not module aifc возникает, при чтение аудио файла библиотекой librosa==0.8.0 по строчке librosa.core.load.

    Данная проблема ещё не решена для билдов на виндос, поэтому для виндос лучше запускать приложение через briefcase dev, чтобы использовать deepfake, для синтеза речи достаточно будет билда.

Спасибо, пробую на винде10,но даже звук не запускается. Пробовал 1.2 Через брифкейс то же не идёт. Можете краткий faq с путями через брифкейс?

По виндовс, сейчас тестируется билд на эмуляторе вроде получилось повторить ошибку. Залил не достающие Python3 файлы, если получится, билд на виндос заработает и запишу видео.

Пробовали билд 1.3.1 или 1.3.2? Я залил изменения с фиксом face_alignment, там в библиотеке зачем то поменяли название переменной с 2_D на TWO_D в init, из-за этого может на брифкейс не пошло. Но с 1.3.2 необходимо перейти в директорию portable 'cd portable' и запустить 'briefcase dev'. Этого будет достаточно. briefcase build -> briefcase package, это уже чтобы билды делать.

Туториал прикрепил.

Насчет CUDA. Для того, чтобы проект видел CUDA и генерация могла работать на GPU, нужно ставить расширение https://github.com/wladradchenko/advanced.wunjo.wladradchenko.ru . Без расширения проект работает на CPU.

спасибо, а можно просто каталог для моделей делать по умолчанию текущим к установленному msi? У меня нет столько места в %user% Точнее каталог установки задать ?

Можно. В приложении изначально не предусматривался выбор каталога, но можно сделать это самостоятельно:

  1. Проходим в директорию, где установлено приложение, если используется проект из Гитхаба, тогда в директорию проекта.

  2. Далее я буду писать про установленное приложение, так как по ссылкам на Гитхаб, если используется проект оттуда, будет понятно, где и что лежит. Открываем файл app/backend/folders.py и заменяем HOME_FOLDER на свою директорию. Например HOME_FOLDER="абсолютный_путь_в_нужную_директорию"

Дополнительно:

Вчерашний билд с фиксом для винды я правил на коленках, поэтому не надо удалять папку .wunjo/video в директории пользователя (пусть будет пустой), туда будут помещаться временные файлы для генерации дипфейка, а потом сами оттуда удаляться, размер их небольшой (остальные папки можно удалить, либо перенести в новую директорию, что бы не скачивать модели заново).

Спасибо ,наверное не абсолютный а до home директории wunjo ? т.к остальные пути к медиа и тп он создает сам относительно userfolder . Сначала я подумал , что HOME_FOLDER это путь к exe файлу

Нет. Это путь не самого приложения и вы можете задать его абсолютным, HOME_FOLDER путь где вы хотите создать папку .wunjo куда будут скачиваться модели (они весят больше чем само приложение), и будут результаты генерации. На видео я как раз рассказываю об этой папке .wunjo.

Само приложения, попробуйте перенести обычным копированием (если требуется), не думаю, что при установки через BeeWare билд, создаются абсолютными пути до исполняемых файлов и файлов библиотек.

Спасибо, это понятно , теперь скажите конкретно какие файлы должны быть , например в voice/female ? - Не видит файлов . Лежит waveglow и распакованный checkpointfemail

Такие и должны быть. Еще есть строчка data_dir = os.path.join(os.path.expanduser('~'), '.wunjo') в файле по пути app/speech/tts/synthesizer.py. Там нужно поменять os.path.expanduser('~') на нужную вам директорию. Эта строчка как раз отвечает за то, где хранятся модели голосов

Наверное лучше подождать ...) если меняю os.path.expanduser('~') , валится по ошибке

Попробуйте вернуть назад os.path.expanduser('~') в app/speech/tts/synthesizer.py и app/backend/folders.py. В app/backend/folders.py добавить строчку с os.environ["HOME"] как в примере https://docs-python.ru/standart-library/modul-os-path-python/funktsija-expanduser-modulja-os-path/ (если понадобится и в app/speech/tts/synthesizer.py)

Добавил обновление 1.4. Желательно обновиться, чтобы была возможность узнавать о новых фичах и обновлениях.

  •  Добавил дипфейк для работы с исходным видео, который синхронизирует движение губ под аудио

  •  Добавил выбор видеофрагмента для дипфейка в зависимости от длины звуковой дорожки

  •  Добавил возможность смены каталога для папки кэша .wunjo.

  •  Добавил перевод приложения на разные языки

  •  Обучил и добавил модели TTS для английской речи

  •  Добавил идентификацию языка языковой модели в интерфейсе

  •  Добавил возможность говорить на английском для русской модели и говорить на русском для английской модели

  •  Добавил возможность использования синтеза речи на пользовательских моделях TTS (ru, en)

  •  Добавлено оповещение об обновлении

  •  Интеграция ссылок на обучающее видео и вики-страницу

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации