ValentineAI est une application Python interactive conçue pour offrir réconfort et compagnie émotionnelle. Dotée d'une interface graphique immersive avec avatar animé, elle combine synthèse vocale et reconnaissance vocale pour créer une expérience conversationnelle bienveillante.
- Réponses contextuelles adaptées aux émotions exprimées
- Base de connaissances locale avec réponses pré-définies
- Prompt système spécialisé en réconfort et soutien émotionnel
- Historique de conversation pour des échanges cohérents
- Reconnaissance vocale via microphone
- Synthèse vocale avec voix douce et rassurante
- Support français natif
- Animation labiale synchronisée avec la parole
- Avatar 2D animé avec expressions faciales
- Yeux qui clignent automatiquement
- Bouche animée en temps réel
- Cœur pulsant pour l'ambiance émotionnelle
- Interface épurée aux couleurs apaisantes
- Lancement de l'application
- Salutation vocale initiale
- Capture audio utilisateur
- Traitement et génération de réponse
- Synthèse vocale avec animation
- Retour en mode écoute
- Système d'exploitation : Windows 10/11 (64-bit)
- Python : Version 3.12 recommandée
⚠️ La version 3.13 présente des incompatibilités avecSpeechRecognition
- Espace disque : 100 MB minimum
- Microphone : Intégré ou externe (recommandé)
- Microsoft C++ Build Tools (pour la compilation de PyAudio)
- Git (pour le clonage du dépôt)
# Cloner le dépôt
git clone https://github.com/gbelsalvador/ValentineAI.git
cd ValentineAI
# Installer les dépendances avec Python 3.12
py -3.12 -m pip install -r requirements.txt# Créer et activer l'environnement virtuel
py -3.12 -m venv venv
venv\Scripts\activate
# Installer les dépendances
pip install -r requirements.txt# Solution 1 : Installer une version spécifique
py -3.12 -m pip install PyAudio==0.2.14
# Solution 2 : Utiliser pipwin (recommandé pour Windows)
py -3.12 -m pip install pipwin
pipwin install pyaudio# ⚠️ IMPORTANT : Utiliser Python 3.12
# SpeechRecognition n'est pas compatible avec Python 3.13+
# En raison de la suppression du module aifc de la bibliothèque standard# Mettre à jour setuptools si nécessaire
py -3.12 -m pip install -U setuptools wheel# Depuis le dossier du projet
py -3.12 main.py| Touche | Fonction |
|---|---|
| ESC | Quitter l'application |
| ESPACE | Simuler une entrée vocale (mode test) |
| ENTRÉE | Envoyer un message texte |
| Clic souris | Interagir avec l'interface |
- Démarrage : Valentine salue l'utilisateur vocalement
- Interaction : L'utilisateur parle dans le microphone
- Traitement : Transcription et génération de réponse
- Réponse : Valentine répond vocalement avec animation
- Boucle : Retour à l'étape 2
ValentineAI/
├── main.py # Point d'entrée principal et boucle d'application
├── config.py # Configuration globale et constantes
│
├── audio_input.py # Capture audio et reconnaissance vocale
├── audio_output.py # Synthèse vocale et animation labiale
├── brain.py # Logique IA et gestion des réponses
├── avatar.py # Rendu et animation du visage
│
├── requirements.txt # Dépendances Python
├── .env.example # Variables d'environnement (API keys)
└── README.md # Documentation
- Rendu 2D du visage avec Pygame
- Animations : clignotement des yeux, mouvement de bouche
- Expressions faciales selon le contexte émotionnel
- Effets visuels : cœur pulsant, particules décoratives
- Moteur de réponse émotionnelle
- Gestion de conversation avec historique
- Support OpenAI API (optionnel)
- Fallback local avec base de réponses pré-définies
- Capture microphone avec PyAudio
- Reconnaissance vocale via Google Speech Recognition
- Gestion du bruit ambiant
- Timeout intelligent pour la détection de parole
- Synthèse vocale avec pyttsx3
- Configuration de voix française
- Animation labiale basée sur le volume audio
- Gestion asynchrone de la parole
# Paramètres Audio
SAMPLE_RATE = 16000 # Fréquence d'échantillonnage
CHUNK_SIZE = 1024 # Taille des buffers audio
MAX_RECORDING_SECONDS = 10 # Durée maximale d'enregistrement
# Paramètres Interface
WINDOW_WIDTH = 900 # Largeur de la fenêtre
WINDOW_HEIGHT = 700 # Hauteur de la fenêtre
BG_COLOR = "#FFF5F8" # Couleur de fond (rose clair)
# Paramètres Animation
BLINK_INTERVAL_MIN = 2000 # Intervalle minimum de clignotement (ms)
BLINK_INTERVAL_MAX = 5000 # Intervalle maximum de clignotement (ms)
# Paramètres IA
SYSTEM_PROMPT = """Tu es Valentine, une IA de compagnie émotionnelle..."""# Fichier .env
OPENAI_API_KEY=votre_clé_api_ici-
Phase 1 (Actuelle)
- Interface de base fonctionnelle
- Reconnaissance vocale stable
- Synthèse vocale en français
-
Phase 2 (Planifiée)
- Support multi-langues
- Expressions faciales avancées
- Integration avec calendrier (dates spéciales)
-
Phase 3 (Future)
- Apprentissage des préférences utilisateur
- Suggestions d'activités apaisantes
- Mode hors ligne amélioré
Les contributions sont bienvenues ! Voici comment aider :
- Signaler un bug : Ouvrir une issue avec les étapes de reproduction
- Proposer une fonctionnalité : Décrire le cas d'utilisation
- Soumettre un correctif : Pull request avec tests
- Améliorer la documentation : Corrections ou traductions
ValentineAI est conçu comme un outil de réconfort temporaire, pas comme un substitut à :
- Les relations humaines authentiques
- L'aide psychologique professionnelle
- Les interactions sociales réelles
- Limites temporelles : Sessions limitées à 30 minutes
- Ressources externes : Liens vers aide professionnelle
- Transparence : Clarification du statut d'IA
- Confidentialité : Données locales uniquement
- Utiliser comme complément, non comme remplacement
- Consulter un professionnel en cas de détresse
- Maintenir des interactions humaines régulières
- Être conscient des limites de l'IA
Pour les questions techniques :
📧 gbelsalvador6gmail.com
Pour les questions éthiques :
📧 gbelsalvador6gmail.comS
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- Pygame pour le moteur graphique
- SpeechRecognition pour la transcription vocale
- pyttsx3 pour la synthèse vocale
- OpenAI pour l'API GPT (optionnel)
- Tous les contributeurs qui améliorent ValentineAI
ValentineAI - Parce que chaque cœur mérite d'être écouté 💝