RecognitionConfig

Proporciona información al reconocedor que especifica cómo procesar la solicitud.

Representación 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 datos de audio enviados en todos los mensajes de RecognitionAudio. Este campo es opcional para los archivos de audio FLAC y WAV y es obligatorio para todos los demás formatos de audio. Para obtener más información, consulta AudioEncoding.

sampleRateHertz

integer

Tasa de muestreo en hercios de los datos de audio que se enviaron en todos los mensajes RecognitionAudio. Estos son los valores válidos: desde 8,000 hasta 48,000. 16,000 es el valor óptimo. Para obtener los mejores resultados, establece la tasa de muestreo de la fuente de audio en 16,000 Hz. Si esto no es posible, usa la tasa de muestreo nativa de la fuente de audio (en lugar de volver a muestrear). Este campo es opcional para los archivos de audio FLAC y WAV, pero es obligatorio para todos los demás formatos de audio. Para obtener más información, consulta AudioEncoding.

audioChannelCount

integer

La cantidad de canales en los datos de audio de entrada. SOLO configura esta opción para el reconocimiento MULTICANAL. Los valores válidos para LINEAR16, OGG_OPUS y FLAC son 1-8. El valor válido para MULAW, AMR, AMR_WB y SPEEX_WITH_HEADER_BYTE es solo 1. Si es 0 o se omite, se establece de manera predeterminada en un canal (mono). Nota: Solo reconocemos el primer canal de forma predeterminada. Para realizar un reconocimiento independiente en cada canal, establece enableSeparateRecognitionPerChannel en “true”.

enableSeparateRecognitionPerChannel

boolean

Debe establecerse en true de forma explícita y audioChannelCount > 1 para que cada canal se reconozca por separado. El resultado del reconocimiento contendrá un campo channelTag para indicar a qué canal pertenece ese resultado. Si no es “true”, solo reconoceremos el primer canal. La solicitud se factura de forma acumulativa para todos los canales reconocidos: audioChannelCount multiplicado por la duración del audio.

languageCode

string

Obligatorio. El idioma del audio proporcionado como una etiqueta de idioma BCP-47. Ejemplo: “en_US”. Consulta Idiomas admitidos para obtener una lista de los códigos de idioma que se admiten por el momento.

alternativeLanguageCodes[]

string

Es una lista de hasta 3 etiquetas de idioma BCP-47 adicionales que indican los posibles idiomas alternativos del audio proporcionado. Consulta Idiomas admitidos para obtener una lista de los códigos de idioma que se admiten por el momento. Si se indican idiomas alternativos, el resultado del reconocimiento contendrá el reconocimiento en el idioma más probable detectado, incluido el idioma principal languageCode. El resultado del reconocimiento incluirá la etiqueta de idioma del idioma detectado en el audio. Nota: Esta función solo es compatible con los casos de uso de Comandos por voz y Búsqueda por voz, y el rendimiento puede variar en otros casos de uso (p.ej., la transcripción de llamadas telefónicas).

maxAlternatives

integer

Es la cantidad máxima de hipótesis de reconocimiento que se devolverán. Específicamente, la cantidad máxima de mensajes SpeechRecognitionAlternative dentro de cada SpeechRecognitionResult. Es posible que el servidor devuelva menos de maxAlternatives. Los valores válidos son de 0 a 30. Un valor de 0 o 1 devolverá un máximo de uno. Si se omite, se devolverá un máximo de uno.

profanityFilter

boolean

Si se establece en true, el servidor intentará filtrar el lenguaje obsceno y reemplazará todos los caracteres, excepto el inicial, de cada palabra filtrada por asteriscos, p.ej., "p***". Si se configura en false o se omite, no se filtrará el lenguaje obsceno.

adaptation

object (SpeechAdaptation)

La configuración de adaptación de voz mejora la precisión del reconocimiento de voz. Para obtener más información, consulta la documentación sobre la adaptación de voz. Cuando se establece la adaptación de voz, esta reemplaza el campo speechContexts.

transcriptNormalization

object (TranscriptNormalization)

Opcional. Usa la normalización de transcripciones para reemplazar automáticamente partes de la transcripción por las frases que elijas. En el caso de StreamingRecognize, esta normalización solo se aplica a las transcripciones parciales estables (estabilidad > 0.8) y a las transcripciones finales.

speechContexts[]

object (SpeechContext)

Es un array de SpeechContext. Es un medio para proporcionar contexto y ayudar al reconocimiento de voz. Para obtener más información, consulta adaptación de voz.

enableWordTimeOffsets

boolean

Si es true, el resultado principal incluye una lista de palabras y las compensaciones de hora de inicio y finalización (marcas de tiempo) de esas palabras. Si es false, no se devuelve información sobre la compensación de tiempo a nivel de palabra. El valor predeterminado es false.

enableWordConfidence

boolean

Si es true, el resultado principal incluye una lista de palabras y la confianza en esas palabras. Si es false, no se devuelve información de confianza a nivel de palabra. El valor predeterminado es false.

enableAutomaticPunctuation

boolean

Si se establece como "verdadero", agrega puntuación a las hipótesis de los resultados de reconocimiento. Esta función solo está disponible en algunos idiomas. Establecer este parámetro para solicitudes en otros idiomas no tiene ningún efecto. El valor predeterminado "false" no agrega puntuación a las hipótesis de los resultados.

enableSpokenPunctuation

boolean

Es el comportamiento de puntuación por voz para la llamada. Si no se configura, se usa el comportamiento predeterminado según el modelo elegido (p. ej., command_and_search habilitará la puntuación por voz de forma predeterminada). Si se establece como "verdadero", reemplaza la puntuación por voz por los símbolos correspondientes en la solicitud. Por ejemplo, "cómo estás signo de interrogación" se convierte en "¿Cómo estás?". Consulta https://cloud.google.com/speech-to-text/docs/spoken-punctuation para obtener asistencia. Si es "false", no se reemplaza la puntuación hablada.

enableSpokenEmojis

boolean

Es el comportamiento de los emojis por voz para la llamada. Si no se configura, se usa el comportamiento predeterminado según el modelo elegido. Si se establece en "verdadero", se agrega el formato de emojis por voz en la solicitud. De este modo, se reemplazarán los emojis por voz por los símbolos Unicode correspondientes en la transcripción final. Si es "false", no se reemplazan los emojis hablados.

enableSpeakerDiarization
(deprecated)

boolean

Si es "true", habilita la detección de interlocutor para cada palabra reconocida en la alternativa principal del resultado de reconocimiento con una speakerLabel proporcionada en WordInfo. Nota: Usa diarizationConfig en su lugar.

diarizationSpeakerCount
(deprecated)

integer

Si se configura, especifica la cantidad estimada de oradores en la conversación. El valor predeterminado es "2". Se ignora, a menos que enableSpeakerDiarization esté configurado como verdadero. Nota: Usa diarizationConfig en su lugar.

diarizationConfig

object (SpeakerDiarizationConfig)

Configuración para habilitar la identificación de interlocutores y establecer parámetros adicionales con el objetivo de que la identificación se adapte mejor a tu aplicación. Nota: Cuando esta opción está habilitada, enviamos todas las palabras desde el comienzo del audio para la alternativa principal en cada respuesta de STREAMING consecutiva. Esto se hace para mejorar nuestras etiquetas de orador a medida que nuestros modelos aprenden a identificar a los oradores en la conversación con el tiempo. En el caso de las solicitudes que no son de transmisión, los resultados de la diarización solo se proporcionarán en la alternativa superior del SpeechRecognitionResult FINAL.

metadata

object (RecognitionMetadata)

Son los metadatos relacionados con esta solicitud.

model

string

Qué modelo debes seleccionar para la solicitud determinada Selecciona el modelo que mejor se adapte a tu dominio para obtener mejores resultados. Si no se especifica un modelo de forma explícita, seleccionamos de forma automática un modelo basado en los parámetros de RecognitionConfig.

Modelo Descripción

latest_long

Es ideal para contenido de formato largo, como contenido multimedia o conversaciones.

latest_short

Es la mejor opción para contenido de formato corto, como comandos o expresiones únicas de voz dirigida.

command_and_search

La mejor opción para consultas cortas, como los comandos por voz o la búsqueda por voz.

phone_call

La mejor opción para audios que provienen de una llamada telefónica (generalmente, grabada con una tasa de muestreo de 8 kHz).

video

La mejor opción para audios que pertenecen a un video o que incluyen a varios interlocutores. Idealmente, este audio está grabado con una tasa de muestreo de 16 kHz o superior. Este es un modelo Premium que cuesta más que la tarifa estándar.

default

La mejor opción para los audios que no pertenecen a ninguno de los modelos específicos. Por ejemplo, los audios largos. Idealmente, este audio es de alta fidelidad y está grabado con una tasa de muestreo de 16 khz o superior.

medical_conversation

La mejor opción para audios provenientes de una conversación entre un proveedor de atención médica y un paciente.

medical_dictation

La mejor opción para audios que provienen de notas de dictado de un proveedor de atención médica.

useEnhanced

boolean

Se establece en verdadero para usar un modelo mejorado para el reconocimiento de voz. Si useEnhanced se establece como verdadero y el campo model no se establece, se elige un modelo mejorado adecuado si existe uno para el audio.

Si useEnhanced es verdadero y no existe una versión mejorada del modelo especificado, la voz se reconoce con la versión estándar del modelo especificado.

AudioEncoding

La codificación de los datos de audio que se envía en la solicitud.

Todas las codificaciones admiten solo audio de 1 canal (mono), a menos que se configuren los campos audioChannelCount y enableSeparateRecognitionPerChannel.

Para obtener mejores resultados, la fuente de audio debe capturarse y transmitirse con una codificación sin pérdida (FLAC o LINEAR16). La precisión del reconocimiento de voz se puede reducir si se usan códecs con pérdida para capturar o transmitir audio, especialmente si hay ruido de fondo. Los códecs con pérdida incluyen MULAW, AMR, AMR_WB, OGG_OPUS, SPEEX_WITH_HEADER_BYTE, MP3 y WEBM_OPUS.

Los formatos de archivo de audio FLAC y WAV incluyen un encabezado que describe el contenido de audio incluido. Puedes solicitar el reconocimiento de archivos WAV que contengan audio codificado en LINEAR16 o MULAW. Si envías el formato de archivo de audio FLAC o WAV en tu solicitud, no necesitas especificar un AudioEncoding; el formato de codificación de audio se determina a partir del encabezado del archivo. Si especificas un AudioEncoding cuando envías audio FLAC o WAV, la configuración de codificación debe coincidir con la codificación que se describe en el encabezado de audio. de lo contrario, la solicitud muestra un código de error google.rpc.Code.INVALID_ARGUMENT.

Enums
ENCODING_UNSPECIFIED No especificado.
LINEAR16 Son las muestras de little-endian de 16 bits firmadas y sin comprimir (PCM lineal).
FLAC FLAC (códec de audio gratuito sin pérdida) es la codificación recomendada debido a que no tiene pérdida, por lo que el reconocimiento no se ve comprometido, y requiere solo la mitad del ancho de banda de LINEAR16. La codificación de transmisión FLAC admite muestras de 16 y 24 bits. Sin embargo, no todos los campos en STREAMINFO son compatibles.
MULAW Las muestras de 8 bits que comprimen las muestras de audio de 14 bits mediante la ley PCMU/mu-law de G.711.
AMR El códec adaptable de banda estrecha de varias tasas. sampleRateHertz debe ser 8,000.
AMR_WB El códec adaptable de banda ancha de varias tasas. sampleRateHertz debe ser 16,000.
OGG_OPUS Los marcos de audio codificados en Opus en un contenedor Ogg (OggOpus). sampleRateHertz debe ser de 8,000, 12,000, 16,000, 24,000 o 48,000.
SPEEX_WITH_HEADER_BYTE Aunque no se recomienda el uso de codificaciones con pérdidas, se prefiere OGG_OPUS por sobre la codificación Speex si se requiere una codificación de tasa de bits muy baja. La codificación Speex compatible con la API de Cloud Speech tiene un byte de encabezado en cada bloque, como en el tipo de MIME audio/x-speex-with-header-byte. Es una variante de la codificación Speex RTP definida en RFC 5574. La transmisión es una secuencia de bloques, un bloque por paquete RTP. Cada bloque comienza con un byte que contiene la longitud del bloque, en bytes, seguido de uno o más marcos de datos Speex, que se rellenan con un número entero de bytes (octetos) como se especifica en RFC 5574. En otras palabras, cada encabezado RTP se reemplaza por un solo byte que contiene la longitud del bloque. Solo se admite banda ancha de Speex. sampleRateHertz debe ser 16,000.
MP3 Audio en MP3 La codificación MP3 es una función beta y solo está disponible en v1p1beta1. Admite todas las tasas de bits de MP3 estándar (que van desde 32 hasta 320 kbps). Cuando se usa esta codificación, sampleRateHertz debe coincidir con la tasa de muestreo del archivo que se usa.
WEBM_OPUS Marcos de audio codificados en Opus en un contenedor WebM (WebM). sampleRateHertz debe ser de 8,000, 12,000, 16,000, 24,000 o 48,000.
ALAW Las muestras de 8 bits que comprimen las muestras de audio de 13 bits con la ley PCMU/a-law de G.711.

SpeechAdaptation

Es la configuración de la adaptación de voz.

Representación JSON
{
  "phraseSets": [
    {
      object (PhraseSet)
    }
  ],
  "phraseSetReferences": [
    string
  ],
  "customClasses": [
    {
      object (CustomClass)
    }
  ],
  "abnfGrammar": {
    object (ABNFGrammar)
  }
}
Campos
phraseSets[]

object (PhraseSet)

Es una colección de conjuntos de frases. Para especificar las sugerencias intercaladas, deja en blanco el campo name del conjunto de frases y completa el resto de los campos. Cualquier conjunto de frases puede usar cualquier clase personalizada.

phraseSetReferences[]

string

Es una colección de nombres de recursos de conjuntos de frases para usar.

customClasses[]

object (CustomClass)

Es una colección de clases personalizadas. Para especificar las clases intercaladas, deja en blanco el name de la clase y completa el resto de sus campos, asignándole un customClassId único. Haz referencia a la clase definida intercalada en las sugerencias de frases por su customClassId.

abnfGrammar

object (ABNFGrammar)

La forma Backus-Naur aumentada (ABNF) es una notación de gramática estandarizada que se compone de un conjunto de reglas de derivación. Consulta las especificaciones en https://www.w3.org/TR/speech-grammar.

ABNFGrammar

Representación JSON
{
  "abnfStrings": [
    string
  ]
}
Campos
abnfStrings[]

string

Todas las declaraciones y reglas de una gramática ABNF divididas en varias cadenas que terminarán concatenadas.

TranscriptNormalization

Es la configuración de normalización de la transcripción. Usa la normalización de transcripciones para reemplazar automáticamente partes de la transcripción por las frases que elijas. En el caso de StreamingRecognize, esta normalización solo se aplica a las transcripciones parciales estables (estabilidad > 0.8) y a las transcripciones finales.

Representación JSON
{
  "entries": [
    {
      object (Entry)
    }
  ]
}
Campos
entries[]

object (Entry)

Es una lista de entradas de reemplazo. Realizaremos el reemplazo con una entrada a la vez. Por ejemplo, la segunda entrada en ["cat" => "dog", "mountain cat" => "mountain dog"] nunca se aplicará porque siempre procesaremos la primera entrada antes que esta. Se pueden ingresar hasta 100 entradas.

Entrada

Es un objeto de configuración de reemplazo único.

Representación JSON
{
  "search": string,
  "replace": string,
  "caseSensitive": boolean
}
Campos
search

string

Qué se reemplazará. La longitud máxima es de 100 caracteres.

replace

string

Es el valor con el que se reemplazará. La longitud máxima es de 100 caracteres.

caseSensitive

boolean

Indica si la búsqueda distingue mayúsculas de minúsculas.

SpeechContext

Proporciona "pistas" al reconocedor de voz para favorecer palabras y frases específicas en los resultados.

Representación JSON
{
  "phrases": [
    string
  ],
  "boost": number
}
Campos
phrases[]

string

Una lista de strings que contienen palabras y frases “sugerencias” para que el reconocimiento de voz las reconozca. Esto se puede usar para mejorar la precisión de palabras y frases específicas, por ejemplo, si el usuario suele decir comandos específicos. También se puede usar para agregar palabras adicionales al vocabulario del reconocedor. Consulta los límites de uso.

Los elementos de la lista también se pueden establecer en clases para grupos de palabras que representan conceptos comunes que ocurren en el lenguaje natural. Por ejemplo, en lugar de proporcionar sugerencias de frases para cada mes del año, usar la clase $MONTH mejora la probabilidad de transcribir correctamente el audio que incluye meses.

boost

number

Sugerencias potenciadas Un valor positivo aumentará la probabilidad de que se reconozca una frase específica por sobre otras frases de sonido similar. Cuanto mayor sea el refuerzo, mayor será la probabilidad de que se produzca un falso positivo. Los valores de refuerzo negativos corresponderían a la eliminación del sesgo. No se habilitó la reducción del sesgo, por lo que simplemente se ignorará el refuerzo negativo. Si bien boost puede aceptar una amplia variedad de valores positivos, la mayoría de los casos de uso se satisfacen mejor con valores entre 0 y 20. Te recomendamos que uses un enfoque de búsqueda binaria para encontrar el valor óptimo para tu caso de uso.

SpeakerDiarizationConfig

Es la configuración para habilitar la identificación de interlocutores.

Representación JSON
{
  "enableSpeakerDiarization": boolean,
  "minSpeakerCount": integer,
  "maxSpeakerCount": integer,
  "speakerTag": integer
}
Campos
enableSpeakerDiarization

boolean

Si es "true", habilita la detección de interlocutor para cada palabra reconocida en la alternativa principal del resultado de reconocimiento con una speakerLabel proporcionada en WordInfo.

minSpeakerCount

integer

Cantidad mínima de oradores en la conversación. Este rango te brinda más flexibilidad, ya que permite que el sistema determine automáticamente la cantidad correcta de oradores. Si no se establece, el valor predeterminado es 2.

maxSpeakerCount

integer

Cantidad máxima de oradores en la conversación. Este rango te brinda más flexibilidad, ya que permite que el sistema determine automáticamente la cantidad correcta de oradores. Si no se establece, el valor predeterminado es 6.

speakerTag
(deprecated)

integer

Solo salida. No usuado.

RecognitionMetadata

Es la descripción de los datos de audio que se reconocerán.

Representación 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)

Es el caso de uso que describe con mayor precisión el contenido de audio que se reconocerá.

industryNaicsCodeOfAudio

integer (uint32 format)

Es la vertical de la industria a la que más se aplica esta solicitud de reconocimiento de voz. Esto es lo que mejor indica los temas que se incluyen en el audio. Usa el código NAICS de 6 dígitos para identificar el sector vertical de la industria. Consulta https://www.naics.com/search/.

microphoneDistance

enum (MicrophoneDistance)

Es el tipo de audio que describe con mayor precisión el audio que se reconoce.

originalMediaType

enum (OriginalMediaType)

Es el medio original en el que se grabó el discurso.

recordingDeviceType

enum (RecordingDeviceType)

Es el tipo de dispositivo con el que se grabó el discurso.

recordingDeviceName

string

Dispositivo usado para hacer la grabación. Por ejemplo, "Nexus 5X", "Polycom SoundStation IP 6000", "POTS", "VoIP" o "Micrófono cardioide".

originalMimeType

string

Tipo MIME del archivo de audio original. Por ejemplo, audio/m4a, audio/x-alaw-basic, audio/mp3 y audio/3gpp. En http://www.iana.org/assignments/media-types/media-types.xhtml#audio, se mantiene una lista de los tipos de MIME de audio posibles.

obfuscatedId
(deprecated)

string (int64 format)

ID ofuscado (con protección de la privacidad) del usuario, para identificar el número de usuarios únicos que usan el servicio.

audioTopic

string

Es la descripción del contenido. P. ej., "Grabaciones de las audiencias de la Corte Suprema Federal de 2012".

InteractionType

Son las categorías de casos de uso con las que se puede describir la solicitud de reconocimiento de audio.

Enums
INTERACTION_TYPE_UNSPECIFIED El caso de uso es desconocido o es algo distinto de uno de los otros valores que se indican a continuación.
DISCUSSION Varias personas en una conversación o debate Por ejemplo, en una reunión con dos o más personas que participan de forma activa. Por lo general, todas las personas que hablan principalmente estarían en la misma habitación (si no es así, consulta PHONE_CALL).
PRESENTATION Una o más personas dando una conferencia o una presentación a otras, casi sin interrupciones.
PHONE_CALL Llamada telefónica o videoconferencia en la que participan activamente dos o más personas que no están en la misma habitación
VOICEMAIL Mensaje grabado para que lo escuche otra persona.
PROFESSIONALLY_PRODUCED Audio producido de forma profesional (p. ej., Programa de TV, podcast).
VOICE_COMMAND Transcribir comandos por voz, por ejemplo, para controlar un dispositivo
DICTATION Transcribir voz a texto para crear un documento escrito, como un mensaje de texto, un correo electrónico o un informe

MicrophoneDistance

Enumera los tipos de parámetros de configuración de captura que describen un archivo de audio.

Enums
MICROPHONE_DISTANCE_UNSPECIFIED No se conoce el tipo de audio.
NEARFIELD El audio se capturó con un micrófono colocado cerca. Por ejemplo, un teléfono, un dictáfono o un micrófono de mano. Por lo general, si la bocina está a 1 metro del micrófono.
MIDFIELD El interlocutor si está a menos de 3 metros del micrófono
FARFIELD El altavoz está a más de 3 metros del micrófono.

OriginalMediaType

Es el medio original en el que se grabó el discurso.

Enums
ORIGINAL_MEDIA_TYPE_UNSPECIFIED Tipo de contenido multimedia original desconocido.
AUDIO Los datos de voz son una grabación de audio.
VIDEO Son los datos de voz que se grabaron originalmente en un video.

RecordingDeviceType

Es el tipo de dispositivo con el que se grabó el discurso.

Enums
RECORDING_DEVICE_TYPE_UNSPECIFIED Se desconoce el dispositivo de grabación.
SMARTPHONE El discurso se grabó en un smartphone.
PC El discurso se grabó con una computadora personal o una tablet.
PHONE_LINE El discurso se grabó a través de una línea telefónica.
VEHICLE Se grabó voz en un vehículo.
OTHER_OUTDOOR_DEVICE La voz se grabó al aire libre.
OTHER_INDOOR_DEVICE La voz se grabó en interiores.