"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Explorando la API Async Deepgram: voz a texto usando Python

Explorando la API Async Deepgram: voz a texto usando Python

Publicado el 2024-11-07
Navegar:607

Hoy exploraremos la API de Deepgram para convertir voz a texto [transcripción]. Ya sea creando un asistente de voz, transcribiendo reuniones o creando una aplicación controlada por voz, Deepgram hace que comenzar sea más fácil que nunca.

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

¿Qué es Deepgrama?

Deepgram es una potente plataforma de reconocimiento de voz que utiliza modelos avanzados de aprendizaje automático para transcribir audio en tiempo real. Ofrece una API fácil de usar que los desarrolladores pueden integrar en sus aplicaciones para tareas como transcribir llamadas telefónicas, convertir reuniones en texto o incluso analizar las interacciones de los clientes.

¿Por qué utilizar Deepgram?

  • Precisión: Deepgram cuenta con altas tasas de precisión gracias a sus algoritmos de aprendizaje profundo entrenados en vastos conjuntos de datos.

  • Transcripción en tiempo real: obtenga resultados instantáneos mientras habla, perfecto para aplicaciones en vivo.

  • Múltiples idiomas: admite varios idiomas y acentos, lo que lo hace versátil para aplicaciones globales.

Primeros pasos con la API de Deepgram

Instalar: instalación de pip httpx

Importación de bibliotecas necesarias

import httpx
import asyncio
import logging
import traceback

Definición de la función asincrónica

#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. Envío de la solicitud asincrónica

    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

Creamos una instancia de httpx.AsyncClient con un tiempo de espera de 60 segundos. El uso de async con garantiza que el cliente se cierre correctamente después de ejecutar el bloque.
Si la solicitud tiene éxito, analizamos la respuesta JSON, la registramos y luego devolvemos el resultado.

URL de devolución de llamada:

Puede utilizar una URL de devolución de llamada de muestra para realizar pruebas.

conclusión:

Este enfoque estructurado destaca cómo utilizar la programación asincrónica en Python para interactuar con la API de Deepgram de manera eficiente. Al dividir el código en bloques y explicar cada parte, los lectores pueden comprender mejor la implementación y cómo adaptarla a sus propias necesidades.

Declaración de liberación Este artículo se reproduce en: https://dev.to/shadow_b/exploring-async-deepgram-api-speech-to-text-using-python-5ckl?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3