今天将探索用于将语音转换为文本的 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 with 可确保客户端在块执行后正确关闭。
如果请求成功,我们解析 JSON 响应并记录它,然后返回结果。
您可以使用示例回调 URL 进行测试。
这种结构化方法重点介绍了如何利用 Python 中的异步编程与 Deepgram API 高效交互。通过将代码分成块并解释每个部分,读者可以更好地理解实现以及如何使其适应自己的需求。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3