Captura de voz

Introducción

El Componente tratado en el documento actual recibe el nombre de Voice Component. Éste se encarga de realizar la captura de voz del usuario y la posterior extracción de las plantillas correspondientes. Sus principales funcionalidades son las siguientes:

  • Entrada de cierto número de frases para posteriormente leer cada una en un paso.

  • Gestión interna del micrófono.

  • Gestión de permisos.

  • Análisis de los silencios.

  • Análisis del progreso.

  • Asistente en los procesos de captura.

  • Generación de las plantillas con las características de la voz y puntuaciones.

En el apartado de Lanzamiento simplificado se detallan los pasos necesarios para la integración básica del SDK. En esta sección se añade la información para el lanzamiento de este componente.

Dependencias

Para evitar conflictos y problemas de compatibilidad, en caso de querer instalar el componente en un proyecto que contenga una versión antigua de las librerías de Facephi (Widgets), éstos deberán eliminarse por completo antes de la instalación de los componentes de la SDKMobile.

Cocoapods

pod 'FPHISDKMainComponent', '~> 2.3.0'
  • Para instalar el componente actual deberá incluirse la siguiente entrada en el Podfile de la aplicación:

  • Una vez instaladas las dependencias, se podrá hacer uso de las diferentes funcionalidades del componente.

SPM

  • Las dependencias obligatorias que deberán haberse instalado previamente son:

  • Para instalar el componente de Selphid deberá incluirse en los módulos del proyecto:

Controladores disponibles

Controlador

Descripción

VoiceController

Controlador principal de captura de voz

Lanzamiento simplificado

Configuración básica

Para lanzar el componente actual, se deberá crear un objeto VoiceConfigurationData que será la configuración del controlador del componente.

La configuración básica necesaria para es la siguiente:

Se puede editar el listado de frases que se van a mostrar al usuario.

Recepción del resultado

Los controllers devolverán la información necesaria en formato SdkResult.

Recepción de errores

En la parte del error, dispondremos del enumerado común ErrorType:

  • VOC_CANCEL_BY_USER: El usuario ha cancelado el proceso

  • VOC_CANCEL_LAUNCH: Se ha hecho una cancelación general del SDK

  • VOC_COMPONENT_LICENSE_ERROR: La licencia del componente no es correcta

  • VOC_EMPTY_LICENSE: El String de licencia está vacío

  • VOC_INITIALIZATION_ERROR: Error de inicialización

  • VOC_INTERNAL_LICENSE_ERROR: Error interno relacionado con la licencia

  • VOC_NO_DATA_ERROR: Los datos de entrada son nulos

  • VOC_OPERATION_NOT_CREATED: No hay ninguna operación en curso

  • VOC_PERMISSION_DENIED: El usuario ha rechazado los permisos

  • VOC_TIMEOUT: Timeout en el proceso

Recepción de ejecución correcta - data

En la parte de data, dispondremos de la clase VoiceResult.

El campo data es variable y dependerá de qué componente se ha devuelto el resultado. En el caso de este componente, los campos devueltos son los siguientes:

audios

Contiene un listado de audios capturados en formato ByteArray.

tokenizedAudios

Contiene el listado de audios capturados en formato tokenizado de Facephi.

Información avanzada

Este apartado amplía la información del componente.

Configuración avanzada del componente

Para configurar el componente actual, una vez inicializado, se deberá crear un objeto

VoiceConfigurationData y pasarlo como parámetro al SDKController durante el lanzamiento del componente.

En el siguiente apartado se mostrarán los campos que forman parte de esta clase y para qué se utiliza cada uno de ellos.

phrases

Indica la/las frases necesarias para capturar.

vibrationEnabled

Indica la activación de la vibración cuando el widget termine satisfactoriamente.

showTutorial

Indica si el componente activa la pantalla de tutorial. En esta vista se explica de forma intuitiva cómo se realiza la captura.

extractionTimeout

Establece el tiempo máximo que se puede realizar la captura.

showDiagnostic

Mostrar pantallas de diagnóstico al final del proceso

enableQualityCheck

Activa o desactiva la comprobación de calidad del audio. Se recomienda tenerla siempre activa.

showPreviousTip

Muestra una pantalla previa al lanzamiento de la captura con información sobre el proceso a realizar y un botón para el lanzamiento.

Personalización del componente

Aparte de los cambios que se pueden realizar a nivel de SDK (los cuales se explican en el documento de Personalización del SDK), este componente en concreto permite la modificación de su interfaz.

Textos

Los textos pueden ser customizados sobreescribiendo el valor de las siguientes claves en un Localizable.strings. Las claves que contienen el sufijo _alt son los literales utilizados en las etiquetas de accesibilidad necesarias para la funcionalidad de voice over.

Name

Value

voice_component_success_records_message

%d/%d grabaciones exitosas

voice_component_read_message

Di en voz alta:

voice_component_speech_message

Habla claro y cercano al micrófono

voice_component_speech_noisy_message

Hay demasiado ruido. Intenta estar en un entorno silencioso.

voice_component_success_message

Grabación registrada

voice_component_phrase_generic_error_message

Por favor, repite la frase.

voice_component_phrase_long_silence_message

Habla durante 2 segundos o más.

voice_component_phrase_long_reverberation_message

Demasiado eco. Prueba en otro entorno.

voice_component_tip_title

Reconocimiento de voz

voice_component_tip_message

Habla claro y en voz alta.\n\nAsegúrate de estar en un entorno silencioso

voice_component_tip_button

COMENZAR

voice_component_exit_alert_accept

Aceptar

voice_component_exit_alert_cancel

Cancel

voice_component_exit_alert_question

¿Seguro que finalizar el proceso?

voice_component_multiple_speakers_error_message

Se ha detectado voces de fondo. Asegúrate de estar en un entorno silencioso

voice_component_short_recorded_speech_message

La grabación ha sido muy corta.

voice_component_quality_check_error_message

La calidad del audio es insuficiente.

voice_component_close_button_alt

Cerrar

voice_component_logo_alt

Logo

voice_component_tip_anim_alt

voice_component_timeout_title

Tiempo superado

voice_component_timeout_desc

No hemos podido identificarte. Inténtalo de nuevo.

De este modo, si se desea modificar por ejemplo el texto “COMENZAR” de la clave voice_component_tip_button_message para el idioma es-MX, se deberá ir al archivo Localizable.strings de la carpeta es-MX.lproj si es que existe (si no, se deberá crear) y ahí, añadir:

"voice_component_tip_button_message"="EMPEZAR";

Si un mensaje no se especifica en el fichero del idioma, este se rellenará con el mensaje por defecto.

Animaciones

Las animaciones a usar se inicializan similarmente en la variable animations con un diccionario, teniendo como valor una string con el nombre de la animación que se encuentre en xcassets que se desee usar.

Last updated