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.
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.
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.
Instalar: instalación de pip httpx
import httpx import asyncio import logging import traceback
#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 }
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.
Puede utilizar una URL de devolución de llamada de muestra para realizar pruebas.
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.
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