Retour à l'accueil

Reconnaissance vocale Whisper en C# pour les réunions

Programme C# capture le flux audio système, utilise Whisper pour STT et traduit via Azure/OpenAI. Modèle Small optimal, paramètres VAD pour les phrases. Architecture modulaire pour extension.

Utilitaire C# : Whisper STT + traduction en temps réel
Advertisement 728x90

Reconnaissance vocale en temps réel et traduction en C# avec Whisper

L'application capte les flux audio provenant de plateformes comme Teams, les découpe en phrases selon l'amplitude vocale et les pauses, puis utilise Whisper pour la reconnaissance vocale (STT) en russe, anglais ou français, suivie d'une traduction. L'implémentation en C# repose sur environ 20 % de code personnalisé, le reste étant construit via des intégrations. Elle prend en charge un mode dictée lorsqu'une seule langue est sélectionnée — transcription uniquement, avec sauvegarde audio optionnelle.

Les paramètres permettent de calibrer :

  • les seuils d'amplitude vocale pour la détection de parole.
  • la durée de pause entre les phrases.

Les statistiques affichées en bas à droite montrent les niveaux audio actuels et les indicateurs de détection — idéal pour le réglage fin. La capture audio fonctionne uniquement avec le mixeur système (casque/haut-parleurs) ; l'entrée directe du microphone n'est pas prise en charge.

Google AdInline article slot

Choix des modèles Whisper et performance

Des solutions locales de STT ont été testées :

  • Sherpa (ONNX) : la version streaming en français ne correspondait pas à l'architecture.
  • Foundry Local (Microsoft) : communication brute basée sur des fichiers, fondée sur Whisper.

Nous avons choisi Whisper :

| Modèle | Vitesse | Logique | Remarques |

Google AdInline article slot

|-------|-------|-------|-------|

| Base | Rapide | Aucune | Minimaliste, sans contexte |

| Petit | Moyenne | Oui | Équilibre optimal, température 0,1–0,2 |

Google AdInline article slot

| Moyen | Lente | Bonne | File d'attente des tronçons s'allonge pendant les réunions en direct |

Sans NPU/GPU, la mémoire vive augmente, mais les résultats restent acceptables avec une qualité audio élevée.

Intégration des services de traduction

Deux options disponibles :

  • OpenAI : clé API, modèle et URL configurés dans les paramètres.
  • Azure Translator : niveau gratuit inclut 2 millions de caractères/mois ; nécessite un compte.

L'interface ITranslationService simplifie l'ajout de nouveaux fournisseurs (API Yandex possible avec facturation). Aucun traducteur local n'a atteint les performances attendues.

Exemple de configuration Azure :

public class AzureTranslationService : ITranslationService
{
    private readonly string _key;
    // ...
}

Cas d'utilisation réels et limites

Cet outil résout les besoins de réunion multilingue en temps réel sans enregistrement. Testé avec le français, l'anglais et le russe. Ce n'est pas un enregistreur universel — seul le son sortant du système est capturé.

Pour les développeurs intermédiaires à confirmés : architecture modulaire axée sur le traitement par tronçons en streaming. Extensible par remplacement des moteurs STT/traduction ou ajout d'algorithmes VAD nouveaux.

Points clés :

  • Capture audio système avec découpage de phrases via des paramètres similaires à VAD.
  • Whisper Petit est optimal pour l'utilisation en temps réel : température 0,1–0,2, pas de GPU requis.
  • Interface de traduction simple ; Azure propose 2 millions de caractères gratuits/mois.
  • Mode STT uniquement pour la transcription sans traduction.
  • Statistiques en temps réel pour ajuster la précision de détection vocale.

— Editorial Team

Advertisement 728x90

Lire ensuite