Detección de actividad de voz
El servicio IBM Watson® Speech to Text ofrece dos parámetros de detección de actividad de voz para controlar qué audio se utiliza para el reconocimiento de voz. Los parámetros especifican la sensibilidad del servicio a los sucesos que no son de voz y al ruido de fondo. Los parámetros son independientes: puede utilizarlos de forma individual o conjunta.
La detección de actividad de voz recibe soporte para la mayoría de los modelos de lenguaje. Para obtener más información, consulte Soporte de modelos de lenguaje.
Cómo funciona la detección de actividad del habla
La detección de actividad de voz consume la secuencia de audio de entrada y determina las partes de la secuencia que se van a pasar para el reconocimiento de voz. El reconocimiento de voz se ve afectado negativamente por las voces y el ruido de fondo, lo que puede provocar que el servicio transcriba las palabras erróneas, genere palabras donde no las hay y omita palabras que forman parte del audio de entrada. La característica de detección de actividad de voz puede ayudar a garantizar que solo se procese el audio relevante para el reconocimiento de voz.
Puede utilizar la característica para controlar los siguientes aspectos del reconocimiento de voz:
- Suprimir voces de fondo. Los datos del centro de soporte al cliente a menudo contienen información cruzada de otros agentes. Puede definir un umbral de volumen por debajo del cual se pasan por alto las voces de fondo.
- Suprimir ruido de fondo. Algunos audios, como la voz grabada en una fábrica, pueden contener un alto nivel de ruido de fondo. Puede definir un umbral por debajo del cual se pasa por alto el ruido de fondo.
- Suprimir sucesos de audio que no sean de voz. La música de fondo y los sucesos de tono, como el audio que se reproduce a un cliente que está esperando en una línea telefónica, pueden provocar un reconocimiento inexacto. El silencio también puede dar lugar a errores de transcripción o de reconocimiento innecesario. Puede definir un umbral por debajo del cual se pasan por alto este tipo de sucesos.
De forma predeterminada, la detección de actividad de voz se configura de modo que proporcione un rendimiento óptimo para el caso general de cada modelo. Para casos específicos, es posible que los valores predeterminados no sean los óptimos y den lugar a una transcripción lenta o a inserciones y supresiones de palabras. Se recomienda experimentar con distintos valores para determinar los que mejor se ajustan a su tipo de audio.
Sensibilidad del detector de voz
Utilice el parámetro speech_detector_sensitivity
para ajustar la sensibilidad de la detección de actividad del habla. Utilice el parámetro para suprimir las inserciones de palabras procedentes de música, tos y otros sucesos que
no sean de voz. El servicio sesga el audio que pasa para el reconocimiento de voz mediante la evaluación de porciones del audio de entrada frente a modelos anteriores de actividad de habla y de no habla.
Especifique un valor flotante comprendido entre 0.0 y 1.0. El valor predeterminado es 0.5, lo que proporciona un equilibrio razonable para el nivel de sensibilidad. El valor 0.0 suprime todo el audio (no se transcribe la voz). El valor 1.0 no
suprime ningún audio (la sensibilidad a la detección de voz está inhabilitada). Los valores aumentan en una curva monótona de sensibilidad frente a voz. La especificación de uno o dos decimales de precisión (por ejemplo, 0.55
)
suele ser más que suficiente.
Este parámetro puede afectar tanto a la calidad como a la latencia del reconocimiento de voz:
- Los valores más bajos pueden reducir la latencia porque se pasa menos audio potencialmente para el reconocimiento de voz. Sin embargo, un valor bajo puede descartar porciones de audio que contienen una voz real, perdiendo contenido viable de la transcripción.
- Los valores más altos pueden aumentar la latencia porque se pasa más audio potencialmente para el reconocimiento de voz. Sin embargo, un valor alto puede pasar porciones de audio que contienen sucesos que no son de habla, añadiendo contenido falso a la transcripción.
Ejemplo de sensibilidad del detector de voz
La siguiente solicitud de ejemplo especifica el valor 0.6 para el parámetro speech_detector_sensitivity
con la interfaz HTTP síncrona. El servicio reconoce un número ligeramente superior de sucesos potenciales que no son de habla
de los que reconocería de forma predeterminada.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?speech_detector_sensitivity=0.6"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?speech_detector_sensitivity=0.6"
Supresión de audio de fondo
Utilice el parámetro background_audio_suppression
para suprimir el audio de fondo basándose en su volumen para evitar que se transcriba como discurso. Utilice el parámetro para suprimir las conversaciones secundarias o el ruido
de fondo. Por ejemplo, utilice este parámetro cuando haya un sonido de fondo relativamente estable y silencioso (de baja energía de señal). Puesto que este tipo de ruido puede interferir en la transcripción, puede generar contenido en partes
en que el audio no contiene voz real.
Especifique un valor flotante comprendido entre 0.0 y 1.0. El valor predeterminado es 0.0, lo que hace que no haya supresión (la supresión de audio de fondo está inhabilitada). El valor 0.5 proporciona un nivel razonable de supresión de audio
para uso general. El valor 1.0 suprime todo el audio (no se transcribe la voz). Los valores aumentan en una curva monótona. La especificación de uno o dos decimales de precisión (por ejemplo, 0.55
) suele ser más que suficiente.
Este parámetro también puede afectar tanto a la calidad como a la latencia del reconocimiento de voz. No obstante, como la supresión de ruido de fondo está inhabilitada de forma predeterminada, el hecho de establecer el parámetro en un valor mayor que cero solo puede mejorar la latencia. Sin embargo, valores más altos pueden reducir gradualmente el audio que se pasa para el reconocimiento de voz, lo que puede provocar que se pierda contenido válido de la transcripción.
Ejemplo de supresión de audio de fondo
La siguiente solicitud de ejemplo especifica el valor 0.5 para el parámetro background_audio_suppression
con la interfaz HTTP síncrona. El servicio suprime un nivel razonable de audio de fondo.
IBM Cloud
curl -X POST -u "apikey:{apikey}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?background_audio_suppression=0.5"
IBM Cloud Pak for Data IBM Software Hub
curl -X POST \
--header "Authorization: Bearer {token}" \
--header "Content-Type: audio/flac" \
--data-binary @{path}audio-file1.flac \
"{url}/v1/recognize?background_audio_suppression=0.5"
Soporte de modelos de lenguaje
Los parámetros speech_detector_sensitivity
y background_audio_suppression
están soportados para su uso con los siguientes modelos de idioma:
- Para modelos de voz grandes y modelos de próxima generación, los parámetros están soportados con todos los modelos.
- Para modelos de la generación anterior, los parámetros están soportados con la mayoría de los modelos. En este momento, los modelos siguientes no dan soporte a la detección de actividad del habla. Los parámetros se pasan
por alto si se utilizan con estos modelos.
- Modelo de banda ancha para árabe (
ar-MS_BroadbandModel
) - Modelo de banda ancha en portugués de Brasil (
pt-BR_BroadbandModel
) - Modelo de banda ancha chino (
zh-CN_BroadbandModel
) - Modelo de banda estrecha chino (
zh-CN_NarrowbandModel
) - Modelo de banda ancha alemán (
de-DE_BroadbandModel
)
- Modelo de banda ancha para árabe (