For the complete documentation index, see llms.txt. This page is also available as Markdown.

Captura de voz - VoiceID

Este componente precisa de uma versão mínima do iOS13

Introdução

O Componente tratado no documento atual recebe o nome de Componente de voz. Ele se encarrega de realizar a captura de voz do usuário e a posterior extração dos templates correspondentes. Suas principais funcionalidades são as seguintes:

  • Entrada de um certo número de frases para depois ler cada uma em uma etapa.

  • Gerenciamento interno do microfone.

  • Gerenciamento de permissões.

  • Análise dos silêncios.

  • Análise do progresso.

  • Assistente nos processos de captura.

  • Geração dos templates com as características da voz e pontuações.

Na seção de Lançamento simplificado são detalhadas as etapas necessárias para a Integração básica do SDK. Nesta seção, são adicionadas as informações para o lançamento deste componente.

Dependências

Para evitar conflitos e problemas de compatibilidade, caso queira instalar o componente em um projeto que contenha uma versão antiga das bibliotecas da Facephi (Widgets), eles deverão ser totalmente removidos antes da instalação dos componentes da SDKMobile.

CocoaPods

pod 'FPHISDKMainComponent', '~> $VERSION'
  • Para instalar o componente atual, deverá ser incluída a seguinte entrada no Podfile da aplicação:

  • Uma vez instaladas as dependências, será possível usar as diferentes funcionalidades do componente.

SPM

  • As dependências obrigatórias que deverão ter sido instaladas previamente são:

  • Para instalar o componente de Selphid, deverá ser incluído nos módulos do projeto:

Permissões

No aplicativo cliente onde os componentes serão integrados, é necessário incorporar o seguinte elemento no arquivo Info.plist:

Controladores disponíveis

Controlador

Descrição

VoiceController

Controlador principal de captação de voz

Lançamento simplificado

Configuração básica

Para lançar o componente atual, será necessário criar um objeto VoiceConfigurationData que será a configuração do controlador do componente.

A configuração básica necessária para isso é a seguinte:

É possível editar a lista de frases que será exibida ao usuário.

Recebimento do resultado

Os controllers devolverão a informação necessária no formato SdkResult.

Recebimento de erros

Na parte de erro, teremos o enum comum ErrorType:

  • VOC_CANCEL_BY_USER: O usuário cancelou o processo

  • VOC_CANCEL_LAUNCH: Foi feita uma cancelamento geral do SDK

  • VOC_COMPONENT_LICENSE_ERROR: A licença do componente não está correta

  • VOC_EMPTY_LICENSE: A String de licença está vazia

  • VOC_INITIALIZATION_ERROR: Erro de Inicialização

  • VOC_INTERNAL_LICENSE_ERROR: Erro interno relacionado à licença

  • VOC_NO_DATA_ERROR: Os dados de entrada são nulos

  • VOC_OPERATION_NOT_CREATED: Não há nenhuma operação em andamento

  • VOC_PERMISSION_DENIED: O usuário recusou as permissões

  • VOC_TIMEOUT: Timeout no processo

Recebimento de execução bem-sucedida - data

Na parte de data, teremos a classe VoiceResult.

O campo data é variável e dependerá de qual componente retornou o resultado. No caso deste componente, os campos retornados são os seguintes:

audios

Contém uma lista de áudios capturados no formato ByteArray.

tokenizedAudios

Contém a lista de áudios capturados no formato tokenizado da Facephi.

Informações avançadas

Esta seção amplia as informações do componente.

Configuração avançada do componente

Para configurar o componente atual, uma vez inicializado, deverá ser criado um objeto

VoiceConfigurationData e passá-lo como parâmetro para o SDKController durante a inicialização do componente.

Na seção seguinte, serão mostrados os campos que fazem parte desta classe e para que cada um deles é usado.

phrases

Indica a(s) frase(s) necessárias para capturar.

vibrationEnabled

Indica a ativação da vibração quando o widget terminar com sucesso.

showTutorial

Indica se o componente ativa a tela de tutorial. Nessa visualização é explicado de forma intuitiva como a captura é realizada.

extractionTimeout

Define o tempo máximo que a captura pode durar.

showDiagnostic

Exibir telas de diagnóstico ao final do processo

enableQualityCheck

Ativa ou desativa a verificação de qualidade do áudio. Recomenda-se mantê-la sempre ativa.

showPreviousTip

Mostra uma tela anterior ao lançamento da captura com informações sobre o processo a ser realizado e um botão para o lançamento.

Personalização do componente

Além das alterações que podem ser feitas no nível do SDK (as quais são explicadas no documento de Personalização do SDK), este componente em específico permite a modificação de sua interface.

Textos

Os textos podem ser personalizados sobrescrevendo o valor das seguintes chaves em um Localizable.strings. As chaves que contêm o sufixo _alt são os literais utilizados nas etiquetas de acessibilidade necessárias para a funcionalidade de VoiceOver.

Nome

Valor

voice_component_success_records_message

%d/%d gravações bem-sucedidas

voice_component_read_message

Diga em voz alta:

voice_component_speech_message

Fale claramente e perto do microfone

voice_component_speech_noisy_message

Há ruído demais. Tente estar em um ambiente silencioso.

voice_component_success_message

Gravação registrada

voice_component_phrase_generic_error_message

Por favor, repita a frase.

voice_component_phrase_long_silence_message

Fale por 2 segundos ou mais.

voice_component_phrase_long_reverberation_message

Eco demais. Tente em outro ambiente.

voice_component_tip_title

Reconhecimento de voz

voice_component_tip_message

Fale claramente e em voz alta.\n\nCertifique-se de estar em um ambiente silencioso

voice_component_tip_button

COMEÇAR

voice_component_exit_alert_accept

selphid_selector_exit_alert_accept

voice_component_exit_alert_cancel

Cancelar

voice_component_exit_alert_question

Tem certeza de que deseja finalizar o processo?

voice_component_multiple_speakers_error_message

Foram detectadas vozes de fundo. Certifique-se de estar em um ambiente silencioso

voice_component_short_recorded_speech_message

A gravação foi muito curta.

voice_component_quality_check_error_message

A qualidade do áudio é insuficiente.

voice_component_close_button_alt

Fechar

voice_component_logo_alt

Logo

voice_component_tip_anim_alt

voice_component_timeout_title

Tempo esgotado

voice_component_timeout_desc

Não conseguimos identificá-lo(a). Tente novamente.

Dessa forma, se quiser modificar, por exemplo, o texto “COMEÇAR” da chave voice_component_tip_button_message para o idioma é, deverá ir ao arquivo Localizable.strings da pasta es.lproj se existir (caso contrário, deverá ser criado) e então adicionar:

Se uma mensagem não for especificada no arquivo de idioma, ela será preenchida com a mensagem padrão.

Animações

As animações a serem usadas são inicializadas de forma semelhante na variável animations, com um dicionário, tendo como valor uma string com o nome da animação que estiver no xcassets que se deseja usar.

Atualizado