Best practice

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento contiene suggerimenti su come fornire dati vocali all'API Media Translation. Queste linee guida sono progettate per offrire maggiore efficienza e precisione, nonché tempi di risposta ragionevoli da parte del servizio. L'utilizzo dell'API Media Translation funziona al meglio quando i dati inviati al servizio rientrano nei parametri descritti in questo documento.

Per ottenere risultati ottimali... Se possibile, evita di...
Acquisisci l'audio con una frequenza di campionamento pari o superiore a 16.000 Hz. In caso contrario, imposta il valore sample_rate_hertz in modo che corrisponda alla frequenza di campionamento nativa della sorgente audio (anziché ripetere il campionamento). Basse frequenze di campionamento potrebbero ridurre la precisione di riconoscimento. Di conseguenza, anche l'accuratezza della traduzione verrà ridotta. Tuttavia, evita di ripetere il campionamento. Ad esempio, in telefonia la tariffa nativa è di solito 8000 Hz, ovvero la frequenza che deve essere inviata al servizio.
Utilizzare un codec senza perdita di dati per registrare e trasmettere contenuti audio. Si consiglia l'utilizzo di FLAC o LINEAR16. L'uso di mu-law o altri codec con perdita durante la registrazione o la trasmissione può ridurre l'accuratezza del riconoscimento. Se l'audio è già in una codifica non supportata dall'API, transcodificalo in FLAC o LINEAR16 senza perdita di dati. Se l'applicazione deve utilizzare un codec di perdita di dati per preservare la larghezza di banda, consigliamo i codec AMR_WB o OGG_OPUS nell'ordine preferito.
Utilizza un codec LINEAR16 per una buona latenza della risposta in streaming. Anche altri tipi di codec possono aggiungere la latenza di risposta dello streaming, in quanto richiedono un passaggio aggiuntivo per la decodifica. Per lo stesso codec, una frequenza di campionamento più elevata potrebbe avere una latenza più elevata.
Posiziona il microfono il più vicino possibile all'altoparlante, in particolare quando è presente un rumore di fondo. Il servizio di riconoscimento è progettato per ignorare le voci e i rumori di sottofondo senza l'ulteriore eliminazione del rumore. Tuttavia, un numero eccessivo di rumori di fondo ed eco può ridurre l'accuratezza, soprattutto se si utilizza anche un codec di perdita.
Usa un modello migliorato per ottenere risultati migliori con un audio di sottofondo rumoroso. Il modello non ottimizzato potrebbe non funzionare bene per audio rumoroso/eco.
Specifica source_language_code utilizzando il codice lingua "language-region", specifica target_language_code utilizzando il codice lingua senza area geografica(tranne zh-CN e zh-TW). Se"area geografica"non è specificata in source_language_code, sceglieremo quella predefinita, che potrebbe non corrispondere a quella effettiva e ridurremo la precisione. target_language_code non richiede l'area geografica poiché la traduzione è testo, ma zh-CN e zh-TW saranno diversi nel testo.

Frase singola

Per query o comandi brevi, usa StreamingTranslateSpeechConfig con single_utterance impostato su true. In questo modo ottimizzi il riconoscimento per brevi frasi e riduci al minimo la latenza. Il servizio interrompe automaticamente la traduzione quando c'è un lungo silenzio o pausa. Quando utilizzi la modalità 'single_utterance' il servizio restituisce un END_OF_SINGLE_UTTERANCE come parlato_event_type in risposta. Il client dovrebbe interrompere l'invio di richieste quando riceve END_OF_SINGLE_UTTERANCE risposta e continuare a ricevere le risposte rimanenti.

Dimensioni frame

Il riconoscimento dello streaming riconosce l'audio in diretta mentre viene acquisito da un microfono o da un'altra sorgente audio. Lo stream audio è suddiviso in frame e inviato in messaggi StreamingTranslateSpeechRequest consecutivi. Sono accettate immagini di qualsiasi dimensione. I frame più grandi sono più efficienti, ma aggiungono latenza. Si consiglia un frame di 100 millisecondi come buon compromesso tra latenza ed efficienza.

Pre-elaborazione audio

Per ottenere un audio il più pulito possibile utilizza un microfono di buona qualità e ben posizionato. Tuttavia, l'applicazione dell'elaborazione del segnale di riduzione del rumore all'audio prima di inviarlo al servizio riduce in genere la precisione di riconoscimento. Il servizio di riconoscimento è progettato per gestire audio rumorosi.

Per ottenere risultati ottimali:

  • Posiziona il microfono il più vicino possibile alla persona che sta parlando, in particolare quando è presente un rumore di fondo.
  • Evita i clip audio.
  • Non utilizzare il controllo automatico del guadagno (AGC).
  • L'elaborazione della riduzione del rumore deve essere disattivata.
  • Ascolta un esempio di audio. Dovrebbe suonare chiaro, senza distorsioni o rumori imprevisti.

Richiedi configurazione

Assicurati di descrivere con precisione i dati audio inviati con la tua richiesta all'API Media Translation. Assicurati che TranslateSpeechConfig per la tua richiesta descrivano i valori sample_rate_hertz, audio_encoding e source_language_code e target_language_code corretti per ottenere la trascrizione e la fatturazione più accurate per la tua richiesta.