Le service Speech-to-Text de Vertex AI sur Google Distributed Cloud (GDC) air-gapped reconnaît la parole à partir de fichiers audio. Speech-to-Text convertit le contenu audio détecté en transcriptions textuelles à l'aide de son API pré-entraînée.
Speech-to-Text inclut Chirp, un modèle avancé pour la reconnaissance vocale entraîné sur des millions d'heures de données audio et des milliards de phrases. Ce modèle contraste avec les techniques de reconnaissance vocale classiques, qui se concentrent sur de grandes quantités de données supervisées spécifiques à une langue. Ces techniques permettent aux utilisateurs d'améliorer la reconnaissance et la transcription des langues parlées et des accents.
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 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 parole directement en tant que contenu dans la requête API. Le système renvoie le texte transcrit 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 résultat attendu. Si aucun modèle n'est explicitement spécifié dans cet objet de configuration, Speech-to-Text en sélectionne un par défaut.
Pour en savoir plus, consultez la documentation de l'API Speech
.
L'exemple suivant transcrit la parole 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 parole 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 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_v1p1beta1.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) print("Got token: ") print(creds.token) 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_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig() config.encoding= speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING config.sample_rate_hertz=RATE_HERTZ config.language_code="LANGUAGE_CODE" config.audio_channel_count=CHANNEL_COUNT 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 des services.PROJECT_ID
: ID de votre projet.BASE64_ENCODED_AUDIO
: octets de données audio encodés dans une représentation Base64. Cette chaîne commence par des caractères qui ressemblent àZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Pour en savoir plus, consultez la section consacrée àRecognitionAudio
.ENCODING
: encodage des données audio envoyées dans la requête (par exemple,LINEAR16
). Pour en savoir plus, consultez la section consacrée àAudioEncoding
.RATE_HERTZ
: taux d'échantillonnage en hertz des données audio envoyées dans la requête, par exemple16000
. Pour en savoir plus, consultez la section consacrée àRecognitionConfig
.LANGUAGE_CODE
: langue de l'audio fourni en tant que tag de langue BCP-47. Consultez la liste des langues acceptées et de leurs codes de langue respectifs.CHANNEL_COUNT
: nombre de canaux dans les données audio d'entrée, par exemple1
. Pour en savoir plus, consultez la section consacrée àRecognitionConfig
.
Enregistrez le script Python.
Exécutez le script Python pour transcrire l'audio :
python SCRIPT_NAME
Remplacez
SCRIPT_NAME
par le nom que vous avez donné à votre script Python, par exemplespeech.py
.
Transcrire des fichiers audio avec Chirp
Comme pour le modèle Speech-to-Text par défaut, vous devez fournir un objet de configuration RecognitionConfig
lorsque vous effectuez une requête de reconnaissance vocale. Pour utiliser Chirp, vous devez spécifier explicitement ce modèle dans cet objet de configuration en définissant la valeur chirp
dans le champ model
.
L'exemple suivant transcrit la parole d'un fichier audio à l'aide du modèle Chirp :
Python
Pour utiliser Chirp à partir d'un script Python afin de transcrire la parole 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 # Import the client library. from google.cloud import speech_v1p1beta1 from google.cloud.speech_v1p1beta1.services.speech import client from google.api_core.client_options import ClientOptions api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return client.SpeechClient(credentials=creds, client_options=opts) # Specify the audio to transcribe. tc = get_client(creds) content = "BASE64_ENCODED_AUDIO" audio = speech_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig( encoding=speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING, sample_rate_hertz=RATE_HERTZ, audio_channel_count=CHANNEL_COUNT, language_code="LANGUAGE_CODE", model="chirp" ) # Detect speech in the audio file. metadata = (("x-goog-user-project", "projects/PROJECT_ID"),) response = tc.recognize(config=config, audio=audio, metadata=metadata) for result in response.results: print("Transcript: {}".format(result.alternatives[0].transcript))
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 des services.BASE64_ENCODED_AUDIO
: octets de données audio encodés dans une représentation Base64. Cette chaîne commence par des caractères qui ressemblent àZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Pour en savoir plus, consultez la section consacrée àRecognitionAudio
.ENCODING
: encodage des données audio envoyées dans la requête (par exemple,LINEAR16
). Pour en savoir plus, consultez la section consacrée àAudioEncoding
.RATE_HERTZ
: taux d'échantillonnage en hertz des données audio envoyées dans la requête, par exemple16000
. Pour en savoir plus, consultez la section consacrée àRecognitionConfig
.CHANNEL_COUNT
: nombre de canaux dans les données audio d'entrée, par exemple1
. Pour en savoir plus, consultez la section consacrée àRecognitionConfig
.LANGUAGE_CODE
: langue de l'audio fourni en tant que tag de langue BCP-47. Consultez la liste des langues acceptées et de leurs codes de langue respectifs.PROJECT_ID
: ID de votre projet.
Enregistrez le script Python.
Exécutez le script Python pour transcrire l'audio :
python SCRIPT_NAME
Remplacez
SCRIPT_NAME
par le nom que vous avez donné à votre script Python, par exemplespeech.py
.