🎤 Voice to Copilot - Extension Visual Studio
Contrôlez GitHub Copilot à la voix dans Visual Studios
Extension VSIX qui permet de dicter vos demandes à GitHub Copilot en utilisant la reconnaissance vocale OpenAI Whisper et l'amélioration intelligente des prompts par IA.
✨ Fonctionnalités Principales
✅ Capture audio en temps réel via raccourci clavier (Alt+V)
✅ Transcription vocale avec OpenAI Whisper (multilingue)
✅ Amélioration intelligente des prompts avec GPT pour transformer vos paroles en requêtes optimisées
✅ Insertion automatique dans GitHub Copilot Chat
✅ Envoi automatique optionnel des messages
✅ Page d'options complète dans Visual Studio (Tools > Options)
✅ Support multilingue (français, anglais, etc.)
✅ Prompt système personnalisable pour adapter le comportement de l'IA
✅ Choix du modèle GPT (gpt-3.5-turbo, gpt-4, etc.)
✅ Notifications visuelles dans la barre d'état de Visual Studio
🚀 Installation et Configuration
📦 Étape 1 : Installer les Dépendances
Clic droit sur la solution → Restore NuGet Packages
- Ouvrez Visual Studio 2022
- Allez dans Tools → Options
- Naviguez vers Voice to Copilot → General
- Entrez votre clé API OpenAI (commence par
sk-)
- Configurez les autres options selon vos préférences
Obtenez votre clé sur : https://platform.openai.com/api-keys
Options Disponibles :
- API Key : Votre clé OpenAI (obligatoire)
- Whisper Model : Modèle de transcription (par défaut :
whisper-1)
- Enable Prompt Enhancement : Active l'amélioration des prompts par IA (recommandé)
- GPT Model : Modèle pour l'amélioration (
gpt-3.5-turbo, gpt-4, etc.)
- Auto Send Message : Envoie automatiquement le message à Copilot (appuyer sur Entrée)
- Language : Langue de transcription (optionnel, détection automatique par défaut)
- Custom System Prompt : Personnalisez les instructions pour l'IA d'amélioration
🏗️ Étape 3 : Build le Projet
- Ouvrez
VoiceToCopilote.slnx dans Visual Studio 2022
- Cliquez sur Build → Build Solution (Ctrl+Shift+B)
- Vérifiez qu'il n'y a pas d'erreurs
🧪 Étape 4 : Utiliser l'Extension
Méthode 1 : Raccourci Clavier (Recommandé)
- Appuyez sur F5 pour lancer l'instance expérimentale de Visual Studio
- Ouvrez un projet et le panneau GitHub Copilot Chat
- Appuyez sur Alt+V pour démarrer l'enregistrement
- 🎤 Parlez dans votre microphone (ex: "Crée une fonction pour trier une liste de nombres")
- Appuyez à nouveau sur Alt+V pour arrêter l'enregistrement
- ⏳ La transcription et l'amélioration du prompt se font automatiquement
- ✅ Le texte optimisé est inséré dans Copilot Chat (et envoyé si activé)
- Allez dans Tools → 🎤 Voice to Copilot
- Suivez les mêmes étapes que ci-dessus
Notifications dans la barre d'état :
- 🎤 Recording... : Enregistrement en cours
- ⏳ Transcribing... : Transcription Whisper en cours
- 🧠 Enhancing prompt with AI... : Amélioration du prompt par GPT
- 📤 Inserting text... : Insertion dans Copilot Chat
- ✅ Sent: [texte] : Message envoyé avec succès
- ❌ Error: [message] : Une erreur s'est produite
📁 Structure du Projet
VoiceToCopilot/
├── Commands/
│ └── VoiceCommandHandler.cs # Gestion du raccourci et du workflow
├── Services/
│ ├── AudioCaptureService.cs # Capture audio NAudio
│ ├── WhisperTranscriptionService.cs # Transcription OpenAI Whisper
│ ├── PromptEnhancementService.cs # Amélioration des prompts par GPT
│ ├── CopilotChatService.cs # Intégration Copilot Chat
│ └── VoiceStatusNotification.cs # Notifications dans VS
├── Options/
│ ├── GeneralOptions.cs # Modèle d'options
│ ├── GeneralOptionsPage.cs # Page d'options VS
│ └── GeneralOptionsControl.xaml # Interface utilisateur options
├── Properties/
│ └── AssemblyInfo.cs
├── VoiceToCopilotPackage.cs # Point d'entrée VSIX
├── VSCommandTable.vsct # Définition du menu et raccourcis
├── source.extension.vsixmanifest # Manifest VSIX
├── packages.config # Dépendances NuGet
└── VoiceToCopilot.csproj # Fichier projet
packages/ # Packages NuGet locaux
🔧 Packages NuGet Utilisés
| Package |
Version |
Usage |
| NAudio |
2.2.1 |
Capture audio du microphone |
| OpenAI |
2.0.0+ |
API Whisper (transcription) + GPT (amélioration) |
| System.Memory |
4.5.5 |
Compatibilité .NET Framework 4.8 |
| System.Text.Json |
8.0.5 |
Sérialisation JSON |
🎯 Workflow Complet
- Activation : Alt+V ou menu Tools
- Capture Audio : Enregistrement via NAudio
- Transcription : OpenAI Whisper convertit l'audio en texte
- Amélioration : GPT optimise le prompt (si activé)
- Supprime hésitations et tics de langage
- Conserve les termes techniques
- Rend la demande claire et actionnable
- Insertion : Envoi automatique dans Copilot Chat
- Envoi : Validation automatique (si activé)
Entrée vocale :
"Euh, alors j'aimerais que tu me fasses une fonction qui va, voilà, trier un tableau de nombres, mais en ordre décroissant quoi"
Après amélioration GPT :
"Crée une fonction pour trier un tableau de nombres en ordre décroissant."
💰 Coûts OpenAI
Whisper API
- Tarif : ~$0.006 par minute d'audio
- Exemple : 10 minutes/jour = ~$1.80/mois
GPT API (amélioration des prompts)
- gpt-3.5-turbo : ~$0.0015 par 1000 tokens (~750 mots)
- gpt-4 : ~$0.03 par 1000 tokens d'entrée
- Exemple : 50 requêtes/jour avec gpt-3.5-turbo = ~$0.50/mois
Total estimé : ~$2-5/mois pour un usage quotidien modéré
🐛 Dépannage
❌ "OpenAI API key is missing"
Solution :
- Allez dans Tools → Options → Voice to Copilot → General
- Entrez votre clé API OpenAI (commence par
sk-)
- Cliquez sur OK et redémarrez Visual Studio
❌ "Could not find NAudio"
Solution : Restaurez les packages NuGet
nuget restore -PackagesDirectory packages
❌ "OpenAI authentication failed"
Solution : Vérifiez votre clé API sur https://platform.openai.com/api-keys
🔇 Pas d'audio capturé
Solution :
- Vérifiez les permissions microphone dans Windows (Paramètres > Confidentialité)
- Testez le micro avec l'Enregistreur vocal Windows
- Définissez le micro par défaut dans les paramètres Windows Son
📝 La transcription est vide
Solution :
📤 Le texte n'est pas inséré dans Copilot Chat
Solution :
- Ouvrez manuellement le panneau GitHub Copilot Chat avant d'utiliser la commande vocale
- Le texte est toujours copié dans le presse-papier en secours (Ctrl+V)
- Vérifiez que l'extension GitHub Copilot est installée et active
🎨 Personnalisation
Modifier le Prompt Système
Le prompt système par défaut est optimisé pour le français et le vocabulaire technique. Vous pouvez le personnaliser dans Tools → Options → Voice to Copilot → Custom System Prompt.
Prompt par défaut :
Tu es un assistant d'optimisation de requêtes vocales pour développeurs utilisant GitHub Copilot dans Visual Studio.
Objectif : transformer une transcription orale (souvent verbeuse et non structurée) en une demande de développement claire, directe et actionnable.
Contraintes importantes :
- Réponds dans la MÊME langue que l'utilisateur. Ne traduis pas.
- Supprime les tics de langage, hésitations et répétitions.
- Conserve les termes techniques (noms de classes, méthodes, frameworks, etc.).
- Concentre-toi sur l'ACTION attendue (ce qu'il faut coder, modifier, corriger).
- Si la demande est ambiguë, fais une interprétation raisonnable en restant pragmatique.
- Sors UNIQUEMENT la demande reformulée, sans explication.
Changer le Modèle GPT
Dans les options, vous pouvez choisir :
- gpt-3.5-turbo (par défaut) : Rapide et économique
- gpt-4 : Plus précis mais plus coûteux
- gpt-4-turbo : Bon compromis vitesse/qualité
🚀 Roadmap Future (Idées)
- [ ] Raccourci clavier entièrement configurable
- [ ] Indicateur visuel personnalisé pendant l'enregistrement
- [ ] Historique des transcriptions avec recherche
- [ ] Support des commandes vocales directes ("ouvre le fichier X")
- [ ] Intégration avec d'autres services de transcription (Azure Speech, etc.)
- [ ] Mode offline avec Whisper local
- [ ] Analytics d'utilisation et coûts API
📝 Licence
Ce projet est fourni "tel quel" sans garantie.
🆘 Support
Pour toute question ou problème, consultez :
🙏 Remerciements
- OpenAI pour les APIs Whisper et GPT
- NAudio pour la capture audio robuste
- GitHub Copilot pour l'IA de développement
- Visual Studio Extensibility pour l'intégration VS
Bon développement vocal ! 🎉🎤