Il servizio Speech-to-Text di Vertex AI su Google Distributed Cloud (GDC) air-gapped riconosce la voce dai file audio. Speech-to-Text converte l'audio rilevato in trascrizioni di testo utilizzando la sua API preaddestrata.
Speech-to-Text include Chirp, un modello avanzato per la sintesi vocale addestrato con milioni di ore di dati audio e miliardi di frasi di testo. Questo modello è in contrasto con le tecniche convenzionali di riconoscimento vocale in quanto si concentra su grandi quantità di dati supervisionati specifici per lingua. Queste tecniche migliorano il riconoscimento e la trascrizione di lingue parlate e accenti.
Questa pagina mostra come trascrivere file audio in testo utilizzando l'API Speech-to-Text su Distributed Cloud.
Prima di iniziare
Prima di poter iniziare a utilizzare l'API Speech-to-Text, devi disporre di un progetto con l'API Speech-to-Text abilitata e delle credenziali appropriate. Puoi anche installare librerie client per facilitare le chiamate all'API. Per saperne di più, consulta Configurare un progetto di riconoscimento vocale.
Trascrivere l'audio con il modello predefinito
Speech-to-Text esegue il riconoscimento vocale. Invii il file audio da cui vuoi riconoscere il parlato direttamente come contenuti nella richiesta API. Il sistema restituisce il testo trascritto risultante nella risposta dell'API.
Quando effettui una richiesta di riconoscimento vocale, devi fornire un oggetto di configurazione RecognitionConfig
. Questo oggetto indica all'API come elaborare i dati audio
e che tipo di output ti aspetti. Se un modello non è specificato esplicitamente in questo oggetto di configurazione, Speech-to-Text ne seleziona uno predefinito.
Per saperne di più, consulta la documentazione dell'API Speech
.
L'esempio seguente trascrive il parlato da un file audio utilizzando il modello Speech-to-Text predefinito:
Python
Segui questi passaggi per utilizzare il servizio Speech-to-Text da uno script Python per trascrivere il parlato da un file audio:
Installa l'ultima versione della libreria client Speech-to-Text.
Imposta le variabili di ambiente richieste in uno script Python.
Aggiungi il seguente codice allo script Python che hai creato:
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)
Sostituisci quanto segue:
ENDPOINT
: l'endpoint Speech-to-Text che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.PROJECT_ID
: il tuo ID progetto.BASE64_ENCODED_AUDIO
: i byte dei dati audio codificati in una rappresentazione Base64. Questa stringa inizia con caratteri simili aZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Per ulteriori informazioni, vediRecognitionAudio
.ENCODING
: la codifica dei dati audio inviati nella richiesta, ad esempioLINEAR16
. Per ulteriori informazioni, vediAudioEncoding
.RATE_HERTZ
: frequenza di campionamento in hertz dei dati audio inviati nella richiesta, ad esempio16000
. Per ulteriori informazioni, vediRecognitionConfig
.LANGUAGE_CODE
: la lingua dell'audio fornito come tag di lingua BCP-47. Consulta l'elenco delle lingue supportate e i relativi codici lingua.CHANNEL_COUNT
: il numero di canali nei dati audio di input, ad esempio1
. Per ulteriori informazioni, vediRecognitionConfig
.
Salva lo script Python.
Esegui lo script Python per trascrivere l'audio:
python SCRIPT_NAME
Sostituisci
SCRIPT_NAME
con il nome che hai assegnato allo script Python, ad esempiospeech.py
.
Trascrivere audio con Chirp
Analogamente al modello predefinito Speech-to-Text, devi fornire un oggetto di configurazione RecognitionConfig
quando effettui una richiesta di riconoscimento vocale. Per utilizzare Chirp,
devi specificare esplicitamente questo modello nell'oggetto di configurazione impostando
il valore chirp
nel campo model
.
Il seguente esempio trascrive il parlato da un file audio utilizzando il modello Chirp:
Python
Segui questi passaggi per utilizzare Chirp da uno script Python per trascrivere il parlato da un file audio:
Installa l'ultima versione della libreria client Speech-to-Text.
Imposta le variabili di ambiente richieste in uno script Python.
Aggiungi il seguente codice allo script Python che hai creato:
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))
Sostituisci quanto segue:
ENDPOINT
: l'endpoint Speech-to-Text che utilizzi per la tua organizzazione. Per saperne di più, visualizza lo stato del servizio e gli endpoint.BASE64_ENCODED_AUDIO
: i byte dei dati audio codificati in una rappresentazione Base64. Questa stringa inizia con caratteri simili aZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv
. Per ulteriori informazioni, vediRecognitionAudio
.ENCODING
: la codifica dei dati audio inviati nella richiesta, ad esempioLINEAR16
. Per ulteriori informazioni, vediAudioEncoding
.RATE_HERTZ
: frequenza di campionamento in hertz dei dati audio inviati nella richiesta, ad esempio16000
. Per ulteriori informazioni, vediRecognitionConfig
.CHANNEL_COUNT
: il numero di canali nei dati audio di input, ad esempio1
. Per ulteriori informazioni, vediRecognitionConfig
.LANGUAGE_CODE
: la lingua dell'audio fornito come tag di lingua BCP-47. Consulta l'elenco delle lingue supportate e i relativi codici lingua.PROJECT_ID
: il tuo ID progetto.
Salva lo script Python.
Esegui lo script Python per trascrivere l'audio:
python SCRIPT_NAME
Sostituisci
SCRIPT_NAME
con il nome che hai assegnato allo script Python, ad esempiospeech.py
.