Application interactive pour pratiquer l'anglais avec reconnaissance vocale et synthèse vocale (Text-to-Speech).

- 🎙️ Reconnaissance vocale : Parlez dans le microphone et l'application reconnaîtra ce que vous avez dit
- 🎲 Phrases aléatoires : Écoutez des phrases anglaises choisies aléatoirement
- ✍️ Texte personnalisé : Saisissez votre propre texte et écoutez-le prononcé
- 🔁 Répétition : Répétez le dernier audio généré dans chaque onglet
- Python 3.8 ou supérieur
- Un microphone (pour la reconnaissance vocale)
- Des haut-parleurs ou un casque
sudo apt-get update
sudo apt-get install portaudio19-dev python3-pyaudiobrew install portaudioPyAudio devrait s'installer automatiquement avec pip. Si vous rencontrez des problèmes, téléchargez le fichier wheel approprié depuis ici.
git clone https://github.com/nseaSeb/english_py.git
cd voice-tts-app# Créer l'environnement virtuel
python -m venv venv
# Activer l'environnement virtuel
# Sur Linux/macOS :
source venv/bin/activate
# Sur Windows :
venv\Scripts\activatepip install -r requirements.txtCréez un dossier voices et téléchargez les modèles ONNX depuis le dépôt Piper.
mkdir voices
cd voicesTéléchargez au moins un de ces modèles :
en_US-joe-medium.onnx(voix masculine américaine - utilisée par défaut)en_US-lessac-medium.onnx(voix féminine américaine)en_GB-alan-medium.onnx(voix masculine britannique)
Important : Téléchargez aussi les fichiers .json correspondants (même nom que le fichier .onnx).
Exemple de téléchargement :
Avec wget (Linux) :
# Télécharger la voix (remplacez l'URL par la version actuelle)
wget https://github.com/rhasspy/piper/releases/download/v1.2.0/en_US-joe-medium.onnx
wget https://github.com/rhasspy/piper/releases/download/v1.2.0/en_US-joe-medium.onnx.jsonAvec curl (macOS) :
# Télécharger la voix (remplacez l'URL par la version actuelle)
curl -L -O https://github.com/rhasspy/piper/releases/download/v1.2.0/en_US-joe-medium.onnx
curl -L -O https://github.com/rhasspy/piper/releases/download/v1.2.0/en_US-joe-medium.onnx.jsonVotre projet devrait ressembler à ceci :
voice-tts-app/
├── voice_app_updated.py
├── requirements.txt
├── README.md
└── voices/
├── en_US-joe-medium.onnx
├── en_US-joe-medium.onnx.json
└── (autres modèles optionnels)
python app.pySelon votre installation ce peut être aussi
python3 app.pyL'application ouvrira automatiquement une interface web dans votre navigateur par défaut (généralement à l'adresse http://127.0.0.1:7860).
Ouvrez le fichier voice_app_updated.py et modifiez la ligne :
model_path = "./voices/en_US-joe-medium.onnx"Remplacez par le chemin vers un autre modèle de voix.
- Cliquez sur le bouton du microphone
- Parlez en anglais
- Cliquez sur "Transcribe & Speak Back"
- L'application affichera ce qu'elle a compris et le répètera à voix haute
- Cliquez sur "🎲 Choose & Speak a Sentence"
- Une phrase aléatoire sera choisie et prononcée
- La phrase apparaît dans le champ texte
- Tapez votre texte dans le champ
- Cliquez sur "🔊 Speak This Text"
- Le texte sera prononcé à voix haute
Chaque onglet dispose d'un bouton "🔁 Répéter" pour rejouer le dernier audio généré.
- Vérifiez que votre microphone est correctement connecté
- Autorisez l'accès au microphone dans votre navigateur
- Vérifiez les permissions du système
- Vérifiez que vos haut-parleurs/casque fonctionnent
- Le script affiche les périphériques audio disponibles au démarrage
- Sur Linux :
sudo apt-get install portaudio19-dev python3-pyaudio - Sur macOS :
brew install portaudio - Sur Windows : Utilisez un fichier wheel pré-compilé
La reconnaissance vocale utilise l'API Google et nécessite une connexion Internet.
Modifiez la liste phrases dans le fichier Python :
phrases = [
"Good morning! How are you today?",
"Votre nouvelle phrase ici",
# ...
]Modifiez le paramètre language dans la fonction recognize_and_reply :
text = recognizer.recognize_google(audio_data, language="en-US")Langues disponibles : en-US, en-GB, fr-FR, etc.
Ce projet utilise :
- Gradio (Apache 2.0)
- Piper TTS (MIT)
- SpeechRecognition (BSD)
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
Pour toute question ou problème, ouvrez une issue sur le dépôt GitHub.
Bon apprentissage de l'anglais ! 🎓🇬🇧🇺🇸