"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Async Deepgram API 탐색: Python을 사용한 음성-텍스트 변환

Async Deepgram API 탐색: Python을 사용한 음성-텍스트 변환

2024-11-07에 게시됨
검색:748

오늘은 음성을 텍스트로 변환하는 Deepgram API를 살펴보겠습니다. 음성 어시스턴트 구축, 회의 기록, 음성 제어 앱 제작 등 Deepgram을 사용하면 그 어느 때보다 쉽게 ​​시작할 수 있습니다.

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

딥그램이란 무엇인가요?

Deepgram은 고급 기계 학습 모델을 사용하여 실시간으로 오디오를 텍스트로 변환하는 강력한 음성 인식 플랫폼입니다. 개발자가 전화 통화 기록, 회의 내용을 텍스트로 변환, 고객 상호 작용 분석 등의 작업을 위해 애플리케이션에 통합할 수 있는 사용하기 쉬운 API를 제공합니다.

Deepgram을 사용하는 이유는 무엇입니까?

  • 정확도: Deepgram은 방대한 데이터세트를 학습한 딥러닝 알고리즘 덕분에 높은 정확도를 자랑합니다.

  • 실시간 전사: 말하는 즉시 결과를 얻을 수 있어 라이브 애플리케이션에 적합합니다.

  • 다중 언어: 여러 언어와 악센트를 지원하므로 글로벌 애플리케이션에 다용도로 사용할 수 있습니다.

Deepgram API 시작하기

설치 - pip install 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
    }

4. 비동기식 요청 보내기

    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

시간 제한이 60초인 httpx.AsyncClient 인스턴스를 생성합니다. async를 사용하면 블록이 실행된 후 클라이언트가 제대로 닫히는 것을 보장할 수 있습니다.
요청이 성공하면 JSON 응답을 구문 분석하여 기록한 후 결과를 반환합니다.

콜백 URL:

테스트용 샘플 콜백 URL로 사용할 수 있습니다.

결론:

이 구조화된 접근 방식은 Python에서 비동기 프로그래밍을 활용하여 Deepgram API와 효율적으로 상호 작용하는 방법을 강조합니다. 코드를 블록으로 나누고 각 부분을 설명함으로써 독자는 구현과 이를 자신의 필요에 맞게 조정하는 방법을 더 잘 이해할 수 있습니다.

릴리스 선언문 이 기사는 https://dev.to/shadow_b/exploring-async-deepgram-api-speech-to-text-using-python-5ckl?1 에서 복제됩니다. 침해가 있는 경우에는 [email protected]으로 문의해 주세요. 그것을 삭제하려면
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3