오늘은 음성을 텍스트로 변환하는 Deepgram API를 살펴보겠습니다. 음성 어시스턴트 구축, 회의 기록, 음성 제어 앱 제작 등 Deepgram을 사용하면 그 어느 때보다 쉽게 시작할 수 있습니다.
Deepgram은 고급 기계 학습 모델을 사용하여 실시간으로 오디오를 텍스트로 변환하는 강력한 음성 인식 플랫폼입니다. 개발자가 전화 통화 기록, 회의 내용을 텍스트로 변환, 고객 상호 작용 분석 등의 작업을 위해 애플리케이션에 통합할 수 있는 사용하기 쉬운 API를 제공합니다.
정확도: Deepgram은 방대한 데이터세트를 학습한 딥러닝 알고리즘 덕분에 높은 정확도를 자랑합니다.
실시간 전사: 말하는 즉시 결과를 얻을 수 있어 라이브 애플리케이션에 적합합니다.
다중 언어: 여러 언어와 악센트를 지원하므로 글로벌 애플리케이션에 다용도로 사용할 수 있습니다.
설치 - 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 }
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로 사용할 수 있습니다.
이 구조화된 접근 방식은 Python에서 비동기 프로그래밍을 활용하여 Deepgram API와 효율적으로 상호 작용하는 방법을 강조합니다. 코드를 블록으로 나누고 각 부분을 설명함으로써 독자는 구현과 이를 자신의 필요에 맞게 조정하는 방법을 더 잘 이해할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3