Deepstory — это произведение искусства, которое включает в себя генерацию естественного языка (NLG) с GPT-2, преобразование текста в речь (TTS) с Deep Convolutional TTS, преобразование речи в анимацию с речевой анимацией и анимацию изображений с моделью движения первого порядка. медиа-приложение.
Проще говоря, он превращает текст/сгенерированный текст в видео, где персонаж анимируется и рассказывает вашу историю своим голосом.
Вы можете конвертировать изображение в видео следующим образом:
Он предоставляет удобный веб-интерфейс и серверную часть, написанную на Flask, для создания собственной истории.
Он поддерживает модель трансформаторов и модели pytorch-dctts.
Colab (flask-ngrok): https://colab.research.google.com/drive/1HYCPUmFw5rN8kvZdwzFpfBlaUMWPNHas?usp=sharing
Видео (если вам нужны инструкции): https://blog.thetobysiu.com/video/
Версия Colab скоро будет доступна!
Deepstory
├── animator.py
├── app.py
├── data
│ ├── dctts
│ │ ├── Geralt
│ │ │ ├── ssrn.pth
│ │ │ └── t2m.pth
│ │ ├── LJ
│ │ │ ├── ssrn.pth
│ │ │ └── t2m.pth
│ │ └── Yennefer
│ │ ├── ssrn.pth
│ │ └── t2m.pth
│ ├── fom
│ │ ├── vox-256.yaml
│ │ ├── vox-adv-256.yaml
│ │ ├── vox-adv-cpk.pth.tar
│ │ └── vox-cpk.pth.tar
│ ├── gpt2
│ │ ├── Waiting for Godot
│ │ │ ├── config.json
│ │ │ ├── default.txt
│ │ │ ├── merges.txt
│ │ │ ├── pytorch_model.bin
│ │ │ ├── special_tokens_map.json
│ │ │ ├── text.txt
│ │ │ ├── tokenizer_config.json
│ │ │ └── vocab.json
│ │ └── Witcher Books
│ │ ├── config.json
│ │ ├── default.txt
│ │ ├── merges.txt
│ │ ├── pytorch_model.bin
│ │ ├── special_tokens_map.json
│ │ ├── text.txt
│ │ ├── tokenizer_config.json
│ │ └── vocab.json
│ ├── images
│ │ ├── Geralt
│ │ │ ├── 0.jpg
│ │ │ └── fx.jpg
│ │ └── Yennefer
│ │ ├── 0.jpg
│ │ ├── 1.jpg
│ │ ├── 2.jpg
│ │ ├── 3.jpg
│ │ ├── 4.jpg
│ │ └── 5.jpg
│ └── sda
│ ├── grid.dat
│ └── image.bmp
├── deepstory.py
├── generate.py
├── modules
│ ├── dctts
│ │ ├── audio.py
│ │ ├── hparams.py
│ │ ├── __init__.py
│ │ ├── layers.py
│ │ ├── ssrn.py
│ │ └── text2mel.py
│ ├── fom
│ │ ├── animate.py
│ │ ├── dense_motion.py
│ │ ├── generator.py
│ │ ├── __init__.py
│ │ ├── keypoint_detector.py
│ │ ├── sync_batchnorm
│ │ │ ├── batchnorm.py
│ │ │ ├── comm.py
│ │ │ ├── __init__.py
│ │ │ └── replicate.py
│ │ └── util.py
│ └── sda
│ ├── encoder_audio.py
│ ├── encoder_image.py
│ ├── img_generator.py
│ ├── __init__.py
│ ├── rnn_audio.py
│ ├── sda.py
│ └── utils.py
├── README.md
├── requirements.txt
├── static
│ ├── bootstrap
│ │ ├── css
│ │ │ └── bootstrap.min.css
│ │ └── js
│ │ └── bootstrap.min.js
│ ├── css
│ │ └── styles.css
│ └── js
│ └── jquery.min.js
├── templates
│ ├── animate.html
│ ├── deepstory.js
│ ├── gen_sentences.html
│ ├── gpt2.html
│ ├── index.html
│ ├── map.html
│ ├── models.html
│ ├── sentences.html
│ ├── status.html
│ └── video.html
├── test.py
├── text.txt
├── util.py
└── voice.py
Они доступны в версии этого проекта на Google Диске. Включены все модели (включая Геральта, Йеннифэр).
Сначала вам необходимо загрузить английскую модель Spacy.
убедитесь, что на вашем компьютере установлен ffmpeg и установлен ffmpeg-python.
https://drive.google.com/drive/folders/1AxORLF-QFd2wSORzMOKlvCQSFhdZSODJ?usp=sharing
Чтобы упростить задачу, скоро будет выпущена версия для Google Colab...
Для запуска этого проекта требуется графический процессор nvidia с не менее 4 ГБ видеопамяти.
https://github.com/tugstugi/pytorch-dc-tts
https://github.com/DinoMan/speech-driven-animation
https://github.com/AliaksandrSiarohin/first-order-model
https://github.com/huggingface/transformers
Весь проект использует PyTorch, хотя тензорный поток указан в файле require.txt, он использовался для преобразователей для преобразования модели, обученной из gpt-2-simple, в модель Pytorch.
Только файлы внутри папки модулей немного изменены по сравнению с оригиналом. Все остальные файлы написаны мной, за исключением некоторых частей, на которые имеются ссылки.
Если вы снова и снова синтезируете предложения в течение сеанса, все еще возникают некоторые проблемы с памятью, но для того, чтобы вызвать переполнение памяти, требуется как минимум 10 раз.
Существуют и другие репозитории инструментов, которые я создал для предварительной обработки файлов. Их можно найти в моем профиле.