Maison > développement back-end > Tutoriel Python > Explorer l'API Async Deepgram : synthèse vocale à l'aide de Python

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

Patricia Arquette
Libérer: 2024-10-21 18:16:30
original
706 Les gens l'ont consulté

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 encore 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 installer httpx

Importation des bibliothèques requises

import httpx
import asyncio
import logging
import traceback
Copier après la connexion

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
    }

Copier après la connexion

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

Copier après la connexion

Nous créons une instance de httpx.AsyncClient avec un timeout 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 réussit, 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 pour les tests.

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 la mise en œuvre et comment l'adapter à leurs propres besoins.

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