"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Explorer l'API Async Deepgram : synthèse vocale à l'aide de Python

Explorer l'API Async Deepgram : synthèse vocale à l'aide de Python

Publié le 2024-11-07
Parcourir:306

Aujourd'hui, nous explorerons l'API Deepgram pour convertir la voix en texte [transcription]. Qu'il s'agisse de créer un assistant vocal, de transcrire des réunions ou de créer une application à commande vocale, Deepgram facilite plus que jamais la prise en main.

Exploring Async Deepgram API: Speech-to-Text using Python

Qu’est-ce que Deepgram ?

Deepgram est une puissante plateforme de reconnaissance vocale qui utilise des modèles avancés d'apprentissage automatique pour transcrire l'audio en temps réel. Il propose une API facile à utiliser que les développeurs peuvent intégrer à leurs applications pour des tâches telles que la transcription d'appels téléphoniques, la conversion de réunions en texte ou même l'analyse des interactions clients.

Pourquoi utiliser Deepgram ?

  • Précision : Deepgram affiche des taux de précision élevés grâce à ses algorithmes d'apprentissage en profondeur entraînés sur de vastes ensembles de données.

  • Transcription en temps réel : obtenez des résultats instantanés pendant que vous parlez, parfaits pour les applications en direct.

  • Plusieurs langues : prend en charge plusieurs langues et accents, ce qui le rend polyvalent pour les applications mondiales.

Premiers pas avec l'API Deepgram

Installer - pip install httpx

Importation des bibliothèques requises

import httpx
import asyncio
import logging
import traceback

Définir la fonction asynchrone

#recording_url: The URL of the audio file to be transcribed.
#callback_url: The URL to which Deepgram will send the #transcription results (optional).
#api_key: Your Deepgram API key.

async def transcribe_audio(recording_url: str, callback_url: str, api_key: str):
    url = "https://api.deepgram.com/v1/listen"

    # Define headers
    headers = {
        "Authorization": f"Token {api_key}"
    }

    # Define query parameters
    query_params = {
        "callback_method": "post",
        "callback": callback_url
    }

    # Define body parameters
    body_params = {
        "url": recording_url
    }

4. Envoi de la demande asynchrone

    logger.info(f"Sending request to {url} with headers: {headers}, query: {query_params}, body: {body_params}")

    async with httpx.AsyncClient(timeout=60.0) as client:
        try:
            # Make a POST request with query parameters and body
            response = await client.post(url, headers=headers, params=query_params, json=body_params)
            response.raise_for_status()  # Raise an error for HTTP error responses
            result = response.json()
            logger.info(f"Response received: {result}")

            return result

Nous créons une instance de httpx.AsyncClient avec un délai d'attente de 60 secondes. L'utilisation d'async with garantit que le client est correctement fermé après l'exécution du bloc.
Si la requête aboutit, nous analysons la réponse JSON et la journalisons, puis renvoyons le résultat.

URL de rappel :

Vous pouvez utiliser un exemple d'URL de rappel à des fins de test.

conclusion:

Cette approche structurée montre comment utiliser la programmation asynchrone en Python pour interagir efficacement avec l'API Deepgram. En divisant le code en blocs et en expliquant chaque partie, les lecteurs peuvent mieux comprendre l'implémentation et comment l'adapter à leurs propres besoins.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/shadow_b/exploring-async-deepgram-api-speech-to-text-using-python-5ckl?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3