Nozioni di base su Media Translation

Questo documento è una guida alle nozioni di base sull'utilizzo di Media Translation. Questa guida concettuale illustra i tipi di richieste che puoi effettuare a Media Translation, come creare queste richieste e come a gestire le sue risposte. Consigliamo a tutti gli utenti di Media Translation leggi questa guida e uno dei tutorial associati prima di approfondire l'API stessa.

Richieste di traduzione vocale

Finora Media Translation ha un solo metodo per eseguire la traduzione vocale:

  • Streaming Translation (solo gRPC) esegue la traduzione sui dati audio forniti all'interno di un flusso bidirezionale gRPC. Le richieste di streaming sono progettate per la traduzione in tempo reale, ad esempio per acquisire l'audio in tempo reale da un microfono. La traduzione in streaming fornisce risultati intermedi durante l'acquisizione dell'audio, consentendo la visualizzazione del risultato, ad esempio, mentre un utente sta ancora parlando. Richieste di traduzione in streaming sono limitati a dati audio di durata pari o inferiore a 5 minuti.

Le richieste contengono parametri di configurazione o dati audio. Le seguenti le sezioni descrivono questo tipo di richieste di traduzione vocale, le risposte che generate e come gestirle in modo più dettagliato.

Richieste di traduzione di contenuti vocali in streaming

Una richiesta API Streaming Media Translation può essere una configurazione di traduzione vocale, o dati audio. Di seguito è riportata una richiesta di configurazione di esempio:

{
    "audio_config": {
        "audio_encoding": "linear16",
        "sample_rate_hertz": 16000,
        "source_language_code": "en-US",
        "target_language_code": "zh",
        "model" : "google-provided-model/video",
    }
    "single_utterance" : False
}

Di seguito è riportata una richiesta di dati audio di esempio:

{
    "audio_content " : "\366c\256\375jQ\r\312\205j\271\243%/u\216z\330\354\221\360\253KJ\005\"
}

I primi StreamingTranslateSpeechRequest devono contenere una configurazione di tipo StreamingTranslateSpeechConfig senza alcun audio aggiuntivo. Invio di StreamingTranslateSpeechRequest s successivi sullo stesso stream saranno quindi frame consecutivi di byte audio non elaborati.

Un StreamingTranslateSpeechConfig contiene i seguenti campi:

  • audio_config: (obbligatorio) contiene le informazioni di configurazione per l'audio, del tipo TranslateSpeechConfig.
  • single_utterance - (Facoltativo, il valore predefinito è false) indica se questo dovrebbe terminare automaticamente quando non verrà più rilevata la voce. Se impostato, Media Translation rileverà pause, silenzio o audio non vocale per determinare quando terminare la traduzione. Se non viene configurato, lo stream continuerà ad ascoltare e elaborare l'audio finché lo stream non viene chiuso direttamente o la lunghezza limite è stata superata. L'impostazione di single_utterance su true è è utile per elaborare i comandi vocali.

Un TranslateSpeechConfig contiene i seguenti campi secondari:

  • audio_encoding (obbligatorio) specifica lo schema di codifica del token fornito (di tipo AudioEncoding). Se vuoi scegliere il codec, una codifica senza perdita di dati come FLAC o LINEAR16 per le migliori prestazioni. Per ulteriori informazioni, consulta la sezione Codifiche audio.
  • sample_rate_hertz - (obbligatorio) specifica la frequenza di campionamento (in Hertz) del fornito l'audio. Per ulteriori informazioni sulle frequenze di campionamento, consulta Frequenza di campionamento riportata di seguito.
  • source_language_code - (obbligatorio) contiene la lingua e la regione/le impostazioni internazionali da utilizzare per il riconoscimento vocale dell'audio fornito. Il codice lingua deve essere un Identificatore BCP-47. Tieni presente che i codici lingua generalmente consistono di tag lingua principali e di sottotag regione secondari per indicare i dialetti (ad esempio, "it" per l'italiano e "US" per gli Stati Uniti nel l'esempio precedente). (Per un elenco delle lingue supportate, vedi Lingue supportate.
  • "target_language_code" - (obbligatorio) contiene la lingua da utilizzare per la traduzione del testo dell'audio fornito. Il codice lingua deve essere un identificatore BCP-47. Tieni presente che i codici lingua di solito sono composti solo da tag della lingua principale, poiché il testo della traduzione non considera i dialetti. Tuttavia, "zh-CN" e "zh-TW" saranno testi di traduzione diversi. (Per un elenco delle lingue supportate, vedi Lingue supportate.

L'audio viene fornito a Media Translation tramite il campo audio_content del tipo StreamingTranslateSpeechRequest. Il audio_content campo contiene l'audio da valutare, incorporato nella richiesta. Per ulteriori informazioni, consulta la sezione Incorporare contenuti audio di seguito.

Risposta di traduzione vocale in streaming

I risultati della traduzione vocale in streaming vengono restituiti all'interno di una serie di risposte del tipo StreamingTranslateSpeechResponse. Questa risposta è composta dai seguenti campi:

  • speech_event_type contiene eventi di tipo SpeechEventType. Il valore di questi eventi indicherà quando si è stabilito che una singola frase completata. Gli eventi vocali fungono da indicatori all'interno della risposta sviluppata dallo stream. Quando riceve END_OF_SINGLE_UTTERANCE, l'utente deve interrompere l'invio di richieste, in attesa di ricevere le risposte alla traduzione rimanenti.
  • results contiene l'elenco dei risultati, che possono essere provvisori o definitivi risultati, di tipo StreamingTranslateSpeechResult. L'elenco results contiene i seguenti campi secondari:
    • translation contiene il testo tradotto.
    • isFinal indica se i risultati ottenuti in questa voce dell'elenco sono provvisori o definitivi.

Di seguito sono riportate ulteriori informazioni su questi parametri di richiesta e risposta.

Frequenze di campionamento

Puoi specificare la frequenza di campionamento del tuo audio nel campo sample_rate_hertz della richiesta di configurazione e deve corrispondere alla frequenza di campionamento dell'audio associato contenuti o lo stream. Le frequenze di campionamento comprese tra 8000 Hz e 48000 Hz sono supportate in Media Translation.

Se hai la possibilità di scegliere quando codifichi il materiale di origine, acquisisci l'audio usando una di campionamento a 16000 Hz. Valori inferiori a questo valore potrebbero compromettere il riconoscimento vocale precisione, di conseguenza la qualità della traduzione sarà ridotta. E un campione superiore non hanno un impatto significativo sulla qualità del riconoscimento vocale e possono aumentare la latenza.

Tuttavia, se i dati audio sono già stati registrati a una frequenza di campionamento esistente diversa da 16000 Hz, non eseguire il campionamento dell'audio a 16000 Hz. La maggior parte dell'audio di telefonia legacy, ad esempio, utilizza frequenze di campionamento di 8000 Hz, il che potrebbe dare risultati meno accurati. Se devi utilizzare audio di questo tipo, fornisci l'audio all'API Media Translation utilizzando la frequenza di campionamento nativa.

Linguaggi

Il motore di riconoscimento/traduzione di Media Translation supporta una serie di coppie di lingue/dialetti. Sei tu a specificare la lingua (e il dialetto nazionale o regionale) audio nel campo source_language_code e target_language_code della configurazione della richiesta, utilizzando un Identificatore BCP-47.

Un elenco completo delle lingue supportate per ogni funzionalità è disponibile nella pagina Lingue supportate.

Selezione dei modelli

Media Translation può utilizzare uno dei numerosi modelli models per tradurre il file audio. Google ha addestrato questi modelli per sorgenti e tipi di audio specifici.

Quando invii una richiesta di traduzione audio a Media Translation, puoi migliorare i risultati che ricevi specificando il modello. Ciò consente l'API Media Translation per elaborare i file audio utilizzando un addestrato per riconoscere l'audio vocale da quel particolare tipo di origine.

Per specificare un modello per la traduzione vocale, includi il campo model nell'oggetto TranslateSpeechConfig per specifica il modello che vuoi utilizzare.

Media Translation può utilizzare i seguenti tipi di macchine di machine learning per la traduzione dei file audio.

Tipo Stringa nome Descrizione
Video google-provided-model/video

Utilizza questo modello per trascrivere audio nei video clip o Includono più persone che parlano. Per risultati migliori, fornisci l'audio registrato a una frequenza di campionamento pari o superiore a 16.000 Hz.

Nota: si tratta di un modello premium che costa rispetto alla tariffa standard.

Telefonata google-provided-model/(enhanced-)phone-call

Utilizza questo modello per trascrivere l'audio di una telefonata. Generalmente, l'audio del telefono viene registrato con una frequenza di campionamento di 8000 Hz.

Nota: il modello di telefono avanzato è una versione premium un modello che costa più della tariffa standard.

media translation: Default google-provided-model/default

Utilizza questo modello se l'audio non rientra in uno dei precedenti i modelli descritti. Ad esempio, puoi usare questa opzione per l'audio nel formato lungo registrazioni con un solo altoparlante. Idealmente, l'audio è un'elevata precisione, registrata con una frequenza di campionamento pari o superiore a 16.000 Hz.

Incorporamento di contenuti audio

L'audio incorporato è incluso nella richiesta di traduzione vocale in streaming durante il trasferimento di un Campo audio_content all'interno della richiesta di flussi di dati. Per audio incorporato fornito come contenuto all'interno di una richiesta gRPC, l'audio deve essere compatibile Proto3 serializzati e forniti come dati binari.

Quando crei una richiesta utilizzando libreria client di Google Cloud, di solito scriverai questi dati binari direttamente nel campo audio_content.

Per visualizzare esempi di codice, consulta la sezione Traduzione di audio in streaming.