Best practice

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

Per ottenere risultati ottimali... Se possibile, evita...
Acquisisci audio con una frequenza di campionamento pari o superiore a 16.000 Hz. In caso contrario, imposta sample_rate_hertz in modo che corrisponda alla frequenza di campionamento nativa della sorgente audio (invece del ricampionamento). Frequenze di campionamento inferiori possono ridurre l'accuratezza del riconoscimento. Di conseguenza, l'accuratezza della traduzione verrà ridotta. Tuttavia, evita il ricampionamento. Ad esempio, nella telefonia la frequenza nativa è in genere 8000 Hz, ovvero la frequenza che deve essere inviata al servizio.
Utilizza un codec senza perdita di dati per registrare e trasmettere l'audio. FLAC o LINEAR16 è la scelta consigliata. L'utilizzo di codec mu-law o altri codec persi 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 la tua applicazione deve utilizzare un codec con perdita di dati per risparmiare larghezza di banda, ti consigliamo i codec AMR_WB o OGG_OPUS, nell'ordine che preferisci.
Utilizza il codec LINEAR16 per una buona latenza della risposta dello streaming. Altri tipi di codec potrebbero anche aumentare la latenza della risposta allo streaming, dato che necessitano di un ulteriore passaggio per la decodifica. Per lo stesso codec, una frequenza di campionamento più elevata potrebbe avere una latenza maggiore.
Posiziona il microfono il più vicino possibile all'altoparlante, in particolare quando è presente rumore di fondo. Il servizio di riconoscimento è progettato per ignorare le voci e i rumori di fondo senza annullare il rumore aggiuntivo. Tuttavia, un rumore di fondo e un'eco eccessivi possono ridurre la precisione, soprattutto se si utilizza anche un codec con perdita di dati.
Utilizza un modello migliorato per ottenere risultati migliori con un audio di sottofondo rumoroso. Il modello non migliorato potrebbe non avere un buon rendimento per l'audio rumoroso/eco.
Specifica source_language_code utilizzando il codice lingua "language-region", specifica target_language_code utilizzando il codice lingua senza regione(tranne zh-CN e zh-TW). Se la regione "regione" non è specificata in source_language_code, sceglieremo la regione predefinita, che potrebbe non corrispondere alla regione effettiva del parlato e ridurremo la precisione. target_language_code non ha bisogno della regione perché la traduzione è in formato testo, ma zh-CN e zh-TW saranno diversi nel testo.

Singola frase

Per query o comandi brevi, utilizza StreamingTranslateSpeechConfig con single_utterance impostato su true. Ottimizza il riconoscimento per brevi frasi e riduce al minimo la latenza. Inoltre, il servizio interromperà automaticamente la traduzione in caso di lungo silenzio o pausa. Quando si utilizza la modalità "Single_utterance", il servizio restituirà un END_OF_SINGLE_UTTERANCE come speech_event_type in risposta. Il client dovrebbe interrompere l'invio di richieste quando riceve una risposta di END_OF_SINGLE_UTTERANCE e continuare a ricevere le risposte rimanenti.

Dimensioni frame

Il riconoscimento dello streaming riconosce l'audio in tempo reale quando viene acquisito da un microfono o da un'altra sorgente audio. Lo stream audio è suddiviso in frame e inviato in messaggi StreamingTranslateSpeechRequest consecutivi. Qualsiasi dimensione di fotogramma è accettabile. I frame più grandi sono più efficienti, ma aggiungono latenza. Si consiglia una dimensione del fotogramma di 100 millisecondi per un buon compromesso tra latenza ed efficienza.

Pre-elaborazione audio

È meglio fornire un audio il più pulito possibile utilizzando un microfono di buona qualità e ben posizionato. Tuttavia, l'applicazione dell'elaborazione del segnale di riduzione del rumore all'audio prima dell'invio al servizio riduce in genere la precisione del riconoscimento. Il servizio di riconoscimento è progettato per gestire un audio rumoroso.

Per ottenere risultati ottimali:

  • Posiziona il microfono il più vicino possibile alla persona che parla, in particolare quando è presente rumore di fondo.
  • Evita il ritaglio audio.
  • Non utilizzare il controllo automatico del guadagno (AGC).
  • L'elaborazione della riduzione del rumore deve essere disattivata.
  • Ascolta alcuni contenuti audio di esempio. Il suono dovrebbe essere nitido, senza distorsioni o rumore imprevisto.

Configurazione della richiesta

Assicurati di descrivere con precisione i dati audio inviati con la tua richiesta all'API Media Translation. Assicurarti che Trasmettere la voce per la tua richiesta descriva i valori sample_rate_hertz, audio_encoding e source_language_code corretti e target_language_code comporterà la trascrizione e la fatturazione più accurate per la tua richiesta.