首页  >  文章  >  后端开发  >  探索异步 Deepgram API:使用 Python 进行语音转文本

探索异步 Deepgram API:使用 Python 进行语音转文本

Patricia Arquette
Patricia Arquette原创
2024-10-21 18:16:30573浏览

今天将探索用于将语音转换为文本的 Deepgram API [转录]。无论是构建语音助手、转录会议还是创建语音控制应用程序,Deepgram 都让上手变得比以往更容易。

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

什么是 Deepgram?

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 with 可确保客户端在块执行后正确关闭。
如果请求成功,我们将解析 JSON 响应并记录它,然后返回结果。

回拨网址:

您可以使用示例回调 URL 进行测试。

结论:

这种结构化方法强调了如何利用 Python 中的异步编程与 Deepgram API 高效交互。通过将代码分成块并解释每个部分,读者可以更好地理解实现以及如何使其适应自己的需求。

以上是探索异步 Deepgram API:使用 Python 进行语音转文本的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn