AIStreameur est un projet GitHub qui vous permet de faire diffuser en direct vos personnes préférées ! En utilisant la puissance de l'intelligence artificielle, ce projet combine GPT pour le texte, ElevenLabs pour la voix et Wav2Libs pour créer une personnalité réaliste !
Vous devez avoir une carte graphique NVIDIA
Installer conda ou Miniconda : direct link ou un tuto youtube
Installer cuda, de préférence une version assez nouvelle genre 11.8, tuto youtube
Installer python >= 3.6, tuto youtube
Crée un environnement anaconda : conda create -n IASpeaker
, puis on l'active conda activate -n IASpeaker
Installer pytorch avec cuda : pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Télécharger le .zip du repo et extrayer le, ouvrez le pour enfin éxécuter la commande pip install -r requirements.txt
Maintenant il faut télécharger les modèles d'IA : wav2lip.pth dans IA_Speaker\simpleWav2Lip\checkpoints
et s3fd-619a316812.pth renommé en s3fd.pth
dans IA_Speaker\simpleWav2Lip\face_detection\detection\sfd
Si vous voulez utilisez RVC, mettez hubert_base.pt dans IA_Speaker\voiceModels\rvcModels
, avec a coté le .index
et le .pth du modèle
Crée le fichier : IA_Speaker/.env
avec vos clée api, le pseudo du streamer, le nom de la voix que vous avez crée sur le panel d'ElevenLabs, comme ceci :
ELEVENLABS_KEY = "VOTRE_CLE_ELEVENLABS" # Laissez vite si vous n'utilisez pas ElevenLabs
OPENAI_KEY = "VOTRE_CLE_OPENAI"
TWITCH_TOKEN = "VOTRE_OAUTH_TWITCH"
Modifier config.yaml, tous est indiqué dedans sur comment choisir les différent TTS/configuré sur quelle streameur le bot va regardé le chat..etc
Ensuite, vous allez ajouté vos vidéo en format mp4 de la personne voulu dans IA_Speaker\simpleWav2Lip\sample_data\videos
.
N'oubliez pas, d'ajouter vos vidéos en format mp4 de quelque chose pour combler le stream pendant la génération de la vidéo, mettez la dans IA_Speaker\flaskServer\static\waiting
.
Enfin, vous allez modifier votre raccourcie chrome pour y ajouter --autoplay-policy=no-user-gesture-required
Avant de lancez, pour rendre la génération 10x plus rapide, vous devez mettre en cache l'output du detector, pour se faire, vous devez ouvrir un terminal dans le dossier simpleWav2Lip
pour ensuite faire un python cacheVideo.py
, vous devrez refaire cette opération a chaque fois que vous modifier ou ajouter une vidéo !
Il ne vous reste plus que lancez les programmes python dans 2 terminal différent : python server.py
dans IA_Speaker\flaskServer
et python main.py
Libre a vous de modifier le fichier base.css
pour modifier ou ajouter des choses a l'overlay, j'ai fait très simple avec juste la question
- Comprendre pourquoi le logger envoie 2x les message
- Ajouter LLama ou au moins une alternative gratuite a gpt
- Ajouter une alternative a 11Labs genre VITS+RVC
- Speed Up Wav2Lips
- twitch.tv/ask_jesus pour l'idée du projet
- twitch.tv/defendintelligence pour l'idée d'utiliser un server web