ホームページ  >  記事  >  バックエンド開発  >  非同期ディープグラム API の探索: Python を使用した Speech-to-Text

非同期ディープグラム API の探索: Python を使用した Speech-to-Text

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-21 18:16:30573ブラウズ

今日は、音声をテキストに変換するための Deepgram API [文字起こし] について説明します。音声アシスタントの構築、会議の文字起こし、音声制御アプリの作成など、Deepgram を使用すると、これまでよりも簡単に始めることができます。

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

ディープグラムとは何ですか?

Deepgram は、高度な機械学習モデルを使用してリアルタイムで音声を書き起こす強力な音声認識プラットフォームです。これは、開発者が電話の文字起こし、会議のテキストへの変換、さらには顧客とのやり取りの分析などのタスクのためにアプリケーションに統合できる使いやすい API を提供します。

ディープグラムを使用する理由

  • 精度: 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 :

テスト用のサンプル コールバック URL として使用できます。

結論:

この構造化されたアプローチは、Python で非同期プログラミングを利用して Deepgram API と効率的に対話する方法を強調しています。コードをブロックに分割し、各部分を説明することで、読者は実装とそれを自分のニーズに適応させる方法をよりよく理解できます。

以上が非同期ディープグラム API の探索: Python を使用した Speech-to-Textの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。