RecognitionConfig

Fornisce informazioni al sistema di riconoscimento che specificano come elaborare la richiesta.

Rappresentazione JSON
{
  "encoding": enum (AudioEncoding),
  "sampleRateHertz": integer,
  "audioChannelCount": integer,
  "enableSeparateRecognitionPerChannel": boolean,
  "languageCode": string,
  "alternativeLanguageCodes": [
    string
  ],
  "maxAlternatives": integer,
  "profanityFilter": boolean,
  "adaptation": {
    object (SpeechAdaptation)
  },
  "transcriptNormalization": {
    object (TranscriptNormalization)
  },
  "speechContexts": [
    {
      object (SpeechContext)
    }
  ],
  "enableWordTimeOffsets": boolean,
  "enableWordConfidence": boolean,
  "enableAutomaticPunctuation": boolean,
  "enableSpokenPunctuation": boolean,
  "enableSpokenEmojis": boolean,
  "enableSpeakerDiarization": boolean,
  "diarizationSpeakerCount": integer,
  "diarizationConfig": {
    object (SpeakerDiarizationConfig)
  },
  "metadata": {
    object (RecognitionMetadata)
  },
  "model": string,
  "useEnhanced": boolean
}
Campi
encoding

enum (AudioEncoding)

Codifica dei dati audio inviati in tutti i messaggi RecognitionAudio. Questo campo è facoltativo per i file audio FLAC e WAV e obbligatorio per tutti gli altri formati audio. Per maggiori dettagli, vedi AudioEncoding.

sampleRateHertz

integer

Frequenza di campionamento in hertz dei dati audio inviati in tutti i messaggi RecognitionAudio. I valori validi sono: 8000-48000. 16000 è il valore ottimale. Per risultati ottimali, imposta la frequenza di campionamento della sorgente audio su 16000 Hz. Se non è possibile, utilizza la frequenza di campionamento nativa della sorgente audio (anziché il ricampionamento). Questo campo è facoltativo per i file audio FLAC e WAV, ma è obbligatorio per tutti gli altri formati audio. Per maggiori dettagli, vedi AudioEncoding.

audioChannelCount

integer

Il numero di canali nei dati audio di input. Imposta questo valore SOLO per il riconoscimento MULTICANALE. I valori validi per LINEAR16, OGG_OPUS e FLAC sono 1-8. Il valore valido per MULAW, AMR, AMR_WB e SPEEX_WITH_HEADER_BYTE è solo 1. Se 0 o viene omesso, il valore predefinito è un canale (mono). Nota: per impostazione predefinita, riconosciamo solo il primo canale. Per eseguire il riconoscimento indipendente su ogni canale, imposta enableSeparateRecognitionPerChannel su "true".

enableSeparateRecognitionPerChannel

boolean

Questi valori devono essere impostati su true in modo esplicito e audioChannelCount > 1 per consentire il riconoscimento separato di ogni canale. Il risultato del riconoscimento conterrà un campo channelTag per indicare a quale canale appartiene. Se non è così, riconosceremo solo il primo canale. La richiesta viene fatturata cumulativamente per tutti i canali riconosciuti: audioChannelCount moltiplicato per la durata dell'audio.

languageCode

string

Obbligatorio. La lingua dell'audio fornito come tag lingua BCP-47. Esempio: "en-US". Consulta la sezione Supporto delle lingue per un elenco dei codici di lingua attualmente supportati.

alternativeLanguageCodes[]

string

Un elenco di massimo tre tag di lingua BCP-47 aggiuntivi, che elencano le possibili lingue alternative dell'audio fornito. Consulta la sezione Supporto delle lingue per un elenco dei codici di lingua attualmente supportati. Se sono elencate lingue alternative, il risultato del riconoscimento conterrà il riconoscimento nella lingua più probabile rilevata, incluso il codice lingua principale. Il risultato del riconoscimento includerà il tag della lingua rilevata nell'audio. Nota: questa funzionalità è supportata solo per i casi d'uso dei comandi vocali e della ricerca vocale e le prestazioni potrebbero variare per altri casi d'uso (ad es. la trascrizione delle chiamate).

maxAlternatives

integer

Il numero massimo di ipotesi di riconoscimento da restituire. Nello specifico, il numero massimo di messaggi SpeechRecognitionAlternative all'interno di ogni SpeechRecognitionResult. Il server potrebbe restituire meno di maxAlternatives. I valori validi sono 0-30. Un valore di 0 o 1 restituirà un massimo di uno. Se omesso, verrà restituito un massimo di uno.

profanityFilter

boolean

Se impostato su true, il server tenterà di filtrare le parolacce, sostituendo tutti i caratteri tranne il primo di ogni parola filtrata con degli asterischi, ad esempio "c****". Se impostato su false o omesso, le volgarità non verranno filtrate.

adaptation

object (SpeechAdaptation)

La configurazione dell'adattamento vocale migliora l'accuratezza del riconoscimento vocale. Per saperne di più, consulta la documentazione sull'adattamento del parlato. Quando l'adattamento del parlato è impostato, sostituisce il campo speechContexts.

transcriptNormalization

object (TranscriptNormalization)

Facoltativo. Utilizza la normalizzazione della trascrizione per sostituire automaticamente parti della trascrizione con frasi a tua scelta. Per StreamingRecognize, questa normalizzazione si applica solo alle trascrizioni parziali stabili (stabilità > 0,8) e alle trascrizioni finali.

speechContexts[]

object (SpeechContext)

Array di SpeechContext. Un modo per fornire un contesto che aiuti il riconoscimento vocale. Per ulteriori informazioni, vedi Adattamento del parlato.

enableWordTimeOffsets

boolean

Se true, il risultato principale include un elenco di parole e gli offset temporali di inizio e di fine (timestamp) per quelle parole. Se false, non vengono restituite informazioni sull'offset temporale a livello di parola. Il valore predefinito è false.

enableWordConfidence

boolean

Se true, il risultato principale include un elenco di parole e la relativa affidabilità. Se false, non vengono restituite informazioni sulla confidenza a livello di parola. Il valore predefinito è false.

enableAutomaticPunctuation

boolean

Se "true", aggiunge la punteggiatura alle ipotesi di risultato del riconoscimento. Questa funzionalità è disponibile solo in alcune lingue. L'impostazione per le richieste in altre lingue non ha alcun effetto. Il valore predefinito "false" non aggiunge la punteggiatura alle ipotesi di risultato.

enableSpokenPunctuation

boolean

Il comportamento della punteggiatura vocale per la chiamata.Se non è impostato, utilizza il comportamento predefinito in base al modello scelto, ad esempio command_and_search attiverà la punteggiatura vocale per impostazione predefinita. Se "true", sostituisce la punteggiatura vocale con i simboli corrispondenti nella richiesta. Ad esempio, "come stai punto interrogativo" diventa "come stai?". Per assistenza, visita la pagina https://cloud.google.com/speech-to-text/docs/spoken-punctuation. Se il valore è "false", la punteggiatura vocale non viene sostituita.

enableSpokenEmojis

boolean

Il comportamento delle emoji vocali per la chiamata. Se non impostato, utilizza il comportamento predefinito in base al modello scelto. Se "true", aggiunge la formattazione delle emoji vocali per la richiesta. Le emoji vocali verranno sostituite dai corrispondenti simboli Unicode nella trascrizione finale. Se il valore è "false", le emoji vocali non vengono sostituite.

enableSpeakerDiarization
(deprecated)

boolean

Se "true", attiva il rilevamento dello speaker per ogni parola riconosciuta nell'alternativa migliore del risultato del riconoscimento utilizzando un'etichetta speaker fornita in WordInfo. Nota: utilizza diarizationConfig.

diarizationSpeakerCount
(deprecated)

integer

Se impostato, specifica il numero stimato di speaker nella conversazione. Il valore predefinito è "2". Ignorato a meno che enableSpeakerDiarization non sia impostato su true. Nota: utilizza diarizationConfig.

diarizationConfig

object (SpeakerDiarizationConfig)

Configurazione per abilitare la diarizzazione degli interlocutori e impostare parametri aggiuntivi per adattare meglio la diarizzazione alla tua applicazione. Nota: quando questa opzione è abilitata, inviamo tutte le parole dall'inizio dell'audio per l'alternativa migliore in ogni risposta STREAMING consecutiva. Questo viene fatto per migliorare i nostri tag degli oratori man mano che i nostri modelli imparano a identificare gli oratori nella conversazione nel tempo. Per le richieste non di streaming, i risultati della diarizzazione verranno forniti solo nell'alternativa principale di FINAL SpeechRecognitionResult.

metadata

object (RecognitionMetadata)

Metadati relativi a questa richiesta.

model

string

Quale modello selezionare per la richiesta specificata. Seleziona il modello più adatto al tuo dominio per ottenere risultati ottimali. Se non viene specificato esplicitamente un modello, ne selezioniamo automaticamente uno in base ai parametri in RecognitionConfig.

Modello Descrizione

latest_long

Ideale per contenuti nel formato lungo come contenuti multimediali o conversazioni.

latest_short

Ideale per contenuti nel formato breve come comandi o discorsi diretti in una sola ripresa.

command_and_search

Ideale per brevi query come comandi vocali o ricerca vocale.

phone_call

Ideale per audio proveniente da una telefonata (normalmente registrata con una frequenza di campionamento pari a 8 kHz).

video

Ideale per audio proveniente da video o che include più interlocutori. L'audio viene registrato preferibilmente con una frequenza di campionamento pari o superiore a 16 kHz. Questo è un modello premium con un costo più alto rispetto alla tariffa standard.

default

Ideale per audio diverso dagli altri modelli audio specifici, ad esempio audio di lunga durata. L'audio è ad alta precisione, preferibilmente registrato con una frequenza di campionamento pari o superiore a 16 kHz.

medical_conversation

Ideale per audio proveniente da una conversazione tra un medico e un paziente.

medical_dictation

Ideale per audio proveniente da note di dettatura di un fornitore di servizi sanitari.

useEnhanced

boolean

Imposta il valore true per utilizzare un modello avanzato per il riconoscimento vocale. Se useEnhanced è impostato su true e il campo model non è impostato, viene scelto un modello avanzato appropriato, se ne esiste uno per l'audio.

Se useEnhanced è true e non esiste una versione avanzata del modello specificato, il parlato viene riconosciuto utilizzando la versione standard del modello specificato.

AudioEncoding

La codifica dei dati audio inviati nella richiesta.

Tutte le codifiche supportano solo l'audio a 1 canale (mono), a meno che non siano impostati i campi audioChannelCount e enableSeparateRecognitionPerChannel.

Per ottenere risultati ottimali, la sorgente audio deve essere acquisita e trasmessa utilizzando una codifica lossless (FLAC o LINEAR16). L'accuratezza del riconoscimento vocale può essere ridotta se vengono utilizzati codec lossy per acquisire o trasmettere l'audio, in particolare se è presente rumore di fondo. I codec con perdita includono MULAW, AMR, AMR_WB, OGG_OPUS, SPEEX_WITH_HEADER_BYTE, MP3 e WEBM_OPUS.

I formati dei file audio FLAC e WAV includono un'intestazione che descrive i contenuti audio inclusi. Puoi richiedere il riconoscimento per i file WAV che contengono audio codificato LINEAR16 o MULAW. Se invii il formato file audio FLAC o WAV nella richiesta, non devi specificare un AudioEncoding; il formato di codifica audio viene determinato dall'intestazione del file. Se specifichi un AudioEncoding quando invii audio FLAC o WAV, la configurazione della codifica deve corrispondere a quella descritta nell'intestazione audio; in caso contrario, la richiesta restituisce un codice di errore google.rpc.Code.INVALID_ARGUMENT.

Enum
ENCODING_UNSPECIFIED Non specificato.
LINEAR16 Campioni little-endian firmati a 16 bit non compressi (PCM lineare).
FLAC FLAC (Free Lossless Audio Codec) è la codifica consigliata perché non comporta perdita di dati, quindi il riconoscimento non è compromesso, e richiede solo circa la metà della larghezza di banda di LINEAR16. La codifica del flusso FLAC supporta campioni a 16 e 24 bit, tuttavia non tutti i campi in STREAMINFO sono supportati.
MULAW Campioni a 8 bit che comprimono campioni audio a 14 bit utilizzando G.711 PCMU/mu-law.
AMR Codec Adaptive Multi-Rate Narrowband. sampleRateHertz deve essere 8000.
AMR_WB Codec Adaptive Multi-Rate Wideband. sampleRateHertz deve essere 16000.
OGG_OPUS Frame audio codificati con Opus nel container Ogg (OggOpus). sampleRateHertz deve essere uno dei seguenti valori: 8000, 12000, 16000, 24000 o 48000.
SPEEX_WITH_HEADER_BYTE Sebbene l'utilizzo di codifiche con perdita non sia consigliato, se è necessaria una codifica con bitrate molto basso, OGG_OPUS è preferibile alla codifica Speex. La codifica Speex supportata dall'API Cloud Speech ha un byte di intestazione in ogni blocco, come nel tipo MIME audio/x-speex-with-header-byte. È una variante della codifica RTP Speex definita nel documento RFC 5574. Lo stream è una sequenza di blocchi, un blocco per pacchetto RTP. Ogni blocco inizia con un byte contenente la lunghezza del blocco, in byte, seguito da uno o più frame di dati Speex, con padding a un numero intero di byte (ottetti) come specificato in RFC 5574. In altre parole, ogni intestazione RTP viene sostituita da un singolo byte contenente la lunghezza del blocco. È supportato solo Speex a banda larga. sampleRateHertz deve essere 16000.
MP3 Audio MP3. La codifica MP3 è una funzionalità beta e disponibile solo nella versione v1p1beta1. Supporta tutte le velocità in bit MP3 standard (che vanno da 32 a 320 kbps). Quando utilizzi questa codifica, sampleRateHertz deve corrispondere alla frequenza di campionamento del file utilizzato.
WEBM_OPUS Frame audio codificati con Opus nel container WebM (WebM). sampleRateHertz deve essere uno dei seguenti valori: 8000, 12000, 16000, 24000 o 48000.
ALAW Campioni a 8 bit che comprimono campioni audio a 13 bit utilizzando G.711 PCMU/a-law.

SpeechAdaptation

Configurazione dell'adattamento vocale.

Rappresentazione JSON
{
  "phraseSets": [
    {
      object (PhraseSet)
    }
  ],
  "phraseSetReferences": [
    string
  ],
  "customClasses": [
    {
      object (CustomClass)
    }
  ],
  "abnfGrammar": {
    object (ABNFGrammar)
  }
}
Campi
phraseSets[]

object (PhraseSet)

Una raccolta di set di frasi. Per specificare i suggerimenti in linea, lascia vuoto il campo name del set di frasi e compila gli altri campi. Qualsiasi set di frasi può utilizzare qualsiasi classe personalizzata.

phraseSetReferences[]

string

Una raccolta di nomi risorsa di set di frasi da utilizzare.

customClasses[]

object (CustomClass)

Una raccolta di classi personalizzate. Per specificare le classi inline, lascia vuoto il campo name della classe e compila gli altri campi, assegnando un customClassId univoco. Fai riferimento alla classe definita in linea nei suggerimenti per le frasi in base al relativo customClassId.

abnfGrammar

object (ABNFGrammar)

Augmented Backus-Naur Form (ABNF) è una notazione grammaticale standardizzata composta da un insieme di regole di derivazione. Consulta le specifiche: https://www.w3.org/TR/speech-grammar

ABNFGrammar

Rappresentazione JSON
{
  "abnfStrings": [
    string
  ]
}
Campi
abnfStrings[]

string

Tutte le dichiarazioni e le regole di una grammatica ABNF suddivise in più stringhe che verranno concatenate.

TranscriptNormalization

Configurazione della normalizzazione della trascrizione. Utilizza la normalizzazione della trascrizione per sostituire automaticamente parti della trascrizione con frasi a tua scelta. Per StreamingRecognize, questa normalizzazione si applica solo alle trascrizioni parziali stabili (stabilità > 0,8) e alle trascrizioni finali.

Rappresentazione JSON
{
  "entries": [
    {
      object (Entry)
    }
  ]
}
Campi
entries[]

object (Entry)

Un elenco di voci di sostituzione. Eseguiremo la sostituzione con una voce alla volta. Ad esempio, la seconda voce di ["cat" => "dog", "mountain cat" => "mountain dog"] non verrà mai applicata perché elaboreremo sempre la prima voce prima. Al massimo 100 voci.

Voce

Una singola configurazione di sostituzione.

Rappresentazione JSON
{
  "search": string,
  "replace": string,
  "caseSensitive": boolean
}
Campi
search

string

Cosa sostituire. La lunghezza massima è di 100 caratteri.

replace

string

Con cosa sostituire. La lunghezza massima è di 100 caratteri.

caseSensitive

boolean

Indica se la ricerca è sensibile alle maiuscole.

SpeechContext

Fornisce al riconoscimento vocale "suggerimenti" che privilegiano parole e frasi specifiche nei risultati.

Rappresentazione JSON
{
  "phrases": [
    string
  ],
  "boost": number
}
Campi
phrases[]

string

Un elenco di stringhe contenenti "suggerimenti" di parole e frasi in modo che il riconoscimento vocale abbia più probabilità di riconoscerle. Può essere utilizzata per migliorare l'accuratezza di parole e frasi specifiche, ad esempio se l'utente pronuncia in genere comandi specifici. Può essere utilizzato anche per aggiungere altre parole al vocabolario del sistema di riconoscimento. Vedi i limiti di utilizzo.

Gli elementi dell'elenco possono anche essere impostati su classi per gruppi di parole che rappresentano concetti comuni che si verificano nel linguaggio naturale. Ad esempio, anziché fornire suggerimenti per le frasi per ogni mese dell'anno, l'utilizzo della classe $MONTH aumenta la probabilità di trascrivere correttamente l'audio che include i mesi.

boost

number

Suggerimento potenziato. Un valore positivo aumenterà la probabilità che una frase specifica venga riconosciuta rispetto ad altre frasi dal suono simile. Più alto è l'incremento, maggiore è la probabilità di un falso positivo. I valori di boosting negativi corrispondono all'anti-bias. L'anti-bias non è attivato, quindi il boost negativo verrà semplicemente ignorato. Sebbene boost possa accettare un'ampia gamma di valori positivi, la maggior parte dei casi d'uso è meglio servita con valori compresi tra 0 e 20. Ti consigliamo di utilizzare un approccio di ricerca binaria per trovare il valore ottimale per il tuo caso d'uso.

SpeakerDiarizationConfig

Configurazione per abilitare la diarizzazione degli interlocutori.

Rappresentazione JSON
{
  "enableSpeakerDiarization": boolean,
  "minSpeakerCount": integer,
  "maxSpeakerCount": integer,
  "speakerTag": integer
}
Campi
enableSpeakerDiarization

boolean

Se "true", attiva il rilevamento dello speaker per ogni parola riconosciuta nell'alternativa migliore del risultato del riconoscimento utilizzando un'etichetta speaker fornita in WordInfo.

minSpeakerCount

integer

Numero minimo degli speaker che partecipano alla conversazione. Questo intervallo ti offre una flessibilità superiore, consentendo al sistema di determinare automaticamente il numero corretto di speaker. Se non viene impostato, usa il valore predefinito 2.

maxSpeakerCount

integer

Numero massimo di speaker che partecipano alla conversazione. Questo intervallo ti offre una flessibilità superiore, consentendo al sistema di determinare automaticamente il numero corretto di speaker. Se non viene impostato, usa il valore predefinito 6.

speakerTag
(deprecated)

integer

Solo output. Non utilizzata.

RecognitionMetadata

Descrizione dei dati audio da riconoscere.

Rappresentazione JSON
{
  "interactionType": enum (InteractionType),
  "industryNaicsCodeOfAudio": integer,
  "microphoneDistance": enum (MicrophoneDistance),
  "originalMediaType": enum (OriginalMediaType),
  "recordingDeviceType": enum (RecordingDeviceType),
  "recordingDeviceName": string,
  "originalMimeType": string,
  "obfuscatedId": string,
  "audioTopic": string
}
Campi
interactionType

enum (InteractionType)

Il caso d'uso che descrive più da vicino i contenuti audio da riconoscere.

industryNaicsCodeOfAudio

integer (uint32 format)

Il settore verticale a cui si applica più da vicino questa richiesta di riconoscimento vocale. Questo è l'indicatore più significativo degli argomenti contenuti nell'audio. Utilizza il codice NAICS a 6 cifre per identificare il settore verticale. Vedi https://www.naics.com/search/.

microphoneDistance

enum (MicrophoneDistance)

Il tipo di audio che descrive più da vicino l'audio in fase di riconoscimento.

originalMediaType

enum (OriginalMediaType)

Il supporto originale su cui è stato registrato il discorso.

recordingDeviceType

enum (RecordingDeviceType)

Il tipo di dispositivo con cui è stato registrato il discorso.

recordingDeviceName

string

Il dispositivo utilizzato per effettuare la registrazione. Esempi: "Nexus 5X", "Polycom SoundStation IP 6000", "POTS", "VoIP" o "microfono cardioide".

originalMimeType

string

Tipo MIME del file audio originale. Ad esempio, audio/m4a, audio/x-alaw-basic, audio/mp3, audio/3gpp. Un elenco dei possibili tipi MIME audio è disponibile all'indirizzo http://www.iana.org/assignments/media-types/media-types.xhtml#audio

obfuscatedId
(deprecated)

string (int64 format)

ID offuscato (protetto dalla privacy) dell'utente, per identificare il numero di utenti unici che utilizzano il servizio.

audioTopic

string

Descrizione dei contenuti. Es. "Registrazioni delle udienze della Corte suprema federale del 2012".

InteractionType

Categorie di casi d'uso in cui può essere descritta la richiesta di riconoscimento audio.

Enum
INTERACTION_TYPE_UNSPECIFIED Il caso d'uso è sconosciuto o diverso da uno degli altri valori riportati di seguito.
DISCUSSION Più persone in una conversazione o discussione. Ad esempio, in una riunione con due o più persone che partecipano attivamente. In genere, tutte le persone che parlano si trovano nella stessa stanza (in caso contrario, vedi PHONE_CALL)
PRESENTATION Una o più persone che tengono una lezione o una presentazione ad altre persone, per lo più senza interruzioni.
PHONE_CALL Una chiamata o una videoconferenza a cui partecipano attivamente due o più persone che non si trovano nella stessa stanza.
VOICEMAIL Un messaggio registrato destinato all'ascolto di un'altra persona.
PROFESSIONALLY_PRODUCED Audio prodotto professionalmente (ad es. Programma TV, Podcast).
VOICE_COMMAND Trascrivere i comandi vocali, ad esempio per controllare un dispositivo.
DICTATION Trascrivi la voce in testo per creare un documento scritto, ad esempio un messaggio di testo, un'email o un report.

MicrophoneDistance

Elenca i tipi di impostazioni di acquisizione che descrivono un file audio.

Enum
MICROPHONE_DISTANCE_UNSPECIFIED Il tipo di audio non è noto.
NEARFIELD L'audio è stato acquisito da un microfono posizionato vicino. Ad esempio, smartphone, registratore o microfono portatile. In genere, se l'oratore si trova a meno di 1 metro dal microfono.
MIDFIELD L'oratore se si trova entro 3 metri dal microfono.
FARFIELD L'oratore si trova a più di 3 metri di distanza dal microfono.

OriginalMediaType

Il supporto originale su cui è stato registrato il discorso.

Enum
ORIGINAL_MEDIA_TYPE_UNSPECIFIED Tipo di contenuti multimediali originali sconosciuto.
AUDIO I dati vocali sono una registrazione audio.
VIDEO I dati vocali registrati originariamente in un video.

RecordingDeviceType

Il tipo di dispositivo con cui è stato registrato il discorso.

Enum
RECORDING_DEVICE_TYPE_UNSPECIFIED Il dispositivo di registrazione è sconosciuto.
SMARTPHONE Il discorso è stato registrato su uno smartphone.
PC Il discorso è stato registrato utilizzando un personal computer o un tablet.
PHONE_LINE Il discorso è stato registrato su una linea telefonica.
VEHICLE La voce è stata registrata in un veicolo.
OTHER_OUTDOOR_DEVICE Il discorso è stato registrato all'aperto.
OTHER_INDOOR_DEVICE Il discorso è stato registrato in un ambiente chiuso.