Audio transkribieren

Der Speech-to-Text-Dienst von Vertex AI auf Google Distributed Cloud (GDC) Air-Gapped erkennt Sprache aus Audiodateien. Speech-to-Text wandelt das erkannte Audio mithilfe der vortrainierten API in Texttranskriptionen um.

Auf dieser Seite wird gezeigt, wie Sie Audiodateien mit der Speech-to-Text API in Distributed Cloud in Text transkribieren.

Hinweis

Für die Verwendung der Speech-to-Text API benötigen Sie ein Projekt, für das die Speech-to-Text API aktiviert ist sowie die entsprechenden Anmeldedaten. Sie können auch Clientbibliotheken installieren, um Aufrufe an die API zu ermöglichen. Weitere Informationen finden Sie unter Spracherkennungsprojekt einrichten.

Audio mit dem Standardmodell transkribieren

Speech-to-Text führt die Spracherkennung durch. Sie senden die Audiodatei, aus der Sie Sprache erkennen möchten, direkt als Inhalt in der API-Anfrage. Das System gibt den resultierenden transkribierten Text in der API-Antwort zurück.

Sie müssen ein RecognitionConfig-Konfigurationsobjekt angeben, wenn Sie eine Spracherkennungsanfrage stellen. Dieses Objekt gibt der API an, wie Ihre Audiodaten verarbeitet werden sollen und welche Art von Ausgabe Sie erwarten. Wenn in diesem Konfigurationsobjekt kein Modell explizit angegeben ist, wählt Speech-to-Text ein Standardmodell aus.

Weitere Informationen finden Sie in der Speech-API-Dokumentation.

Im folgenden Beispiel wird Sprache aus einer Audiodatei mit dem Standardmodell für Speech-to-Text transkribiert:

Python

So verwenden Sie den Speech-to-Text-Dienst über ein Python-Skript, um Sprache aus einer Audiodatei zu transkribieren:

  1. Installieren Sie die neueste Version der Speech-to-Text-Clientbibliothek.

  2. Erforderliche Umgebungsvariablen in einem Python-Skript festlegen

  3. API-Anfrage authentifizieren

  4. Fügen Sie dem von Ihnen erstellten Python-Skript den folgenden Code hinzu:

    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)
    

    Ersetzen Sie Folgendes:

    • ENDPOINT: Der Speech-to-Text-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen
    • PROJECT_ID: Ihre Projekt-ID.
    • BASE64_ENCODED_AUDIO: die in einer Base64-Darstellung codierten Audiodatenbytes. Dieser String beginnt mit Zeichen, die ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv ähneln. Weitere Informationen finden Sie unter RecognitionAudio.
    • ENCODING: Die Codierung der in der Anfrage gesendeten Audiodaten, z. B. LINEAR16. Weitere Informationen finden Sie unter AudioEncoding.
    • RATE_HERTZ: Abtastrate der im Antrag gesendeten Audiodaten in Hertz, z. B. 16000. Weitere Informationen finden Sie unter RecognitionConfig.
    • LANGUAGE_CODE: Die Sprache der bereitgestellten Audiodaten als BCP-47-Sprachtag. Hier finden Sie eine Liste der unterstützten Sprachen und der entsprechenden Sprachcodes.
    • CHANNEL_COUNT: Die Anzahl der Kanäle in den Audioeingabedaten, z. B. 1. Weitere Informationen finden Sie unter RecognitionConfig.
  5. Speichern Sie das Python-Skript.

  6. Führen Sie das Python-Skript aus, um Audioinhalte zu transkribieren:

    python SCRIPT_NAME
    

    Ersetzen Sie SCRIPT_NAME durch den Namen, den Sie Ihrem Python-Script gegeben haben, z. B. speech.py.