Tutoriel

Comment transcrire de longs fichiers audio

Comment transcrire de longs fichiers audio ?

Comment transcrire de longs fichiers audio
TABLE DES MATIÈRES

Utiliser Eden AI pour la transcription audio longue

Les fichiers audio sont souvent utilisés dans diverses applications, qu'il s'agisse de podcasts, d'interviews ou d'enregistrements de conférences ou de réunions. Cependant, le traitement de longs fichiers audio peut s'avérer difficile lorsque l'objectif est de transcrire ou de traiter des segments spécifiques du contenu. C'est là qu'Eden AI entre en jeu.

Dans ce didacticiel, nous vous expliquerons comment diviser de longs fichiers audio en petits morceaux, générer des transcriptions de texte et concaténer le texte obtenu. Commençons.

Prérequis :

Assurez-vous au préalable que les exigences suivantes sont en place :

  1. Une clé API valide d'Eden AI.
  2. Python est installé sur votre système.
  3. Les bibliothèques Python nécessaires : requests, pydub et pydub.silence.

Étape 1 : Importez les bibliothèques requises

Pour commencer, importons les bibliothèques nécessaires pour accéder à l'API Eden AI et gérer le traitement audio. Ouvrez votre environnement Python ou votre IDE et importez les bibliothèques suivantes :


import json
import requests
from pydub import AudioSegment
from pydub.silence import split_on_silence

Étape 2 : Configuration de la clé API et de l'URL du fichier audio

Ensuite, nous devons configurer la clé API et spécifier l'URL du fichier audio que vous souhaitez fractionner. Pour obtenir votre clé API, vous devez créer un compte sur Eden AI :

Mettez à jour les variables suivantes à l'aide de votre clé API et de l'URL de votre fichier audio :


# Replace with your API key and audio file URL
api_key = "YOUR_API_KEY"
audio_file_url = "AUDIO_FILE_URL"

Étape 3 : Téléchargez et préparez le fichier audio

Au cours de cette étape, nous téléchargerons le long fichier audio à partir de l'URL spécifiée et le préparerons pour un traitement ultérieur. Ajoutez le code suivant :


# Download the audio file
response = requests.get(audio_file_url)
with open("temp_audio_file.mp3", "wb") as file:
    file.write(response.content)
audio = AudioSegment.from_file("temp_audio_file.mp3", format="mp3")

Étape 4 : Divisez le fichier audio en morceaux

Maintenant, divisons le fichier audio en petits morceaux en fonction des périodes de silence. Nous utiliserons le split_on_silence fonction à partir de pydub.silence module. Incluez le code suivant :


 # Load the audio file into chunks
 chunks = split_on_silence(audio, min_silence_len=500, silence_thresh=-40)

Étape 5 : Définition de la fonction de transcription

Pour transcrire chaque morceau audio, nous devons définir une fonction qui utilise l'API Eden AI. Ajoutez le code suivant :


# Function to transcribe an audio chunk

def transcribe_audio_chunk(chunk, index):
    chunk.export(f"temp_chunk_{index}.mp3", format="mp3")

    url = "https://api.edenai.run/v2/audio/speech_to_text_async"
    headers = {"Authorization": f"Bearer {api_key}"}
    json_payload = {
        "providers": "google, amazon",
        "language": "en-US",
        "file_url": f"🔗 your_audio_url",
    }

    response = requests.post(url, json=json_payload, headers=headers)
    result = json.loads(response.text)
    return result["result"]["google"]["transcription"]

Étape 6 : Transcrire et concaténer le texte

Au cours de cette dernière étape, nous allons transcrire chaque morceau audio et concaténer le texte obtenu. Ajoutez le code suivant :


# Transcribe each chunk and concatenate the text
transcribed_text = ""
for index, chunk in enumerate(chunks):
    text = transcribe_audio_chunk(chunk, index)
    transcribed_text += " " + text

print(transcribed_text)

Meilleures pratiques pour travailler avec des fichiers audio

1. Format et qualité des fichiers audio

Assurez-vous que votre fichier audio est dans un format compatible pris en charge par l'API Eden AI. Les formats les plus courants sont les suivants : MP3, WAV, FLAC et OGG. En outre, tenez compte de la qualité du fichier audio. Les enregistrements de meilleure qualité donnent généralement de meilleurs résultats de transcription.

2. Prétraitement et réduction du bruit

Avant de fractionner votre fichier audio, pensez à appliquer des techniques de prétraitement pour améliorer la précision de la transcription. Cela inclut la réduction du bruit de fond, la normalisation des niveaux audio et l'amélioration de la clarté de la parole. Des outils tels que la bibliothèque pydub fournissent des fonctionnalités de réduction du bruit et d'amélioration du son.

3. Taille de morceau optimale

Choisissez une taille de morceau appropriée en fonction de vos besoins spécifiques. Les segments plus petits permettent un traitement plus granulaire mais peuvent augmenter l'utilisation de l'API et le temps de traitement. Les segments plus volumineux réduisent les appels d'API, mais peuvent entraîner des transcriptions plus longues ou une moindre précision pour les sections présentant un bruit de fond important ou un chevauchement de la parole. Testez différentes tailles de morceaux pour trouver l'équilibre qui répond à vos besoins.

4. Seuil de silence et durée minimale de silence

La fonction split_on_silence nécessite de définir les paramètres du seuil de silence et de la longueur minimale du silence. Ajustez ces valeurs en fonction des caractéristiques de votre fichier audio. Des seuils de silence plus élevés peuvent entraîner une division du son à des volumes plus faibles, tandis que des durées de silence minimales plus courtes peuvent entraîner des divisions plus fréquentes. Ajustez ces paramètres pour obtenir les résultats souhaités.

5. Mécanismes de gestion des erreurs et de nouvelles tentatives

Lorsque vous passez des appels d'API à Eden AI, implémentez des mécanismes appropriés de gestion des erreurs et de nouvelles tentatives. Les interruptions du réseau ou les limitations de l'API peuvent provoquer des pannes intermittentes. Envisagez d'intégrer la gestion des erreurs et les nouvelles tentatives pour garantir la fiabilité et la robustesse de votre code.

Remarque : Il est recommandé de nettoyer tous les fichiers temporaires générés au cours du processus.

Code complet

La gestion de longs fichiers audio peut être une tâche complexe, en particulier lorsque vous devez extraire des sections spécifiques à des fins de transcription ou de traitement ultérieur. Grâce aux connaissances acquises grâce à ce didacticiel, vous êtes désormais équipé pour relever le défi de travailler avec de longs fichiers audio.

N'oubliez pas de gérer votre clé API en toute sécurité et pensez à optimiser vos fichiers audio en choisissant des formats compatibles et en appliquant des techniques de prétraitement pour réduire le bruit.


import json
import requests
from pydub import AudioSegment
from pydub.silence import split_on_silence

# Replace with your API key and audio file URL
api_key = "your_API_key"
audio_file_url = "your_audio_url"

# Download the audio file
response = requests.get(audio_file_url)
with open("temp_audio_file.mp3", "wb") as file:
    file.write(response.content)

# Load the audio file and split it into chunks
audio = AudioSegment.from_file("temp_audio_file.mp3", format="mp3")
chunks = split_on_silence(audio, min_silence_len=500, silence_thresh=-40)

# Function to transcribe an audio chunk
def transcribe_audio_chunk(chunk, index):
    chunk.export(f"temp_chunk_{index}.mp3", format="mp3")

    url = "https://api.edenai.run/v2/audio/speech_to_text_async"
    headers = {"Authorization": f"Bearer {api_key}"}
    json_payload = {
        "providers": "google, amazon",
        "language": "en-US",
        "file_url": f"🔗 you_audio_url",
    }

    response = requests.post(url, json=json_payload, headers=headers)
    result = json.loads(response.text)
    return result["result"]["google"]["transcription"]

# Transcribe each chunk and concatenate the text
transcribed_text = ""
for index, chunk in enumerate(chunks):
    text = transcribe_audio_chunk(chunk, index)
    transcribed_text += " " + text

print(transcribed_text)

Commencez votre aventure avec l’IA dès aujourd’hui

  • Accédez à plus de 100 API d’IA sur une seule plateforme.
  • Comparez et déployez des modèles d’IA en toute simplicité.
  • Paiement à l’usage, sans frais initiaux.
Commencez à créer GRATUITEMENT

Articles connexes

Essayez Eden AI gratuitement.

Vous pouvez commencer à créer dès maintenant. Si vous avez des questions, n'hésitez pas à discuter avec nous !

CommencezContactez le service commercial
X

Commencez votre parcours IA dès aujourd'hui!

Inscrivez-vous dès maintenant avec des crédits gratuits pour explorer plus de 100 API d'IA.
Obtenir mes crédits maintenant