RecognitionConfig

Fornece informações ao reconhecedor que especificam como processar o pedido.

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 dos dados de áudio enviados em todas as mensagens RecognitionAudio. Este campo é opcional para ficheiros de áudio FLAC e WAV e obrigatório para todos os outros formatos de áudio. Para mais 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 a 48 000. 16000 é o valor ideal. Para ter os melhores resultados, defina a taxa de amostragem da fonte de áudio para 16 000 Hz. Se tal não for possível, use a taxa de amostragem nativa da fonte de áudio (em vez de voltar a fazer a amostragem). Este campo é opcional para ficheiros de áudio FLAC e WAV, mas é obrigatório para todos os outros formatos de áudio. Para mais detalhes, consulte AudioEncoding.

audioChannelCount

integer

O número de canais nos dados de áudio de entrada. Defina esta opção APENAS para o reconhecimento MULTICANAL. 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, a predefinição é um canal (mono). Nota: por predefinição, apenas reconhecemos o primeiro canal. Para realizar o reconhecimento independente em cada canal, defina enableSeparateRecognitionPerChannel como "true".

enableSeparateRecognitionPerChannel

boolean

Tem de definir este valor como true explicitamente e audioChannelCount > 1 para que cada canal seja reconhecido separadamente. O resultado do reconhecimento contém um campo channelTag para indicar a que canal pertence esse resultado. Se esta condição não for verdadeira, só reconhecemos o primeiro canal. O pedido é faturado cumulativamente para todos os canais reconhecidos: audioChannelCount multiplicado pela duração do áudio.

languageCode

string

Obrigatório. O idioma do áudio fornecido como uma etiqueta de idioma BCP-47. Exemplo: "en-US". Consulte o artigo Suporte de idiomas para ver uma lista dos códigos de idiomas atualmente suportados.

alternativeLanguageCodes[]

string

Uma lista de até 3 etiquetas de idioma BCP-47 adicionais, que indicam possíveis idiomas alternativos do áudio fornecido. Consulte o artigo Suporte de idiomas para ver uma lista dos códigos de idiomas atualmente suportados. Se forem indicados idiomas alternativos, o resultado do reconhecimento contém o reconhecimento no idioma mais provável detetado, incluindo o idioma principal. O resultado do reconhecimento inclui a etiqueta de idioma do idioma detetado no áudio. Nota: esta funcionalidade só é suportada para exemplos de utilização de comandos de voz e pesquisa por voz, e o desempenho pode variar para outros exemplos de utilização (por exemplo, transcrição de chamadas telefónicas).

maxAlternatives

integer

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

profanityFilter

boolean

Se estiver definido como true, o servidor tenta filtrar as obscenidades, substituindo todos os carateres, exceto o inicial, em cada palavra filtrada por asteriscos, por exemplo, "f***". Se for definido como false ou omitido, as obscenidades não são filtradas.

adaptation

object (SpeechAdaptation)

A configuração da adaptação de voz melhora a precisão do reconhecimento de voz. Para mais informações, consulte a documentação sobre a adaptação de voz. Quando a adaptação da voz está definida, substitui o campo speechContexts.

transcriptNormalization

object (TranscriptNormalization)

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

speechContexts[]

object (SpeechContext)

Matriz de SpeechContext. Um meio de fornecer contexto para ajudar o reconhecimento de voz. Para mais informações, consulte o artigo sobre a adaptação da voz.

enableWordTimeOffsets

boolean

Se true, o resultado principal inclui uma lista de palavras e os desvios de tempo de início e fim (indicações de tempo) dessas palavras. Se false, não são devolvidas informações de deslocamento de tempo ao nível da palavra. A predefinição é false.

enableWordConfidence

boolean

Se true, o resultado principal inclui uma lista de palavras e a confiança para essas palavras. Se false, não são devolvidas informações de confiança ao nível da palavra. A predefinição é false.

enableAutomaticPunctuation

boolean

Se for "true", adiciona pontuação às hipóteses de resultados de reconhecimento. Esta funcionalidade só está disponível em determinados idiomas. A definição desta opção para pedidos noutros idiomas não tem qualquer efeito. O valor predefinido "false" não adiciona pontuação às hipóteses de resultados.

enableSpokenPunctuation

boolean

O comportamento de pontuação falada para a chamada.Se não for definido, usa o comportamento predefinido com base no modelo escolhido, por exemplo, command_and_search ativa a pontuação falada por predefinição. Se for "true", substitui a pontuação falada pelos símbolos correspondentes no pedido. Por exemplo, "how are you question mark" torna-se "how are you?". Consulte https://cloud.google.com/speech-to-text/docs/spoken-punctuation para obter apoio técnico. Se for "false", a pontuação falada não é substituída.

enableSpokenEmojis

boolean

O comportamento dos emojis falados para a chamada. Se não estiver definido, usa o comportamento predefinido com base no modelo escolhido. Se for "true", adiciona a formatação de emojis falados para o pedido. Esta ação substitui os emojis falados pelos símbolos Unicode correspondentes na transcrição final. Se for "false", os emojis falados não são substituídos.

enableSpeakerDiarization
(deprecated)

boolean

Se for "true", ativa a deteção de interlocutores para cada palavra reconhecida na alternativa principal do resultado do reconhecimento através de uma speakerLabel fornecida no WordInfo. Nota: use diarizationConfig em alternativa.

diarizationSpeakerCount
(deprecated)

integer

Se for definido, especifica o número estimado de oradores na conversa. A predefinição é "2". Ignorado, a menos que enableSpeakerDiarization esteja definido como verdadeiro. Nota: use diarizationConfig em alternativa.

diarizationConfig

object (SpeakerDiarizationConfig)

Configuração para ativar a separação de oradores e definir parâmetros adicionais para tornar a separação mais adequada à sua aplicação. Nota: quando esta opção está ativada, enviamos todas as palavras desde o início do áudio para a principal alternativa em todas as respostas STREAMING consecutivas. Isto é feito para melhorar as nossas etiquetas de orador à medida que os nossos modelos aprendem a identificar os oradores na conversa ao longo do tempo. Para pedidos sem streaming, os resultados da segmentação por orador são fornecidos apenas na alternativa principal do SpeechRecognitionResult FINAL.

metadata

object (RecognitionMetadata)

Metadados relativos a esta solicitação.

model

string

Que modelo selecionar para o pedido em questão. Selecione o modelo mais adequado ao seu domínio para obter os melhores resultados. Se não for especificado explicitamente um modelo, selecionamos automaticamente um modelo com base nos parâmetros no RecognitionConfig.

Modelo Descrição

latest_long

Ideal para conteúdo de formato longo, como multimédia ou conversas.

latest_short

Ideal para conteúdo de formato curto, como comandos ou discurso dirigido de uma só tomada.

command_and_search

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

phone_call

Melhor para áudio proveniente de uma chamada telefónica (normalmente, gravado a uma taxa de amostragem de 8 kHz).

video

Ideal para áudio proveniente de vídeo ou que inclua vários falantes. Idealmente, o áudio é gravado a uma taxa de amostragem de 16 kHz ou superior. Este é um modelo premium que custa mais do que a tarifa padrão.

default

Ideal para áudio que não faz parte dos modelos de áudio específicos. Por exemplo, áudio de formato longo. Idealmente, o áudio deve ser de alta fidelidade e gravado a uma taxa de amostragem de 16 kHz ou superior.

medical_conversation

Ideal para áudio originado de uma conversa entre um prestador de serviços médicos e um paciente.

medical_dictation

Ideal para áudio originado de notas de ditado de um prestador de cuidados médicos.

useEnhanced

boolean

Definido como verdadeiro para usar um modelo melhorado para o reconhecimento de voz. Se useEnhanced estiver definido como verdadeiro e o campo model não estiver definido, é escolhido um modelo melhorado adequado se existir um modelo melhorado para o áudio.

Se useEnhanced for verdadeiro e não existir uma versão melhorada do modelo especificado, a voz é reconhecida através da versão padrão do modelo especificado.

AudioEncoding

A codificação dos dados de áudio enviados no pedido.

Todas as codificações só suportam áudio de 1 canal (mono), a menos que os campos audioChannelCount e enableSeparateRecognitionPerChannel estejam definidos.

Para os melhores resultados, a fonte de áudio deve ser capturada e transmitida através de uma codificação sem perdas (FLAC ou LINEAR16). A precisão do reconhecimento de voz pode ser reduzida se forem usados codecs com perdas 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 ficheiros de áudio FLAC e WAV incluem um cabeçalho que descreve o conteúdo de áudio incluído. Pode pedir reconhecimento para ficheiros WAV que contenham áudio codificado LINEAR16 ou MULAW. Se enviar o formato de ficheiro de áudio FLAC ou WAV no seu pedido, não precisa de especificar um AudioEncoding. O formato de codificação de áudio é determinado a partir do cabeçalho do ficheiro. Se especificar um AudioEncoding quando enviar áudio FLAC ou WAV, a configuração de codificação tem de corresponder à codificação descrita no cabeçalho de áudio. Caso contrário, o pedido devolve um código de erro google.rpc.Code.INVALID_ARGUMENT.

Enumerações
ENCODING_UNSPECIFIED Não especificado.
LINEAR16 Amostras de 16 bits não comprimidas com sinal little-endian (PCM linear).
FLAC O FLAC (Free Lossless Audio Codec) é a codificação recomendada porque não tem perdas, pelo que o reconhecimento não é comprometido, e requer apenas cerca de metade da largura de banda do LINEAR16. A codificação de streams FLAC suporta amostras de 16 e 24 bits. No entanto, nem todos os campos em STREAMINFO são suportados.
MULAW Amostras de 8 bits que comprimem/expandem amostras de áudio de 14 bits através de G.711 PCMU/mu-law.
AMR Codec Adaptive Multi-Rate Narrowband. sampleRateHertz tem de ser 8000.
AMR_WB Codec Adaptive Multi-Rate Wideband. sampleRateHertz tem de ser 16000.
OGG_OPUS Frames de áudio codificados em Opus no contentor Ogg (OggOpus). sampleRateHertz tem de ser um dos seguintes valores: 8000, 12000, 16000, 24000 ou 48000.
SPEEX_WITH_HEADER_BYTE Embora a utilização de codificações com perdas não seja recomendada, se for necessária uma codificação com uma taxa de bits muito baixa, a codificação OGG_OPUS é altamente preferível à codificação Speex. A codificação Speex suportada pela 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. A stream é uma sequência de blocos, um bloco por pacote RTP. Cada bloco começa com um byte que contém o comprimento do bloco, em bytes, seguido de um ou mais frames de dados Speex, preenchidos até um número integral de bytes (octetos), conforme especificado na RFC 5574. Por outras palavras, cada cabeçalho RTP é substituído por um único byte que contém o comprimento do bloco. Apenas é suportado o Speex wideband. sampleRateHertz tem de ser 16000.
MP3 Áudio MP3. A codificação MP3 é uma funcionalidade beta e só está disponível na versão v1p1beta1. Suportar todas as taxas de bits MP3 padrão (que variam entre 32 e 320 kbps). Quando usar esta codificação, sampleRateHertz tem de corresponder à taxa de amostragem do ficheiro que está a ser usado.
WEBM_OPUS Frames de áudio codificados em Opus no contentor WebM (WebM). sampleRateHertz tem de ser um dos seguintes valores: 8000, 12000, 16000, 24000 ou 48000.
ALAW Amostras de 8 bits que comprimem/expandem amostras de áudio de 13 bits através de G.711 PCMU/a-law.

SpeechAdaptation

Configuração da adaptação da voz.

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

object (PhraseSet)

Uma coleção de conjuntos de expressões. Para especificar as sugestões incorporadas, deixe o conjunto de expressões name em branco e preencha os restantes campos. Qualquer expressão definida pode usar qualquer classe personalizada.

phraseSetReferences[]

string

Uma coleção de nomes de recursos de conjuntos de expressões a usar.

customClasses[]

object (CustomClass)

Uma coleção de classes personalizadas. Para especificar as classes inline, deixe o name da classe em branco e preencha os restantes campos, atribuindo-lhe um customClassId exclusivo. Consulte a classe definida inline nas sugestões de expressões pelo respetivo customClassId.

abnfGrammar

object (ABNFGrammar)

A forma Backus-Naur aumentada (ABNF) é uma notação gramatical 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 vão acabar por ser concatenadas.

TranscriptNormalization

Configuração de normalização da transcrição. Use a normalização da transcrição para substituir automaticamente partes da transcrição por expressões à sua escolha. Para o StreamingRecognize, esta normalização aplica-se 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 de cada vez. Por exemplo, a segunda entrada em ["cat" => "dog", "mountain cat" => "mountain dog"] nunca é aplicada porque processamos sempre a primeira entrada antes. 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 comprimento máximo é de 100 carateres.

replace

string

O que deve substituir. O comprimento máximo é de 100 carateres.

caseSensitive

boolean

Se a pesquisa é sensível a maiúsculas e minúsculas.

SpeechContext

Fornece "sugestões" ao reconhecedor de voz para favorecer palavras e expressões específicas nos resultados.

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

string

Uma lista de strings que contêm "sugestões" de palavras e expressões para que o reconhecimento de voz tenha maior probabilidade de as reconhecer. Isto pode ser usado para melhorar a precisão de palavras e expressões específicas, por exemplo, se comandos específicos forem normalmente falados pelo utilizador. Também pode usar esta funcionalidade para adicionar palavras adicionais ao vocabulário do reconhecedor. Consulte os limites de utilização.

Os itens de lista também podem ser definidos para classes de grupos de palavras que representam conceitos comuns que ocorrem na linguagem natural. Por exemplo, em vez de fornecer sugestões de expressões para todos os meses do ano, a utilização da classe $MONTH melhora a probabilidade de transcrever corretamente áudio que inclua meses.

boost

number

Hint Boost. Um valor positivo aumenta a probabilidade de uma expressão específica ser reconhecida em detrimento de outras expressões com um som semelhante. Quanto maior for o aumento, maior é a probabilidade de reconhecimento de falsos positivos. Os valores de aumento negativos correspondem à eliminação de parcialidade. A funcionalidade de eliminação de parcialidades não está ativada, pelo que o aumento negativo é simplesmente ignorado. Embora boost possa aceitar uma vasta gama de valores positivos, a maioria dos exemplos de utilização é melhor servida com valores entre 0 e 20. Recomendamos que use uma abordagem de pesquisa binária para encontrar o valor ideal para o seu exemplo de utilização.

SpeakerDiarizationConfig

Configuração para ativar a separação de oradores.

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

boolean

Se for "true", ativa a deteção de interlocutores para cada palavra reconhecida na alternativa principal do resultado do reconhecimento através de uma speakerLabel fornecida no WordInfo.

minSpeakerCount

integer

Número mínimo de oradores na conversa. Este intervalo oferece-lhe mais flexibilidade, permitindo que o sistema determine automaticamente o número correto de altifalantes. Se não estiver definido, o valor predefinido é 2.

maxSpeakerCount

integer

Número máximo de oradores na conversa. Este intervalo oferece-lhe mais flexibilidade, permitindo que o sistema determine automaticamente o número correto de altifalantes. Se não estiver definido, o valor predefinido é 6.

speakerTag
(deprecated)

integer

Apenas saída. Não usado.

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)

O exemplo de utilização que descreve mais detalhadamente o conteúdo de áudio a ser reconhecido.

industryNaicsCodeOfAudio

integer (uint32 format)

O vertical do setor ao qual este pedido de reconhecimento de voz se aplica mais diretamente. Isto é mais indicativo dos tópicos contidos no áudio. Use o código NAICS de 6 dígitos para identificar o vertical da indústria. Consulte https://www.naics.com/search/.

microphoneDistance

enum (MicrophoneDistance)

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

originalMediaType

enum (OriginalMediaType)

O suporte original no qual a voz foi gravada.

recordingDeviceType

enum (RecordingDeviceType)

O tipo de dispositivo com o qual a voz foi gravada.

recordingDeviceName

string

O dispositivo usado para fazer a gravação. Exemplos: "Nexus 5X", "Polycom SoundStation IP 6000", "POTS", "VoIP" ou "Microfone cardioide".

originalMimeType

string

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

obfuscatedId
(deprecated)

string (int64 format)

ID ocultado (protegido pela privacidade) do utilizador, para identificar o número de utilizadores únicos que usam o serviço.

audioTopic

string

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

InteractionType

Categorias de exemplos de utilização que podem descrever o pedido de reconhecimento de áudio.

Enumerações
INTERACTION_TYPE_UNSPECIFIED O exemplo de utilização é desconhecido ou é algo diferente de um dos outros valores abaixo.
DISCUSSION Várias pessoas numa conversa ou discussão. Por exemplo, numa reunião com duas ou mais pessoas a participar ativamente. Normalmente, todas as pessoas que falam estão na mesma sala (se não for o caso, consulte PHONE_CALL)
PRESENTATION Uma ou mais pessoas a dar uma palestra ou a fazer uma apresentação a outras pessoas, na maioria das vezes sem interrupções.
PHONE_CALL Uma chamada telefónica ou uma videoconferência em que duas ou mais pessoas, que não estão na mesma sala, estão a participar ativamente.
VOICEMAIL Uma mensagem gravada destinada a ser ouvida por outra pessoa.
PROFESSIONALLY_PRODUCED Áudio produzido profissionalmente (por exemplo, Programa de TV, podcast).
VOICE_COMMAND Transcrever comandos de voz, como para controlar um dispositivo.
DICTATION Transcrever a voz em texto para criar um documento escrito, como uma mensagem de texto, um email ou um relatório.

MicrophoneDistance

Enumera os tipos de definições de captura que descrevem um ficheiro de áudio.

Enumerações
MICROPHONE_DISTANCE_UNSPECIFIED O tipo de áudio é desconhecido.
NEARFIELD O áudio foi captado por um microfone colocado perto. Por exemplo, telemóvel, ditafone ou microfone de mão. Geralmente, se o altifalante estiver a 1 metro do microfone.
MIDFIELD O orador estiver a uma distância máxima de 3 metros do microfone.
FARFIELD O orador está a mais de 3 metros do microfone.

OriginalMediaType

O suporte original no qual a voz foi gravada.

Enumerações
ORIGINAL_MEDIA_TYPE_UNSPECIFIED Tipo de suporte original desconhecido.
AUDIO Os dados de voz são uma gravação de áudio.
VIDEO Os dados de voz gravados originalmente num vídeo.

RecordingDeviceType

O tipo de dispositivo com o qual a voz foi gravada.

Enumerações
RECORDING_DEVICE_TYPE_UNSPECIFIED O dispositivo de gravação é desconhecido.
SMARTPHONE A voz foi gravada num smartphone.
PC A voz foi gravada através de um computador pessoal ou um tablet.
PHONE_LINE A voz foi gravada através de uma linha telefónica.
VEHICLE A voz foi gravada num veículo.
OTHER_OUTDOOR_DEVICE A voz foi gravada no exterior.
OTHER_INDOOR_DEVICE A voz foi gravada no interior.