Best practice per fornire dati all'API Speech-to-Text

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

Se segui queste linee guida e non ottieni i risultati previsti dall'API, consulta la sezione Risoluzione dei problemi e assistenza.

Per risultati ottimali… Se possibile, evita di…
Acquisisci l'audio con una frequenza di campionamento pari o superiore a 16.000 Hz. Frequenze di campionamento più basse potrebbero ridurre la precisione. Tuttavia, evita di eseguire un nuovo campionamento. Ad esempio, in 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. Consigliamo FLAC o LINEAR16. L'utilizzo di mp3, mp4, m4a, mu-law, a-law o altri codec con perdita di dati durante la registrazione o la trasmissione potrebbe ridurre l'accuratezza. Se l'audio è già in una codifica non supportata dall'API, esegui la transcodifica in formato lossless FLAC o LINEAR16. Se la tua applicazione deve utilizzare un codec con perdita per risparmiare larghezza di banda, ti consigliamo i codec AMR_WB, OGG_OPUS o SPEEX_WITH_HEADER_BYTE, nell'ordine preferito.
Il riconoscitore è progettato per ignorare le voci e i rumori di fondo senza ulteriore eliminazione del rumore. Tuttavia, per risultati ottimali, posiziona il microfono il più vicino possibile all'utente, in particolare quando sono presenti rumori di fondo. Rumore di fondo eccessivo ed echi possono ridurre l'accuratezza, soprattutto se viene utilizzato anche un codec con perdita di dati.
Se acquisisci l'audio di più persone e ogni persona viene registrata su un canale separato, invia ogni canale separatamente per ottenere i migliori risultati di riconoscimento. Tuttavia, se tutti gli speaker sono mixati in una registrazione monocanale, invia la registrazione così com'è. Più persone che parlano contemporaneamente o a volumi diversi potrebbero essere interpretate come rumore di fondo e ignorate.
Utilizza i suggerimenti di parole e frasi per aggiungere nomi e termini al vocabolario e migliorare l'accuratezza di parole e frasi specifiche. Il sistema di riconoscimento ha un vocabolario molto ampio, ma i termini e i nomi propri non inclusi nel vocabolario non verranno riconosciuti.
Per query o comandi brevi, utilizza StreamingRecognize con single_utterance impostato su true. In questo modo, il riconoscimento viene ottimizzato per le frasi brevi e la latenza viene ridotta al minimo. Utilizzo di Recognize o LongRunningRecognize per query o comandi brevi.

Frequenza di campionamento

Se possibile, imposta la frequenza di campionamento dell'origine audio su 16000 Hz. In caso contrario, imposta sample_rate_hertz in modo che corrisponda alla frequenza di campionamento nativa dell'origine audio (anziché ricrearla).

Dimensioni del telaio

Il riconoscimento in streaming riconosce l'audio in diretta quando viene acquisito da un microfono o da un'altra sorgente audio. Lo stream audio viene suddiviso in frame e inviato in messaggi StreamingRecognizeRequest consecutivi. Sono accettate qualsiasi dimensione di fotogramma. I frame più grandi sono più efficienti, ma aumentano la latenza. È consigliabile una dimensione del frame di 100 millisecondi come 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 di un'elaborazione del segnale di riduzione del rumore all'audio prima di inviarlo al servizio in genere riduce l'accuratezza del riconoscimento. Il servizio è progettato per gestire l'audio con rumore.

Per ottenere risultati ottimali:

  • Posiziona il microfono il più vicino possibile alla persona che sta parlando, in particolare quando è presente rumore di fondo.
  • Evita il clipping audio.
  • Non utilizzare il controllo automatico del guadagno (AGC).
  • Tutta l'elaborazione di riduzione del rumore deve essere disattivata.
  • Ascolta alcuni esempi audio. Deve essere chiaro, senza distorsioni o rumore imprevisto.

Richiedi configurazione

Assicurati di descrivere con precisione i dati audio inviati con la richiesta all'API Speech-to-Text. Assicurati che RecognitionConfig per la tua richiesta descriva sampleRateHertz, encoding e languageCode corretti per ottenere la trascrizione e la fatturazione più accurate per la tua richiesta.