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.

Speech-to-Text umfasst Chirp, ein fortschrittliches Modell für Sprache, das anhand von Millionen von Stunden an Audiodaten und Milliarden von Textsätzen trainiert wird. Dieses Modell unterscheidet sich von herkömmlichen Spracherkennungstechniken, die sich auf große Mengen sprachspezifischer, überwachter Daten konzentrieren. Diese Techniken verbessern die Erkennung und Transkription von Nutzern für gesprochene Sprachen und Akzente.

Auf dieser Seite erfahren Sie, wie Sie Audiodateien mithilfe der Speech-to-Text API in Distributed Cloud in Text transkribieren.

Hinweise

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

Mit Speech-to-Text wird Sprache erkannt. 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 Audiodatenbytes in einer Base64-Darstellung. 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-Skript gegeben haben, z. B. speech.py.

Audio mit Chirp transkribieren

Ähnlich wie beim Speech-to-Text-Standardmodell müssen Sie bei einer Spracherkennungsanfrage ein RecognitionConfig-Konfigurationsobjekt angeben. Wenn Sie Chirp verwenden möchten, müssen Sie dieses Modell explizit in diesem Konfigurationsobjekt angeben, indem Sie den Wert chirp im Feld model festlegen.

Im folgenden Beispiel wird Sprache aus einer Audiodatei mit dem Chirp-Modell transkribiert:

Python

So verwenden Sie Chirp ü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
    
    # 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))
    

    Ersetzen Sie Folgendes:

    • ENDPOINT: Der Speech-to-Text-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen
    • BASE64_ENCODED_AUDIO: Die Audiodatenbytes in einer Base64-Darstellung. 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.
    • CHANNEL_COUNT: Die Anzahl der Kanäle in den Audioeingabedaten, z. B. 1. 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.
    • PROJECT_ID: Ihre Projekt-ID.
  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-Skript gegeben haben, z. B. speech.py.