Le service Speech-to-Text de Vertex AI sur Google Distributed Cloud (GDC) avec air gap reconnaît la voix à partir de fichiers audio. Speech-to-Text convertit l'audio détecté en transcriptions textuelles à l'aide de son API pré-entraînée.
Cette page explique comment transcrire des fichiers audio en texte à l'aide de l'API Speech-to-Text sur Distributed Cloud.
Avant de commencer
Pour transcrire des fichiers audio, demandez les autorisations nécessaires à votre administrateur.
Demander des rôles IAM
Pour transcrire des contenus audio à l'aide du modèle Speech-to-Text par défaut, contactez l'administrateur de projet IAM pour demander le rôle Développeur AI Speech (ai-speech-developer) dans l'espace de noms de votre projet.
Pour en savoir plus sur ce rôle, consultez Préparer les autorisations IAM.
Pour pouvoir utiliser l'API Speech-to-Text, vous devez disposer d'un projet pour lequel cette API est activée, ainsi que des identifiants appropriés. Vous pouvez également installer des bibliothèques clientes pour faciliter les appels à l'API. Pour en savoir plus, consultez Configurer un projet de reconnaissance vocale.
Transcrire des fichiers audio avec le modèle par défaut
Speech-to-Text effectue la reconnaissance vocale. Vous envoyez le fichier audio à partir duquel vous souhaitez reconnaître la voix directement en tant que contenu dans la requête API. Le système renvoie le texte transcrit obtenu dans la réponse de l'API.
Vous devez fournir un objet de configuration RecognitionConfig lorsque vous effectuez une requête de reconnaissance vocale. Cet objet indique à l'API comment traiter vos données audio et le type de sortie attendu. Si aucun modèle n'est explicitement spécifié dans cet objet de configuration, Speech-to-Text sélectionne un modèle par défaut.
Pour en savoir plus, consultez la documentation de l'API Speech.
L'exemple suivant transcrit la voix d'un fichier audio à l'aide du modèle Speech-to-Text par défaut :
Python
Pour utiliser le service Speech-to-Text à partir d'un script Python afin de transcrire la voix d'un fichier audio, procédez comme suit :
Installez la dernière version de la bibliothèque cliente Speech-to-Text.
Définissez les variables d'environnement requises dans un script Python.
Ajoutez le code suivant au script Python que vous avez créé :
import base64 from google.cloud import speech_v1p1beta1 as speech import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience="https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return speech.SpeechClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) except Exception as e: print("Caught exception" + str(e)) raise e return creds def speech_func(creds): tc = get_client(creds) content="BASE64_ENCODED_AUDIO" audio = speech.RecognitionAudio( content=base64.standard_b64decode(content) ) config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.ENCODING, sample_rate_hertz=RATE_HERTZ, audio_channel_count=CHANNEL_COUNT, language_code="LANGUAGE_CODE", ) metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = tc.recognize(config=config, audio=audio, metadata=metadata) print(resp) if __name__=="__main__": creds = main() speech_func(creds)Remplacez les éléments suivants :
ENDPOINT: point de terminaison Speech-to-Text que vous utilisez pour votre organisation. Pour en savoir plus, consultez l'état et les points de terminaison du service.PROJECT_ID: ID de votre projet.BASE64_ENCODED_AUDIO: octets de données audio encodés dans une représentation en base64. Cette chaîne commence par des caractères qui ressemblent àZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. Pour en savoir plus, consultezRecognitionAudio.ENCODING: encodage des données audio envoyées dans la requête, par exempleLINEAR16. Pour en savoir plus, consultezAudioEncoding.RATE_HERTZ: taux d'échantillonnage en hertz (8000-48000) des données audio envoyées dans la requête, par exemple16000. Obligatoire pour les encodagesLINEAR16,FLACetMULAW(y compris les fichiers WAV). Pour en savoir plus, consultezRecognitionConfig.LANGUAGE_CODE: langue de l'audio fourni sous forme de tag de langue BCP-47, par exempleen-US. Consultez la liste des langues acceptées et leurs codes de langue respectifs.CHANNEL_COUNT: nombre de canaux dans les données audio d'entrée (1-8), par exemple1pour l'audio mono. La définition deaudio_channel_countest requise pour les encodagesLINEAR16,FLACetMULAW. Pour en savoir plus, consultezRecognitionConfig.
Enregistrez le script Python.
Exécutez le script Python pour transcrire l'audio :
python SCRIPT_NAMERemplacez
SCRIPT_NAMEpar le nom que vous avez donné à votre script Python, par exemplespeech.py.