Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRachel Ramalho Alterado mais de 9 anos atrás
1
JavaSpeech – Deixe seu Computador falar com você...
3 a 5 de Outubro – SENAC – Campus Santo Amaro / SP justjava.org.br JavaSpeech – Deixe seu Computador falar com você... Por Robison Cris Brito Promoção e Realização
2
Agenda... Motivação Quando uma aplicação deve utilizar comandos de voz? Desafios API JavaSpeech Framework Sphinx4 Sintetização Reconhecimento Exemplo de aplicação Onde o reconhecimento de voz pode ser aplicado O futuro das aplicações Conclusão
3
Quem acha que a informática hoje em dia está fácil?
4
Inclusão Digital! Mas quando?
5
MOTIVAÇÃO Teclado/Mouse Usuário “Uma criança não aprende a teclar esc”
Fala Usuário “Uma criança aprende a dizer mamãe”
6
Conversação Verbal 27% Não-Verbal 73%
MOTIVAÇÃO Conversação Verbal 27% Não-Verbal 73%
7
Aplicação Agradável Verbal 27% Não-Verbal 73%
MOTIVAÇÃO Aplicação Agradável Verbal 27% Não-Verbal 73%
8
Como uma aplicação deve utilizar a voz?
9
Tipos de aplicações Somente com fala Speech Only Aplicações
Multi-Modal
10
Quando as mãos e os olhos estão ocupados
Objetivo CLARO Quando as mãos e os olhos estão ocupados Ler por telefone ALTA EXPECTATIVA
11
Quando deve ser utilizado ?
Não existe um teclado (em uma cabine telefônica) A operação exige que a mão do usuário esteja ocupado (Operadores de manutenção) Comandos precisam de alta navegação pelos menus Usuários não são capazes de digitar Usuários possuem incapacidades físicas Necessitam chamar a atenção do usuário
12
Quando não deve ser usado ?
Operações exigem que o usuário conversem com outras pessoas enquanto utilizam a aplicação Ambiente muito ruidoso É muito mais fácil fazer a operação por mouse/teclado Apresenta grande quantidade de informação Comparação de informações Informações necessitam ser confidenciais
13
A fala deve ser parte integrante do projeto desde o início
PROBLEMAS COMUNS... Projetos com fala A fala deve ser parte integrante do projeto desde o início
14
Desafios
15
Transiencia Uma vez que algo foi dito, não tem como voltar atrás
Desafios Transiencia Uma vez que algo foi dito, não tem como voltar atrás O usuário se recorda apenas de um pequeno número de palavras ditas
16
Invisibilidade Não se vê os comandos que podem ser ditos
Desafios Invisibilidade Não se vê os comandos que podem ser ditos Quais as ações que podem ser executados ?
17
Assimetria Um usuário pode falar mais rápido do que digitar
Desafios Assimetria Um usuário pode falar mais rápido do que digitar ...entretanto pode escutar de forma mais lenta do que ler Problema em balancear as instruções com a limitação do usuário de absorver a informação falada.
18
Qualidade de Sintetização
Desafios Qualidade de Sintetização A informação apresentada é dinâmica... Sintetização dinâmica Escutar é fácil se a voz é consistente Pré-gravar falas com uma voz “bonita” ? MUITA MEMÓRIA Saber com antecedência o que deve ser falado
19
Desempenho Nenhum sistema de Reconhecimento é 100%
Desafios Nenhum sistema de Reconhecimento é 100% Muito tempo até que se consiga o status “Filme de ficção científica” Entender os tipos de erros que podem gerar
20
Desafios Adaptabilidade O sistema deve reconhecer a voz de uma criança, assim como reconhece a voz de uma mulher, de um homem, de uma pessoa idosa, de pessoas com problemas leves de dicção.
21
Flexibilidade vs Precisão
Desafios Flexibilidade vs Precisão Dizer um comando de várias maneiras “O que tenho para manhã ?” “Tenho compromisso para amanhã ?” “Leia os compromissos para amanhã”
22
Fala Continua vs Palavra Isolada
Desafios Fala Continua vs Palavra Isolada Sistemas de fala contínua são desejáveis, porém mais complexos Sistemas de palavras isoladas possuem um alto índice de acerto, porém deve ser falado pausadamente. Ex. “Me dá uma mão aqui..”
23
Do conceito à prática
24
Ciclo de Vida de um Sistema de Reconocimento
Fala Digitalização Processamento de Ruídos Separação de palavras Resultado Probabilístico Comparação de Vocabulário Base de Dados dos Vocabulário
25
Java Speech SDK API (JSR-113, JSAPI)
ou simplesmente Javaspeech API para Sintetização e Reconhecimento de Voz
26
API para Sintetização e Reconhecimento de Voz
Javaspeech API para Sintetização e Reconhecimento de Voz speech recognition speech synthesis
27
Javaspeech Aplicação JavaSpeech API Independência de Plataforma
FreeTTS The Cloud Garden IBM Speech Festival
28
FRAMEWORK SPHINX4 http://cmusphinx.sourceforge.net/sphinx4/
29
Sintetização de Voz try { // Cria um sintetizador para o portugues
Synthesizer synth = Central.createSynthesizer( new SynthesizerModeDesc(new Locale(“pt”, “br”)); // Libera o recurso para falar synth.allocate(); synth.resume(); // Diz a mensagem Ola Mundo synth.speakPlainText(“Ola Mundo", null); // Espera até que a frase seja dita synth.waitEngineState(Synthesizer.QUEUE_EMPTY); // Libera a memória synth.deallocate(); } catch (Exception e) {…
30
Sintetização de Voz Volume Velocidade da Fala Tom Propriedades
Seleção das Vozes
31
Se define um conjunto de combinações que o usuário pode falar
Reconhecimento de Voz Por Regras Ditado Se define um conjunto de combinações que o usuário pode falar STAR TREK
32
Reconhecimento de Voz // Define um sistema para o reconhecimento do português rec = Central.createRecognizer(new EngineModeDesc(new Locale(“pt”, “br”)); // aloca o recurso para escutar rec.allocate(); // Carrega as regras e habilita a gramática gramática FileReader reader = new FileReader(args[0]); RuleGrammar gram = rec.loadJSGF(reader); gram.setEnabled(true); // Adiciona um listener que receberá a mensagem rec.addResultListener(new HelloWorld()); // Faz um commit com a gramática rec.commitChanges(); // Foco: Para parar a escuta rec.requestFocus(); rec.resume();
33
Reconhecimento de Voz public void resultAccepted(ResultEvent e) {
//recupera o objeto que contém as palavras recuperadas Result r = (Result) (e.getSource() ); //Adiciona as palavras em um Token ResultToken tokens[] = r.getBestTokens(); //percorre todas as palavras do Token, exibindo na console for (int i = 0; i < tokens.length; i++) { System.out.print(tokens[i].getSpokenText() + " "); System.out.println(); } // Desaloca o recurso e sai da aplicação rec.deallocate(); System.exit(0);
34
JSML – Java Speech Markup Language
Como se diz: 17/03/ ou Tenho R$ 10,00 na carteira O JSML possibilita definir o formato de leitura sintetizador.speak (“you win <EMP> $10000</EMP)!.NULL);
35
Exemplo de aplicações
36
Exemplo Didático de Aplicação
Exemplos: AUSTIN - TX SALT LAKE CITY - UT FORT RICHARDSON - AK
37
Software para ensino de inglês
38
Onde o reconhecimento de voz pode ser aplicado
39
Automação ...
40
Auxiliar portadores de deficiências
41
Automação Residencial para Portadores de Deficiência
+
42
Fonoaudiologia
43
Softwares Educativos
44
Auxiliar na redação de processos
45
Aplicações que não possuem interface com usuário
46
Controle de comandos no automóvel
48
Leitura de informações remotas
49
Auxiliar pessoas com deficiências visuais
50
Inclusão digital....
51
Leitura automática de documento
Era uma vez....
52
Escrita automática de documentos
53
Reduzir o Stress de Animais Domésticos
54
Repelente Eletronico de Pequenos Animais
55
Afinador de Instrumentos Musicais
56
Man vs. Machine
57
Aplicações para Celulares
58
Aplicações para TV Digital
Troque o controle remoto pela voz X
59
Aplicações no Futuro Aplicativos de forma distribuídas
Envio e recebimento de informações via Wireless Grande poder de processamento Grande poder de armazenamento Ambiente propício a comunicação utilizando voz
60
Dúvidas ?
61
JavaSpeech – Deixe seu Computador falar com você...
3 a 5 de Outubro – SENAC – Campus Santo Amaro / SP justjava.org.br JavaSpeech – Deixe seu Computador falar com você... Por Robison Cris Brito Promoção e Realização
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.