
Whisper pour la transcription d’appels : parole précise en texte pour les appels téléphoniques
Eric King
Author
La transcription d’appels téléphoniques est l’un des cas d’usage les plus courants et les plus utiles de la reconnaissance vocale. OpenAI Whisper est particulièrement adapté grâce à sa robustesse au bruit, aux accents et à une qualité audio imparfaite.
Cet article explique comment utiliser Whisper pour transcrire des appels, y compris les formats audio, la séparation des locuteurs, l’optimisation de la précision et des schémas de déploiement concrets.
Pourquoi Whisper pour la transcription d’appels ?
Par rapport aux moteurs ASR classiques, Whisper obtient de bons résultats sur :
- L’audio téléphonique de faible qualité (8 kHz)
- Les accents et les locuteurs non natifs
- Le bruit de fond
- Les conversations longues (10–120 minutes)
- Les appels multilingues et le code-switching
Cas d’usage typiques :
- Journaux d’appels du support client
- Analyse des appels commerciaux
- QA et conformité
- Synthèses et insights d’appels
- Automatisation CRM
Pipeline typique de transcription d’appels
Call (PSTN / VoIP)
↓
Call Recording (WAV / MP3)
↓
Preprocessing (resample, channel split)
↓
Whisper Transcription
↓
Speaker Diarization (optional)
↓
Post-processing (punctuation, timestamps, summaries)
Formats audio : ce qui fonctionne le mieux
Réglages recommandés
| Paramètre | Valeur |
|---|---|
| Fréquence d’échantillonnage | 8 kHz ou 16 kHz |
| Canaux | Mono ou stéréo |
| Format | WAV (préféré), FLAC |
| Profondeur de bits | PCM 16 bits |
Whisper rééchantillonne en interne, mais une entrée propre améliore la précision.
Appels mono vs stéréo
Mono (le plus courant)
- Les deux interlocuteurs mélangés sur un seul canal
- Pipeline plus simple
- Séparation des locuteurs plus difficile
Idéal pour :
- Une transcription simple
- La recherche et l’archivage
Stéréo (bonne pratique)
- Agent sur le canal gauche
- Client sur le canal droit
Avantages :
- Séparation nette des locuteurs
- Pas besoin de diarisation
- Meilleure précision en aval
# Split stereo call into two mono tracks
import torchaudio
audio, sr = torchaudio.load("call.wav")
agent = audio[0]
customer = audio[1]
Transcrivez ensuite chaque canal séparément.
Diarisation des locuteurs avec Whisper
Whisper ne propose pas la diarisation nativement, mais vous pouvez la combiner avec :
- Pyannote.audio
- VAD WebRTC + clustering
- Séparation par canal (préférée)
Approche courante :
- Exécuter le modèle de diarisation
- Découper l’audio par segments de locuteur
- Transcrire chaque segment avec Whisper
- Fusionner les résultats avec des étiquettes de locuteur
Meilleurs modèles Whisper pour les appels
| Modèle | Précision | Vitesse | Recommandé |
|---|---|---|---|
| base | Moyenne | Rapide | ❌ Appels courts |
| small | Élevée | Moyenne | ✅ La plupart des cas |
| medium | Très élevée | Plus lente | ✅ Conformité |
| large-v3 | Excellente | Lente | ✅ Juridique / QA |
Recommandation : small ou medium pour les centres d’appels
Appels longs (30–120 minutes)
Pour les longs appels, évitez de traiter tout le fichier d’un coup.
Bonne pratique
- Découper l’audio en segments de 2–5 minutes
- Utiliser de petits chevauchements (5–10 secondes)
- Conserver les horodatages
result = model.transcribe(
audio_chunk,
condition_on_previous_text=True
)
Cela préserve le contexte entre les segments.
Améliorer la précision sur les appels téléphoniques
1. Normaliser l’audio
- Supprimer le silence
- Normaliser le volume
- Appliquer une réduction de bruit si nécessaire
2. Utiliser des indications de langue
model.transcribe(audio, language="en")
3. Activer FP16 sur GPU
Inférence plus rapide et plus stable.
4. Éviter des morceaux trop petits
Des segments trop courts réduisent le contexte et la précision.
Transcription d’appels en temps réel vs par lots
| Mode | Cas d’usage |
|---|---|
| Temps réel | Supervision en direct, alertes |
| Quasi temps réel | Tableaux de bord QA |
| Par lots | Analytique, archivage |
La plupart des centres d’appels utilisent le quasi temps réel ou le par lots pour la stabilité et le coût.
Faire évoluer Whisper pour les centres d’appels
Petite échelle (≤ 100 appels/jour)
- Un serveur GPU
- Whisper small
Échelle moyenne (1k–10k appels/jour)
- Pool de GPU
- File de jobs asynchrone (RabbitMQ / Kafka)
- Traitement par segments
Grande échelle (entreprise)
- Plusieurs nœuds GPU
- Service de prétraitement audio
- Pipelines transcription + synthèse
Post-traitement et extraction de valeur
Après la transcription, les étapes courantes incluent :
- Ponctuation des phrases
- Étiquetage des locuteurs
- Extraction de mots-clés
- Analyse de sentiment
- Synthèses d’appels (LLM)
- Intégration CRM
Whisper vs API cloud pour la transcription d’appels
| Critère | Whisper | API cloud |
|---|---|---|
| Coût | Faible (auto-hébergé) | Élevé |
| Confidentialité | Contrôle total | Dépend du fournisseur |
| Précision | Très élevée | Élevée |
| Personnalisation | Complète | Limitée |
Whisper convient aux équipes qui ont besoin de confidentialité, de maîtrise des coûts et de personnalisation.
Conclusion
Whisper est un choix solide pour la transcription d’appels, notamment pour :
- Le support client
- Les ventes et la QA
- Les secteurs très réglementés
Avec un bon traitement audio, un découpage adapté et une diarisation optionnelle, Whisper peut fournir une transcription d’appels de niveau production à grande échelle.
