"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Explorando API Async Deepgram: conversão de fala em texto usando Python

Explorando API Async Deepgram: conversão de fala em texto usando Python

Publicado em 2024-11-07
Navegar:595

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.

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

O que é Deepgram?

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.

Por que usar o Deepgram?

  • 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.

Introdução à API Deepgram

Instalar - pip instalar httpx

Importando Bibliotecas Necessárias

import httpx
import asyncio
import logging
import traceback

Definindo a Função Assíncrona

#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. Enviando a solicitação assíncrona

    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.

URL de retorno de chamada:

Você pode usar um exemplo de URL de retorno de chamada para teste.

conclusão:

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.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/shadow_b/exploring-async-deepgram-api-speech-to-text-using-python-5ckl?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

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