RecognitionConfig

São fornecidas informações ao reconhecedor que especificam como processar a solicitação.

Representação 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
}
Campos
encoding

enum (AudioEncoding)

Codificação de dados de áudio enviados em todas as mensagens RecognitionAudio. Este campo é opcional para arquivos de áudio FLAC e WAV e é necessário para todos os outros formatos de áudio. Para detalhes, consulte: AudioEncoding.

sampleRateHertz

integer

Taxa de amostragem em Hertz dos dados de áudio enviados em todas as mensagens RecognitionAudio. Os valores válidos são: 8000-48000. 16.000 é o ideal. Para melhores resultados, defina a taxa de amostragem da fonte de áudio para 16.000 Hz. Se isso não for possível, use a taxa de amostragem nativa da fonte de áudio em vez de fazer nova amostragem. Esse campo é opcional para arquivos de áudio FLAC e WAV, mas é obrigatório para todos os outros formatos de áudio. Confira detalhes em AudioEncoding.

audioChannelCount

integer

O número de canais nos dados de áudio de entrada. Defina SOMENTE para reconhecimento MULTICANAIS. Os valores válidos para LINEAR16, OGG_OPUS e FLAC são 1-8. O valor válido para MULAW, AMR, AMR_WB e SPEEX_WITH_HEADER_BYTE é apenas 1. Se for 0 ou omitido, o padrão será um canal (mono). Observação: por padrão, nós só reconhecemos o primeiro canal. Para realizar um reconhecimento independente em cada canal, defina enableSeparateRecognitionPerChannel como "true".

enableSeparateRecognitionPerChannel

boolean

Precisa ser definido como true de maneira explícita e audioChannelCount > 1 para que cada canal seja reconhecido separadamente. O resultado do reconhecimento vai conter um campo channelTag para indicar a qual canal o resultado pertence. Se não for verdadeiro, somente o primeiro canal será reconhecido. A solicitação é cobrada cumulativamente para todos os canais reconhecidos: audioChannelCount multiplicado pela duração do áudio.

languageCode

string

Obrigatório. Idioma do áudio fornecido como uma tag de idioma BCP-47. Exemplo: "en-US". Para uma lista dos códigos de idioma compatíveis atualmente, consulte o Suporte de idioma.

alternativeLanguageCodes[]

string

Uma lista de até três tags de idioma BCP-47 adicionais, listando possíveis idiomas alternativos do áudio fornecido. Para uma lista dos códigos de idioma compatíveis atualmente, consulte o Suporte de idioma. Se houver idiomas alternativos listados, o resultado do reconhecimento conterá o reconhecimento no idioma mais provável detectado, incluindo o principal languageCode. O resultado do reconhecimento incluirá a tag de idioma do idioma detectado no áudio. Observação: este recurso só é compatível nos casos de uso de comando de voz e pesquisa por voz, e o desempenho pode variar para outros casos de uso (por exemplo, transcrição de chamada telefônica).

maxAlternatives

integer

Número máximo de hipóteses de reconhecimento a serem retornadas. Especificamente, o número máximo de mensagens SpeechRecognitionAlternative em cada SpeechRecognitionResult. O servidor pode retornar menos que maxAlternatives. Os valores válidos são 0 a 30. Um valor de 0 ou 1 vai retornar no máximo um. Se omitido, retornará o máximo de um.

profanityFilter

boolean

Se definido como true, o servidor tentará filtrar a linguagem obscena, substituindo todos os caracteres, exceto o inicial, em cada palavra filtrada por asteriscos, por exemplo, "f***". Se definido como false ou omitido, as profanações não serão filtradas.

adaptation

object (SpeechAdaptation)

A configuração de adaptação de fala melhora a precisão do reconhecimento de fala. Para mais informações, consulte a documentação sobre adaptação de fala. Quando a adaptação de fala é definida, ela substitui o campo speechContexts.

transcriptNormalization

object (TranscriptNormalization)

Opcional. Use a normalização de transcrição para substituir automaticamente partes da transcrição por frases de sua escolha. Para StreamingRecognize, essa normalização se aplica apenas a transcrições parciais estáveis (estabilidade > 0,8) e transcrições finais.

speechContexts[]

object (SpeechContext)

Matriz de SpeechContext. Um recurso para fornecer contexto para auxiliar o reconhecimento de fala. Para mais informações, consulte adaptação de fala.

enableWordTimeOffsets

boolean

Se true, o resultado principal inclui uma lista de palavras e os ajustes de tempo de início e término (marcação de tempo) para essas palavras. Se false, nenhuma informação de ajuste de tempo no nível da palavra será retornada. O padrão é false.

enableWordConfidence

boolean

Se true, o resultado principal inclui uma lista de palavras e a confiança delas. Se for false, nenhuma informação de confiança no nível da palavra será retornada. O padrão é false.

enableAutomaticPunctuation

boolean

Se for "true", adiciona pontuação às hipóteses de resultado de reconhecimento. Esse recurso está disponível somente nos idiomas selecionados. A definição disso para solicitações em outros idiomas não tem efeito. O valor "false" padrão não adiciona pontuação às hipóteses do resultado.

enableSpokenPunctuation

boolean

O comportamento da pontuação falada da chamada. Se não for definido, usará o comportamento padrão com base no modelo escolhido. Por exemplo, "command_and_search" vai ativar a pontuação falada por padrão. Se for "true", substitui a pontuação falada pelos símbolos correspondentes na solicitação. Por exemplo, "como você está ponto de interrogação" se torna "como você está?". Consulte https://cloud.google.com/speech-to-text/docs/spoken-punctuation para suporte. Se for "false", a pontuação falada não será substituída.

enableSpokenEmojis

boolean

O comportamento do emoji falado na chamada. Se não estiver definido, usa o comportamento padrão com base no modelo escolhido. Se for "true", adiciona a formatação de emoji falado à solicitação. Isso vai substituir os emojis falados pelos símbolos Unicode correspondentes na transcrição final. Se for "false", os emojis falados não serão substituídos.

enableSpeakerDiarization
(deprecated)

boolean

Se for "true", ativa a detecção de falante para cada palavra reconhecida na alternativa principal do resultado do reconhecimento usando um speakerLabel fornecido no WordInfo. Observação: use diarizationConfig.

diarizationSpeakerCount
(deprecated)

integer

Se definido, especifica o número estimado de participantes na conversa. O padrão é "2". Ignorado a menos que enableSpeakerDiarization esteja definido como "true". Observação: use diarizationConfig.

diarizationConfig

object (SpeakerDiarizationConfig)

Configuração para ativar a diarização de locutores e definir parâmetros adicionais para que ela seja mais adequada ao seu aplicativo. Observação: quando essa opção está ativada, enviamos todas as palavras desde o início do áudio para a melhor alternativa em todas as respostas de STREAMING consecutivas. Isso é feito para melhorar nossas tags de interlocutor porque nossos modelos aprendem a identificá-los na conversa ao longo do tempo. Para solicitações sem streaming, os resultados de diarização serão fornecidos apenas na primeira alternativa do SpeechRecognitionResult FINAL.

metadata

object (RecognitionMetadata)

Metadados sobre esta solicitação.

model

string

Qual modelo selecionar para a solicitação especificada. Selecione o modelo mais adequado ao seu domínio para conseguir os melhores resultados. Se um modelo não for explicitamente especificado, selecionaremos automaticamente um modelo com base nos parâmetros em RecognitionConfig.

Modelo Descrição

latest_long

Ideal para conteúdo de formato longo, como mídia ou conversas.

latest_short

Ideal para conteúdo de formato curto, como comandos ou fala direcionada de uma única vez.

command_and_search

Melhor para consultas curtas, como comandos de voz ou pesquisa por voz.

phone_call

Melhor para o áudio que se originou de uma chamada telefônica, geralmente registrada com uma taxa de amostragem de 8 khz.

video

Melhor para o áudio originado de um vídeo ou que inclua vários interlocutores. O ideal é que o áudio seja gravado com uma taxa de amostragem de 16 khz ou mais. Este é um modelo premium que custa mais do que a taxa padrão.

default

Melhor para o áudio que não é um dos modelos específicos. Por exemplo, áudio de longa duração. O ideal é que o áudio seja de alta fidelidade e gravado com uma taxa de amostragem de 16 khz ou mais.

medical_conversation

Indicado para áudio originado de uma conversa entre um profissional de saúde e um paciente.

medical_dictation

Ideal para áudio originado de notas de ditado de um profissional de saúde.

useEnhanced

boolean

Defina como "true" para usar um modelo aprimorado de reconhecimento de fala. Se useEnhanced estiver definido como "true" e o campo model não estiver definido, um modelo aprimorado adequado será escolhido se houver um para o áudio.

Se useEnhanced for verdadeiro e não existir uma versão avançada do modelo especificado, a fala será reconhecida usando a versão padrão do modelo especificado.

AudioEncoding

A codificação dos dados de áudio enviados na solicitação.

Todas as codificações são compatíveis com apenas 1 canal (mono) de áudio, a menos que os campos audioChannelCount e enableSeparateRecognitionPerChannel estejam definidos.

Para melhores resultados, a fonte de áudio precisa ser capturada e transmitida usando uma codificação sem perdas (FLAC ou LINEAR16). A precisão do reconhecimento de fala pode ser reduzida se codecs com perdas forem usados para capturar ou transmitir áudio, especialmente se houver ruído de fundo. Os codecs com perdas incluem MULAW, AMR, AMR_WB, OGG_OPUS, SPEEX_WITH_HEADER_BYTE, MP3 e WEBM_OPUS.

Os formatos de arquivo de áudio FLAC e WAV incluem um cabeçalho que descreve o conteúdo de áudio incluído. Você pode solicitar o reconhecimento para arquivos WAV que contêm áudio codificado com LINEAR16 ou MULAW. Se você enviar o formato de arquivo de áudio FLAC ou WAV na solicitação, não será necessário especificar um AudioEncoding. o formato de codificação de áudio é determinado no cabeçalho do arquivo. Se você especificar um AudioEncoding ao enviar áudio FLAC ou WAV, a configuração de codificação precisará corresponder à codificação descrita no cabeçalho de áudio. Caso contrário, a solicitação retornará um código de erro google.rpc.Code.INVALID_ARGUMENT.

Enums
ENCODING_UNSPECIFIED Não especificado.
LINEAR16 Amostras pouco elaboradas de 16 bits sem compactação (PCM Linear).
FLAC FLAC (Free Lossless Audio Codec) é a codificação recomendada porque não tem perdas. Portanto, o reconhecimento não é comprometido e requer apenas cerca de metade da largura de banda do LINEAR16. A codificação de stream FLAC é compatível com amostras de 16 bits e 24 bits. No entanto, nem todos os campos no STREAMINFO são compatíveis.
MULAW Amostras de 8 bits resultantes do compand de amostras de áudio de 14 bits em que foi usado G.711 PCMU/mu-law.
AMR Codec de banda estreita multitaxa adaptável. sampleRateHertz precisa ser 8.000.
AMR_WB Codec de banda larga multitaxa adaptável. sampleRateHertz precisa ser 16.000.
OGG_OPUS Frames de áudio codificados pelo Opus no contêiner Ogg (OggOpus). sampleRateHertz precisa ser 8.000, 12.000. 16.000, 24.000 ou 48.000.
SPEEX_WITH_HEADER_BYTE Ainda que o uso de codificações com perdas não seja recomendado, se for necessária uma codificação de bitrate muito baixa, OGG_OPUS é altamente preferível em relação à codificação Speex. A codificação Speex compatível com a Cloud Speech API tem um byte de cabeçalho em cada bloco, como no tipo MIME audio/x-speex-with-header-byte. É uma variante da codificação RTP Speex definida no RFC 5574. O stream é uma sequência de blocos, um bloco por pacote RTP. No início de cada bloco, há um byte contendo o comprimento do bloco em bytes, seguido de um ou mais frames de dados Speex, preenchidos com um número inteiro de bytes (octetos) conforme especificado no RFC 5574. Em outras palavras, cada cabeçalho RTP é substituído por um único byte contendo o comprimento do bloco. Somente a banda larga Speex é compatível. sampleRateHertz precisa ser 16.000.
MP3 Áudio MP3. A codificação MP3 é um recurso Beta e está disponível apenas na v1p1beta1. Compatível com todas as taxas de bits padrão de MP3, que variam de 32 a 320 kbps. Ao usar essa codificação, sampleRateHertz precisa corresponder à taxa de amostragem do arquivo que está sendo usado.
WEBM_OPUS Frames de áudio codificados Opus em contêiner WebM (WebM). sampleRateHertz precisa ser 8.000, 12.000, 16.000, 24.000 ou 48.000.
ALAW Amostras de 8 bits resultantes do compand de amostras de áudio de 13 bits em que foi usado G.711 PCMU/a-law.

SpeechAdaptation

Configuração da adaptação de fala.

Representação JSON
{
  "phraseSets": [
    {
      object (PhraseSet)
    }
  ],
  "phraseSetReferences": [
    string
  ],
  "customClasses": [
    {
      object (CustomClass)
    }
  ],
  "abnfGrammar": {
    object (ABNFGrammar)
  }
}
Campos
phraseSets[]

object (PhraseSet)

Uma coleção de conjuntos de frases. Para especificar as dicas inline, deixe o name do conjunto de frases em branco e preencha o restante dos campos. Qualquer conjunto de frases pode usar qualquer classe personalizada.

phraseSetReferences[]

string

Uma coleção de nomes de recursos de conjunto de frases a serem usados.

customClasses[]

object (CustomClass)

Uma coleção de classes personalizadas. Para especificar as classes inline, deixe o name da classe em branco e preencha o restante dos campos, a ela um customClassId exclusivo. Consulte a classe definida inline nas dicas de frases pelo customClassId.

abnfGrammar

object (ABNFGrammar)

A forma aumentada de Backus-Naur (ABNF, na sigla em inglês) é uma notação de gramática padronizada composta por um conjunto de regras de derivação. Consulte as especificações: https://www.w3.org/TR/speech-grammar

ABNFGrammar

Representação JSON
{
  "abnfStrings": [
    string
  ]
}
Campos
abnfStrings[]

string

Todas as declarações e regras de uma gramática ABNF divididas em várias strings que serão concatenadas.

TranscriptNormalization

Configuração de normalização de transcrição. Use a normalização de transcrição para substituir automaticamente partes da transcrição por frases de sua escolha. Para StreamingRecognize, essa normalização se aplica apenas a transcrições parciais estáveis (estabilidade > 0,8) e transcrições finais.

Representação JSON
{
  "entries": [
    {
      object (Entry)
    }
  ]
}
Campos
entries[]

object (Entry)

Uma lista de entradas de substituição. Vamos fazer a substituição com uma entrada por vez. Por exemplo, a segunda entrada em ["cat" => "dog", "mountain cat" => "mountain dog"] nunca será aplicada porque sempre processaremos a primeira entrada antes dela. No máximo 100 entradas.

Entrada

Uma única configuração de substituição.

Representação JSON
{
  "search": string,
  "replace": string,
  "caseSensitive": boolean
}
Campos
search

string

O que substituir. O tamanho máximo é de 100 caracteres.

replace

string

O que substituir. O tamanho máximo é de 100 caracteres.

caseSensitive

boolean

Se a pesquisa diferencia maiúsculas de minúsculas.

SpeechContext

São fornecidas "dicas" ao reconhecedor de fala para aceitar palavras e frases específicas nos resultados.

Representação JSON
{
  "phrases": [
    string
  ],
  "boost": number
}
Campos
phrases[]

string

Uma lista de strings contendo "dicas" de palavras e frases para que o reconhecimento de fala seja mais provável. Isso pode ser usado para melhorar a precisão de palavras e frases específicas, por exemplo, se comandos específicos forem normalmente falados pelo usuário. Isso também pode ser usado para adicionar palavras ao vocabulário do reconhecedor. Veja os limites de uso.

Os itens de lista também podem ser definidos como classes para grupos de palavras que representam conceitos comuns que ocorrem em linguagem natural. Por exemplo, em vez de fornecer dicas de frases para todos os meses do ano, usar a classe $MONTH aumenta a probabilidade de transcrever corretamente o áudio que inclui meses.

boost

number

Dica extra. Um valor positivo aumenta a probabilidade de uma frase específica ser reconhecida em vez de outras semelhantes. Quanto maior o aumento, maior a chance de reconhecimento de falsos positivos. Valores de reforço negativo corresponderiam à redução de viés. O anti-biasing não está ativado, então o aumento negativo será ignorado. Embora boost possa aceitar uma ampla variedade de valores positivos, a maioria dos casos de uso é melhor atendida com valores entre 0 e 20. Recomendamos usar uma abordagem de pesquisa binária para encontrar o valor ideal para seu caso de uso.

SpeakerDiarizationConfig

Configuração para ativar a diarização de locutor.

Representação JSON
{
  "enableSpeakerDiarization": boolean,
  "minSpeakerCount": integer,
  "maxSpeakerCount": integer,
  "speakerTag": integer
}
Campos
enableSpeakerDiarization

boolean

Se for "true", ativa a detecção de falante para cada palavra reconhecida na alternativa principal do resultado do reconhecimento usando um speakerLabel fornecido no WordInfo.

minSpeakerCount

integer

Número mínimo de ocutoresl na conversa. Esse intervalo oferece mais flexibilidade, permitindo que o sistema determine automaticamente o número correto de locutores. Se não for definido, o valor padrão será 2.

maxSpeakerCount

integer

Número máximo de locutores na conversa. Esse intervalo oferece mais flexibilidade, permitindo que o sistema determine automaticamente o número correto de locutores. Se não for definido, o valor padrão será 6.

speakerTag
(deprecated)

integer

Apenas saída. Não utilizado.

RecognitionMetadata

Descrição dos dados de áudio a serem reconhecidos.

Representação JSON
{
  "interactionType": enum (InteractionType),
  "industryNaicsCodeOfAudio": integer,
  "microphoneDistance": enum (MicrophoneDistance),
  "originalMediaType": enum (OriginalMediaType),
  "recordingDeviceType": enum (RecordingDeviceType),
  "recordingDeviceName": string,
  "originalMimeType": string,
  "obfuscatedId": string,
  "audioTopic": string
}
Campos
interactionType

enum (InteractionType)

Caso de uso que descreve mais detalhadamente o conteúdo de áudio a ser reconhecido.

industryNaicsCodeOfAudio

integer (uint32 format)

O segmento do setor a que mais se aplica essa solicitação de reconhecimento de fala. Isso é mais indicativo dos tópicos contidos no áudio. Use o código NAICS de 6 dígitos para identificar o segmento do setor - consulte https://www.naics.com/search/.

microphoneDistance

enum (MicrophoneDistance)

O tipo de áudio que descreve mais detalhadamente o áudio que está sendo reconhecido.

originalMediaType

enum (OriginalMediaType)

Mídia original em que a fala foi gravada.

recordingDeviceType

enum (RecordingDeviceType)

Tipo de dispositivo usado para gravar a fala.

recordingDeviceName

string

Dispositivo usado para fazer a gravação. Exemplos "Nexus 5X" ou "Polycom SoundStation IP 6000" ou "POTS" ou "VoIP" ou "Microfone Cardioide".

originalMimeType

string

Tipo Mime do arquivo de áudio original. Por exemplo, audio/m4a, audio/x-alaw-basic, audio/mp3, audio/3gpp. Uma lista de possíveis tipos MIME de áudio é mantida em http://www.iana.org/assignments/media-types/media-types.xhtml#audio

obfuscatedId
(deprecated)

string (int64 format)

Código de ofuscação protegido por privacidade do usuário para identificar o número de usuários únicos que usam o serviço.

audioTopic

string

Descrição do conteúdo. Por exemplo: "Gravações das audiências do Supremo Tribunal Federal a partir de 2012".

InteractionType

Categorias de caso de uso que descrevem a solicitação de reconhecimento de áudio.

Enums
INTERACTION_TYPE_UNSPECIFIED Caso de uso desconhecido ou diferente de um dos outros valores abaixo.
DISCUSSION Várias pessoas em uma conversa ou discussão. Por exemplo, em uma reunião com a participação ativa de duas ou mais pessoas. Normalmente, todas as principais pessoas que estivessem falando estariam na mesma sala (se não, veja PHONE_CALL)
PRESENTATION Uma ou mais pessoas fazendo palestras ou apresentações para outros, na maior parte do tempo sem interrupções.
PHONE_CALL Uma chamada telefônica ou videoconferência em que duas ou mais pessoas que não estão na mesma sala estão participando ativamente.
VOICEMAIL Uma mensagem gravada destinada à audição de outra pessoa.
PROFESSIONALLY_PRODUCED Áudio produzido profissionalmente (ex. programa de TV, podcast).
VOICE_COMMAND Transcrever comandos de voz, como por exemplo, para controlar um dispositivo.
DICTATION Transcrever fala para texto e criar um documento escrito, como uma mensagem de texto, e-mail ou relatório.

MicrophoneDistance

São enumerados os tipos de configurações de captura que descrevem um arquivo de áudio.

Enums
MICROPHONE_DISTANCE_UNSPECIFIED Tipo de áudio não conhecido.
NEARFIELD O áudio foi capturado a partir de um microfone que estava próximo. Por exemplo, telefone, ditafone ou microfone de mão. Geralmente, se a pessoa que fala estiver a 1 metro do microfone.
MIDFIELD Se a pessoa que fala estiver a 3 metros do microfone.
FARFIELD A pessoa que fala está a mais de 3 metros do microfone.

OriginalMediaType

Mídia original em que a fala foi gravada.

Enums
ORIGINAL_MEDIA_TYPE_UNSPECIFIED Tipo de mídia original desconhecido.
AUDIO Os dados de fala são uma gravação de áudio.
VIDEO Dados de fala gravados originalmente em um vídeo.

RecordingDeviceType

Tipo de dispositivo usado para gravar a fala.

Enums
RECORDING_DEVICE_TYPE_UNSPECIFIED Dispositivo de gravação desconhecido.
SMARTPHONE A fala foi gravada em um smartphone.
PC A fala foi gravada usando um computador pessoal ou um tablet.
PHONE_LINE A fala foi gravada em uma linha telefônica.
VEHICLE A fala foi gravada em um veículo.
OTHER_OUTDOOR_DEVICE A fala foi gravada ao ar livre.
OTHER_INDOOR_DEVICE A fala foi gravada em ambiente fechado.