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:
Installieren Sie die neueste Version der Speech-to-Text-Clientbibliothek.
Erforderliche Umgebungsvariablen in einem Python-Skript festlegen
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 InformationenPROJECT_ID
: Ihre Projekt-ID.BASE64_ENCODED_AUDIO
: Die Audiodatenbytes in einer Base64-Darstellung. Dieser String beginnt mit Zeichen, dieZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
ähneln. Weitere Informationen finden Sie unterRecognitionAudio
.ENCODING
: Die Codierung der in der Anfrage gesendeten Audiodaten, z. B.LINEAR16
. Weitere Informationen finden Sie unterAudioEncoding
.RATE_HERTZ
: Abtastrate der im Antrag gesendeten Audiodaten in Hertz, z. B.16000
. Weitere Informationen finden Sie unterRecognitionConfig
.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 unterRecognitionConfig
.
Speichern Sie das Python-Skript.
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:
Installieren Sie die neueste Version der Speech-to-Text-Clientbibliothek.
Erforderliche Umgebungsvariablen in einem Python-Skript festlegen
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 InformationenBASE64_ENCODED_AUDIO
: Die Audiodatenbytes in einer Base64-Darstellung. Dieser String beginnt mit Zeichen, dieZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
ähneln. Weitere Informationen finden Sie unterRecognitionAudio
.ENCODING
: Die Codierung der in der Anfrage gesendeten Audiodaten, z. B.LINEAR16
. Weitere Informationen finden Sie unterAudioEncoding
.RATE_HERTZ
: Abtastrate der im Antrag gesendeten Audiodaten in Hertz, z. B.16000
. Weitere Informationen finden Sie unterRecognitionConfig
.CHANNEL_COUNT
: Die Anzahl der Kanäle in den Audioeingabedaten, z. B.1
. Weitere Informationen finden Sie unterRecognitionConfig
.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.
Speichern Sie das Python-Skript.
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
.