audio processing

Tutoriel OpenAI Whisper : Création d'une application d'identification de locuteur utilisant Pyannote

Creating a speaker identification app with OpenAI Whisper and Pyannote

Découverte d'OpenAI Whisper : Une avancée dans la reconnaissance vocale

OpenAI a introduit Whisper, un système de reconnaissance vocale de pointe qui a été minutieusement affiné avec plus de 680 000 heures de données supervisées multilingues et multitâches provenant du web. Cet ensemble de données extensif améliore considérablement la capacité de Whisper à gérer les accents, le bruit de fond et le langage spécialisé, en faisant une solution robuste pour la transcription dans plusieurs langues. De plus, Whisper peut même traduire du contenu en anglais, ajoutant ainsi une couche supplémentaire de fonctionnalité.

Malgré ses capacités impressionnantes, Whisper rencontre des défis pour identifier les locuteurs individuels pendant une conversation. Diarisation—le processus de détermination de qui parle quand—est essentiel pour analyser les conversations de manière efficace. Dans ce tutoriel OpenAI Whisper, nous allons explorer comment reconnaître les locuteurs et les aligner avec les transcriptions de Whisper en utilisant pyannote-audio. Plongeons-y !

Préparation de l'audio

La première étape consiste à préparer le fichier audio pour le traitement. Pour cela, nous allons utiliser les 20 premières minutes du podcast de Lex Fridman avec Yann LeCun. Pour télécharger la vidéo et extraire ensuite l'audio, nous allons utiliser le package yt-dlp, tout en veillant à ce que ffmpeg soit installé sur notre système.

Le processus est simple, ne nécessitant que quelques commandes dans le terminal. Une fois ces commandes exécutées, nous aurons un fichier nommé download.wav dans notre répertoire de travail. Ensuite, nous allons utiliser le package pydub pour ajuster ce fichier audio aux 20 premières minutes, ce qui donnera un fichier nommé audio.wav.

Diarisation avec Pyannote

pyannote.audio est un kit d'outils open-source développé en Python spécifiquement pour la diarisation des locuteurs. Basé sur le framework de machine learning PyTorch, ce kit d'outils fournit une série de modules entraînables qui peuvent créer et optimiser des processus de diarisation des locuteurs.

Avec les modèles et pipelines préentraînés disponibles dans pyannote.audio, les utilisateurs peuvent effectuer efficacement des tâches telles que détection de l'activité vocale, segmentation des locuteurs, et détection de discours superposés.

Pour commencer, nous allons installer Pyannote et l'exécuter en utilisant l'audio extrait du podcast. Après avoir exécuté le processus de diarisation, nous examinerons la sortie, qui affiche généralement des segments indiquant les temps de début et de fin des contributions de chaque locuteur, ainsi qu'un indicateur de savoir si le locuteur est Lex ou non.

Préparation du fichier audio de la diarisation

Après le processus de diarisation, nous organiserons les segments audio en fonction des données de diarisation, en utilisant un espace comme délimiteur pour assurer la clarté des transitions entre les locuteurs.

Transcription avec Whisper

Avec les segments audio préparés, nous allons maintenant procéder à la transcription de ces segments en utilisant Whisper. Cependant, il est important de noter qu'il pourrait y avoir un conflit de version avec pyannote.audio qui pourrait entraîner une erreur. Notre solution consiste à exécuter Pyannote en premier, puis à exécuter Whisper, permettant une transcription fluide sans se soucier de l'erreur.

L'installation d'OpenAI Whisper peut se faire facilement. Une fois installé, nous exécutons Whisper sur le fichier audio préparé, qui rédige la transcription dans un fichier spécifié. Les utilisateurs peuvent personnaliser la taille du modèle en fonction de leurs besoins en consultant la fiche du modèle sur GitHub.

Pour traiter efficacement les fichiers .vtt, nous devrons également installer la bibliothèque webvtt-py.

Correspondance des transcriptions avec les diarizations

Ensuite, nous associerons chaque ligne de transcription avec les segments de diarisation correspondants. Cela sera affiché dans un format structuré en générant un fichier HTML. Pour garantir une représentation précise des temps, nous inclurons également les sections audio où aucun locuteur n'a été identifié.

Applications pratiques de cette connaissance

Une application passionnante de ces compétences pourrait consister à développer une application Whisper lors d'un hackathon IA, en collaborant avec d'autres innovateurs partageant les mêmes idées du monde entier. Après la phase de développement, les participants peuvent postuler au programme Slingshot de New Native pour une accélération supplémentaire du projet. En fin de compte, l'objectif serait de lancer la solution commercialement et de relever les défis mondiaux pertinents grâce à l'IA.

Alternativement, les individus pourraient choisir d'intégrer ces compétences et de mettre de côté leurs projets, laissant d'autres mener la charge du changement. Bien que cette option soit réalisable, elle n'est pas particulièrement recommandée.

Plus de 54 000 personnes ont participé aux hackathons IA de lablab.ai à travers le monde dans divers domaines, menant à la création de plus de 900 prototypes. Cette communauté est en constante expansion, offrant la parfaite opportunité de se connecter avec d'autres constructeurs d'IA et de contribuer à des innovations significatives !

En lire plus

AI art tutorial featuring stable diffusion and QR code integration.
Illustration showing the process of setting up AutoGPT with key components.

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés.

Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.