Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Meneroka Async Deepgram API: Ucapan-ke-Teks menggunakan Python

Meneroka Async Deepgram API: Ucapan-ke-Teks menggunakan Python

Patricia Arquette
Patricia Arquetteasal
2024-10-21 18:16:30573semak imbas

Hari ini akan meneroka API Deepgram untuk menukar suara kepada teks [transkripsi]. Sama ada membina pembantu suara, menyalin mesyuarat atau mencipta apl terkawal suara, Deepgram menjadikannya lebih mudah untuk bermula.

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

Apa itu Deepgram?

Deepgram ialah platform pengecaman pertuturan yang berkuasa yang menggunakan model pembelajaran mesin lanjutan untuk menyalin audio dalam masa nyata. Ia menawarkan API yang mudah digunakan yang boleh disepadukan oleh pembangun ke dalam aplikasi mereka untuk tugas seperti menyalin panggilan telefon, menukar mesyuarat kepada teks atau menganalisis interaksi pelanggan.

Mengapa Menggunakan Deepgram?

  • Ketepatan: Deepgram menawarkan kadar ketepatan yang tinggi berkat algoritma pembelajaran mendalamnya yang dilatih pada set data yang luas.

  • Transkripsi Masa Nyata: Dapatkan hasil segera semasa anda bercakap, sesuai untuk aplikasi langsung.

  • Berbilang Bahasa: Menyokong beberapa bahasa dan aksen, menjadikannya serba boleh untuk aplikasi global.

Bermula dengan Deepgram API

Pasang - pasang pip httpx

Mengimport Perpustakaan yang Diperlukan

import httpx
import asyncio
import logging
import traceback

Mentakrifkan Fungsi Asynchronous

#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. Menghantar Permintaan Asynchronous

    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

Kami mencipta contoh httpx.AsyncClient dengan tamat masa selama 60 saat. Menggunakan async with memastikan klien ditutup dengan betul selepas blok dilaksanakan.
Jika permintaan itu berjaya, kami menghuraikan respons JSON dan mencatatkannya, kemudian mengembalikan hasilnya.

URL panggilan balik :

Anda boleh gunakan untuk contoh URL panggilan balik untuk ujian.

kesimpulan:

Pendekatan berstruktur ini menyerlahkan cara menggunakan pengaturcaraan tak segerak dalam Python untuk berinteraksi dengan API Deepgram dengan cekap. Dengan memecahkan kod kepada blok dan menerangkan setiap bahagian, pembaca boleh lebih memahami pelaksanaan dan cara menyesuaikannya dengan keperluan mereka sendiri.

Atas ialah kandungan terperinci Meneroka Async Deepgram API: Ucapan-ke-Teks menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn