Skip to content

Snowad14/IAStreameur

Repository files navigation

AIStreameur

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 !

Screenshot 🤩

AIStreameur web screenshot

Installation 🖥️

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

TODO 📝

  • 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

Remerciements

  • twitch.tv/ask_jesus pour l'idée du projet
  • twitch.tv/defendintelligence pour l'idée d'utiliser un server web

About

AIStreameur : Faite streamer vos personne préféré !

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages