Maison > développement back-end > Tutoriel Python > Création d'une application de transcription et de traduction vocale avec OpenAI Whisper et Streamlit

Création d'une application de transcription et de traduction vocale avec OpenAI Whisper et Streamlit

Patricia Arquette
Libérer: 2024-11-30 20:31:11
original
1056 Les gens l'ont consulté

Ce guide vous apprendra comment utiliser le widget Streamlit st.audio_input pour enregistrer votre voix sur le microphone de votre appareil associé au modèle OpenAI Whisper pour transcrire et/ou traduire votre discours en texte en anglais. Vous pourrez ultérieurement télécharger le contenu transcrit sous forme de fichier texte au format .txt.

Conditions préalables

  • Connaissances de base de Python
  • Streamlit
  • Clé API OpenAI. Créez un compte

Qu'est-ce que Whisper

Whisper est un réseau neuronal open source formé qui se rapproche de la robustesse et de la précision au niveau humain dans la reconnaissance vocale en anglais.

L'API OpenAI fournit deux points de terminaison :

  • Transcriptions
  • Traductions

Qu'est-ce que Streamlit

Sur le site officiel, Streamlit est un moyen plus rapide de créer et de partager des applications de données. Il s'agit d'une bibliothèque Python open source qui vous aide à créer des applications Web permettant de partager des résultats analytiques, de créer des expériences interactives complexes et d'itérer sur de nouveaux modèles d'apprentissage automatique.

Streamlit est un premier choix pour les développeurs Python car il dispose de méthodes intégrées et pratiques, allant de la prise en compte des entrées utilisateur telles que du texte, des chiffres et des dates à l'affichage de graphiques interactifs à l'aide des bibliothèques graphiques Python les plus populaires et les plus puissantes.

Installation de Streamlit

Pour exécuter des applications Streamlit, vous devez d'abord installer Streamlit à l'aide de la commande :

Installation d'autres bibliothèques

Puisque nous travaillons sur la transformation de l'audio en texte, nous devons stocker nos variables d'environnement en toute sécurité.

Création de la variable d'environnement

Créez un nouveau fichier dans le répertoire racine du projet et nommez-le .env.

Collez votre clé API OpenAI :

.env

Création de l'application

Dans votre répertoire, créez ce fichier, streamlit_app.py qui contiendra tout le code Python pour transcrire et traduire notre audio et sortir le texte résultant.

Pour initialiser une instance du client OpenAI, copiez-collez ce code :

streamlit_app.py

Le bloc de code se connecte et lit notre clé secrète dans le fichier .env, s'assurant que nous sommes authentifiés en tant qu'utilisateurs.

PS : L'utilisation de l'API OpenAI n'est pas gratuite car vous devez acheter des crédits pour utiliser le service.

Transcription avec murmure

Mettons à jour le streamlit_app.py avec ce qui suit :

streamlit_app.py

L'API de transcriptions convertira notre audio à l'aide du widget st.audio_input pour enregistrer notre voix. Si l'enregistrement existe, le modèle Whisper est utilisé pour créer le format de fichier souhaité pour la transcription de l'audio et sortir le texte à l'aide de la fonction st.write() qui prend une chaîne et l'écrit directement dans notre application Web.

Pour utiliser le logo exact en haut à gauche de l'application, téléchargez-le et enregistrez-le dans le répertoire de votre projet.

Maintenant, exécutons cette application avec cette commande dans le terminal :

Téléchargement du texte transcrit

La possibilité de télécharger le message transcrit pour plus tard servirait à conserver des dossiers lorsque vous en avez besoin.

Streamlit propose un widget de saisie qui permet l'affichage d'un bouton de téléchargement. De retour au fichier streamlit_app.py, mettez à jour la base de code avec ce qui suit :

streamlit_app.py

Ce qui suit se produit dans les lignes de code ci-dessus :

  • st.session_state dans Streamlit vous permet de partager des variables entre les réexécutions, pour chaque session utilisateur
  • La variable transcript_text contiendra le contenu du texte transcrit
  • La variable txt_file avec la valeur attribuée, transcription.txt est le nom de fichier du texte transcrit lorsque le fichier est téléchargé.
  • Dans la fonction de st.download_button(), l'étiquette décrit à l'utilisateur à quoi sert le bouton.

L'élément d'état st.success affiche un message de réussite lorsque le fichier est enregistré comme indiqué :

Building a Voice Transcription and Translation App with OpenAI Whisper and Streamlit

Traduction avec Whisper

Le processus de création de la traduction est similaire à celui de la création de la transcription. Le point final de traduction traduira une langue étrangère en texte écrit en anglais à partir de l’entrée du fichier audio.

Copiez et collez ce code.

streamlit_app.py

Si vous souhaitez créer un fichier pour enregistrer votre fichier audio traduit sous forme de texte, vous pouvez faire la même chose qu'avec le bouton Télécharger la transcription.

Le code source complet se trouve dans ce référentiel et essayez cette application pour transcrire et traduire votre voix en texte.

Bonne chance !

Conclusion

Au lieu d'utiliser l'audio préenregistré sur Internet comme le montrent les documents OpenAI, Streamlit vous offre la possibilité d'utiliser votre voix et de l'associer aux points de terminaison de transcription et de traduction fournis par OpenAI pour créer ce projet exceptionnel.

Le microphone de votre appareil peut faire beaucoup de choses car la technologie a permis d'aller au-delà de son utilisation pour communiquer lors de réunions et d'appels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal