Deepstory é uma obra de arte que incorpora geração de linguagem natural (NLG) com GPT-2, conversão de texto em fala (TTS) com TTS convolucional profundo, fala para animação com animação orientada por fala e animação de imagem com modelo de movimento de primeira ordem em um aplicativo de mídia.
Simplificando, transforma um texto/texto gerado em um vídeo onde o personagem é animado para contar sua história usando sua voz.
Você pode converter a imagem em um vídeo como este:
Ele fornece uma interface web confortável e backend escrito com flask para criar sua própria história.
Suporta modelo de transformadores e modelos pytorch-dctts
Colab (frasco-ngrok): https://colab.research.google.com/drive/1HYCPUmFw5rN8kvZdwzFpfBlaUMWPNHas?usp=sharing
Vídeo (caso precise de instruções): https://blog.thetobysiu.com/video/
A versão Colab estará disponível em breve!
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
Eles estão disponíveis na versão google drive deste projeto. Todos os modelos (incluindo Geralt, Yennefer) estão incluídos.
Você deve primeiro baixar o modelo inglês espaçoso.
certifique-se de ter o ffmpeg instalado em seu computador e o ffmpeg-python instalado.
https://drive.google.com/drive/folders/1AxORLF-QFd2wSORzMOKlvCQSFhdZSODJ?usp=sharing
Para simplificar as coisas, uma versão do Google Colab será lançada em breve...
É necessário ter uma GPU nvidia com pelo menos 4GB de VRAM para rodar este projeto
https://github.com/tugstugi/pytorch-dc-tts
https://github.com/DinoMan/speech-driven-animation
https://github.com/AliaksandrSiarohin/modelo de primeira ordem
https://github.com/huggingface/transformers
Todo o projeto usa PyTorch, enquanto tensorflow está listado em requisitos.txt, ele foi usado para transformadores para converter um modelo treinado de gpt-2-simple para um modelo Pytorch.
Apenas os arquivos dentro da pasta de módulos são ligeiramente modificados em relação ao original. Os arquivos restantes foram todos escritos por mim, exceto algumas partes que são referenciadas.
Ainda há alguns problemas de memória se você sintetizar frases repetidamente em uma sessão, mas são necessárias pelo menos 10 vezes para causar estouro de memória.
Existem outros repositórios de ferramentas que criei para pré-processar os arquivos. Eles podem ser encontrados no meu perfil.