Maison >développement back-end >Tutoriel Python >Explorer l'API Async Deepgram : synthèse vocale à l'aide de Python
Aujourd'hui, nous explorerons l'API Deepgram pour convertir la voix en texte [transcription]. Qu'il s'agisse de créer un assistant vocal, de transcrire des réunions ou de créer une application à commande vocale, Deepgram facilite plus que jamais la prise en main.
Deepgram est une puissante plateforme de reconnaissance vocale qui utilise des modèles avancés d'apprentissage automatique pour transcrire l'audio en temps réel. Il propose une API facile à utiliser que les développeurs peuvent intégrer à leurs applications pour des tâches telles que la transcription d'appels téléphoniques, la conversion de réunions en texte ou encore l'analyse des interactions clients.
Précision : Deepgram affiche des taux de précision élevés grâce à ses algorithmes d'apprentissage en profondeur entraînés sur de vastes ensembles de données.
Transcription en temps réel : obtenez des résultats instantanés pendant que vous parlez, parfaits pour les applications en direct.
Plusieurs langues : prend en charge plusieurs langues et accents, ce qui le rend polyvalent pour les applications mondiales.
Installer - pip installer 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
Nous créons une instance de httpx.AsyncClient avec un timeout de 60 secondes. L'utilisation d'async with garantit que le client est correctement fermé après l'exécution du bloc.
Si la requête réussit, nous analysons la réponse JSON et la journalisons, puis renvoyons le résultat.
Vous pouvez utiliser un exemple d'URL de rappel pour les tests.
Cette approche structurée montre comment utiliser la programmation asynchrone en Python pour interagir efficacement avec l'API Deepgram. En divisant le code en blocs et en expliquant chaque partie, les lecteurs peuvent mieux comprendre la mise en œuvre et comment l'adapter à leurs propres besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!