Transcrire l'audio

Cette page vous explique comment transcrire des fichiers audio en texte à l'aide de l'API Speech-to-Text sur l'appliance Google Distributed Cloud (GDC) isolée du réseau.

Le service Speech-to-Text de Vertex AI sur l'appliance 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.

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. Speech-to-Text sur l'appliance GDC isolée ne prend en charge que le modèle par défaut.

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 :

  1. Installez la dernière version de la bibliothèque cliente Speech-to-Text.

  2. Définissez les variables d'environnement requises dans un script Python.

  3. Authentifiez votre requête API.

  4. 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.
    • ENCODING : encodage des données audio envoyées dans la requête (par exemple, LINEAR16).
    • RATE_HERTZ : taux d'échantillonnage en hertz des données audio envoyées dans la requête, par exemple 16000.
    • 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 exemple 1.
  5. Enregistrez le script Python.

  6. 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 exemple speech.py.