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