Hoje exploraremos a API Deepgram para converter voz em texto [transcrição]. Seja construindo um assistente de voz, transcrevendo reuniões ou criando um aplicativo controlado por voz, o Deepgram torna mais fácil do que nunca começar.
Deepgram é uma plataforma poderosa de reconhecimento de fala que usa modelos avançados de aprendizado de máquina para transcrever áudio em tempo real. Ele oferece uma API fácil de usar que os desenvolvedores podem integrar em seus aplicativos para tarefas como transcrever chamadas telefônicas, converter reuniões em texto ou até mesmo analisar interações com clientes.
Precisão: Deepgram apresenta altas taxas de precisão graças aos seus algoritmos de aprendizagem profunda treinados em vastos conjuntos de dados.
Transcrição em tempo real: obtenha resultados instantâneos enquanto fala, perfeito para aplicações ao vivo.
Vários idiomas: suporta vários idiomas e sotaques, tornando-o versátil para aplicações globais.
Instalar - pip instalar 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
Criamos uma instância de httpx.AsyncClient com tempo limite de 60 segundos. Usar async with garante que o cliente seja fechado corretamente após a execução do bloco.
Se a solicitação for bem-sucedida, analisamos a resposta JSON e a registramos e, em seguida, retornamos o resultado.
Você pode usar um exemplo de URL de retorno de chamada para teste.
Esta abordagem estruturada destaca como utilizar a programação assíncrona em Python para interagir com a API Deepgram de forma eficiente. Ao dividir o código em blocos e explicar cada parte, os leitores podem entender melhor a implementação e como adaptá-la às suas próprias necessidades.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3