SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Speak up!
Como criar Speech-based apps
         Pedro Silva Santos
          Developer Lead, MLDC
        i-pedros@microsoft.com
Agenda

• O Microsoft Language Development Center (MLDC)
• A Tecnologia de Fala:
   – Reconhecimento de fala.
   – Síntese de texto-para-fala.
• Desenvolvimento de aplicações Speech (client-side):
   – A managed SpeechFX API.
   – Desenvolvimento e demos.
• Desenvolvimento de aplicações Speech (server-side):
   – Microsoft Office Communications Server 2007: Speech Server.
   – Desenvolvimento e demos.
• Downloads públicos e recursos:
   – Beta Program + TAP Program
   – Bits para Português!
MLDC - Microsoft Language
    Development Center, Portugal

•    Criado um Microsoft | Development Center em Portugal
      –   Criação em Novembro de 2005 e início da operação em Março de 2006
      –   http://www.microsoft.com/portugal/mldc
      –   Miguel Dias (Director, FTE) + 10 colaboradores (Engenheiros e Linguistas)
      –   Um dos 4 Centros de Desenvolvimento Microsoft na Europa e o 1º fora de Redmond (EUA)
          dedicado ao desenvolvimento local da linguagem.
      –   Expansão do grupo de componentes de processamento de fala da Microsoft, baseado em
          Redmond, EUA
      –   Co-suportado pelo PRIME –NITEC
Speak up: como criar Speech-based apps
http://www.microsoft.com/portugal/mldc
Missão de longo termo e linhas de
acção do MLDC

  Missão de Longo Termo
       Expandir o desenvolvimento local das tecnologias
       de linguagem na região da EMEA, para um
       conjunto de produtos e platformas Microsoft
       (Vista, Exchange, Office, Mobilidade, Media
       Center, Xbox)
       Início na língua Portuguesa

  Linhas de Acção :
  1. Linhas de cooperação com as universidades e
     institutos de I&D mais inovadores em Portugal e na
     região da EMEA, nos domínios da fala e da língua
     natural
  2. Desenvolvimento de recursos e tecnologias da
     linguagem em Portugal e na EMEA
  3. Participação em projectos de I&D em consórcio nos
     programas Nacionais (FCT, PRIME-IDEA, PRIME-
     NITEC) e Europeus (FP7)
A tecnologia de Reconhecimento e
         Síntese de Fala
Speech Recognition - SR
• Ou Reconhecimento Automático de Fala.
• Características de um sistema de SR:
  – Modos de operação:
     • Comando e controlo,
     • Ditado (ou fala espontânea)
  – Dependência ao falante.
  – Adaptação ao falante.
  – Principais métricas de avaliação: precisão e velocidade
Speech Recognition
• Como funciona
  – Hidden Markov Models: modelos estatísticos baseados em
    probabilidades.
  – A Fala é uma série de palavras.
  – Cada palavra consiste numa série de sons (fonemas).
  – Confidence scoring.
Text-to-speech synthesis
        Transformar
           “É fácil sintetizar fala”
        Em
 Amplitude




             Tempo
Text-to-speech synthesis - TTS

• Síntese de texto para fala.
• Produção artificial de fala humana.
• Tipicamente, convertendo uma representação textual para fala
  num formato de audio.
• Como funciona? Técnicas:
   –   Concatenative synthesis
   –   Formant
   –   Articulatory
   –   HMMs
• A voice font: a fala do talento de voz armazenado como um
  conjunto de segmentos de sons individuais.
Engines and Language Packs

• Microsoft Speech Technology.
• Dois principais core engines:
   – O engine de SR.
   – O engine de TTS.
   – Independentes da língua.
• Speech Language Packs: ficheiros específicos por língua.
• Tipicamente, LPs contêm:
   – language-dependent recognizer data.
   – language-dependent synthesizer data.
TalkToMe
Desenvolvimento de aplicações
     Speech (client-side)
A nova API de Speech


                     .NET Framework 3


              WPF     WCF    WWF   Cardspace   SpeechFX!!



• A API managed SpeechFX.
• O que está no namespace System.Speech:
   – System.Speech.Recognition
   – System.Speech.Synthesis
• Disponível publicamente no .NET Framework 3.0
A nova API de Speech

• O que já vem no Vista:
   – Runtime .NET Framework 3.0, incluindo SpeechFX.
   – O reconhecedor de Inglês (Francês, Alemão, Espanhol, Japonês e Chinês
     também disponíveis).
   – O sintetizador de Inglês – a voz “Anna”.
   – O “Windows Speech Recognition User Experience”


• Para XP: download do .NF3.0
System.Speech.Synthesizer

• Como usar?

    SpeechSynthesizer synthesizer = new SpeechSynthesizer();
    synthesizer.Speak(“Olá mundo!”);


• Inclui suporte para custom spoken pronunciations, standard XML SSML
  W3C, gravar output para wave file, alterar velocidade de síntese e volume.
System.Speech.Recognition

• Como usar?
   – Construir uma gramática.
   – Carregar a gramática no reconhecedor.
   – Registar eventos (SpeechRecognized, SpeechHypothesized,
     SpeechDetected, …)
   – Começar o reconhecimento…!
   – Inclui suporte para gramáticas complexas, semantic values,
     standard XML SRGS W3C, input de wave file, recognition
     confidence value, recognition alternate choices.
System.Speech.Recognition

• Como usar?
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo(quot;en-usquot;));

void init()
{
       Choices pizzaChoices = new Choices();
       pizzaChoices.AddPhrase(quot;I'd like a cheese pizzaquot;);
       pizzaChoices.AddPhrase(quot;I'd like a pepperoni pizzaquot;);
       pizzaChoices.AddPhrase(quot;I'd like a large pepperoni pizzaquot;);
       Grammar pizzaGrammar = new Grammar(new GrammarBuilder(pizzaChoices));
       recognizer.LoadGrammar(pizzaGrammar);

      pizzaGrammar.SpeechRecognized += new EventHandler<RecognitionEventArgs>(PizzaGrammar_SpeechRecognized);
      recognizer.Recognize(..);
}
void PizzaGrammar_SpeechRecognized(object sender, RecognitionEventArgs e)
{
     MessageBox.Show(e.Result.Text);
}
Speech Sample
RecoTuga
SpeechWiki
Media Center
Speech in Robotics
Microsoft Robotics Studio
• Ambiente de desenvolvimento que permite criar facilmente aplicações para
  uma grande variedade de plataformas (robôs).

• Apresenta um ambiente virtual que simula o mundo real!

• Interface muito simples de usar!

• Para experts e para beginners! 
Microsoft Robotics Studio
Microsoft Robotics Studio
Lego MindStorm




                 1.   32-bit ARM7 microcontroller
                 2.   Sensor de toque
                 3.   Sensor de som
                 4.   Sensor de luz
                 5.   Sensor de distância
                 6.   Motores
Lego Mindstorm
Desenvolvimento de aplicações
    Speech (server-side)
OCS 2007 Speech Server

• OCS 2007 Speech Server está incluído no
  Microsoft® Office Communications Server 2007
• Principais componentes:
   –   Authoring and debugging
   –   Reporting, Analysis and Tuning
   –   Telephony
   –   Operations, Administration, Maintenance
Supported Languages
Línguas suportadas: 14 (SR / TTS)

Suporte de SR e TTS:
   North American English
   UK English
   Canadian French
   German
   American Spanish

Suporte de TTS:
   Chinese (Mandarin + Traditional), English (Australia), French
   (France), Italian (Italy), Japanese (Japan), Korean (Korea),
   Portuguese (Brazil), Spanish (Spain).
Dialog Workflow Designer
InfoService
Global                    “Bem-vindo ao serviço
                          Commands/Grammar                informativo da Microsoft
                         “Menu Principal”; “Iniciar”;
                           “Reiniciar”; “Voltar”;                Portugal”
                               “Terminar”




                                “Menu Principal. Diga notícias, trânsito ou tempo.”




                                                        “Diga o nome do acesso que
                 “Diga [categoria],
                                                         deseja consultar, como por     “Diga Lisboa, Porto
                pesquisar ou menu
                                                           exempo IC19, ou menu         ou menu principal.”
                     principal.
                                                                 principal.”




                        “Diga um ou vários
                       termos a pesquisar.”




    “Escolheu a
categoria Desporto.            “Foram                         “IC19. Trânsito
 Existem 3 notícias        encontradas 2                                                 “Lisboa. Condições
                                                               condicionado
  novas. Primeira         notícias contendo                                           actuais..., para amanhã...”
                                                               no sentido...”
     notícia...”             o termo... “
Get the bits!
• Para cliente desktop:
   – API SpeechFX no .NET Framework3 (incluído no Vista; download
     necessário para XP).
   – Language Packs estão incluídos no Vista.


• Para servidor: OCS 2007 Speech Server
   – Vários Language Packs estão incluídos.
Language Packs de Português
• MLDC disponibiliza Programas de Avaliação Beta da sua tecnologia.
• LPs Beta para Português Europeu e Brasileiro em:
    – Client desktop:
        • Reconhecedor de Fala de Português.
    – Speech Server:
        • Reconhecedor + Sintetizador de Fala de Português.


• Toda a informação em:
    – http://www.microsoft.com/portugal/mldc/betaprograms/


• Invitation code: MLDC-BKBY-DTBD
• http://connect.microsoft.com
• i-pedros@microsoft.com
Recursos
• Microsoft Language Development Center
   – http://www.microsoft.com/portugal/mldc
   – Beta Program + Projects + Videos + Demos + News
• MLDC Blog
   – http://blogs.msdn.com/tagarela/
• Microsoft Speech
   – http://www.microsoft.com/speech/
Recursos
• .NET Framework 3.0 SpeechFX API for client-side speech-development:
    – Intro article:
         • http://msdn.microsoft.com/msdnmag/issues/06/01/speechinWindowsVista/
    – .NET Framework 3.0 runtime download (for XP):
         • http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-
           83F5-25634C3BF043&displaylang=en
    – Managed SpeechFX API Documentation (MSDN):
         • http://msdn2.microsoft.com/en-us/library/system.speech.recognition.aspx
         • http://msdn2.microsoft.com/en-us/library/system.speech.synthesis.aspx
    – “Windows Speech Recognition” User Experience in Windows Vista:
         • http://www.microsoft.com/enable/products/windowsvista/speech.aspx
         • http://www.microsoft.com/windows/products/windowsvista/features/details/speechrecognitio
           n.mspx
• MLDC Client Beta Program:
    – http://www.microsoft.com/portugal/mldc/betaprograms/winclientdesktop.ms
      px
• MLDC Client Demo Videos:
    – http://www.microsoft.com/portugal/mldc/projects/speechapps.mspx
Recursos
• “Microsoft Office Communications Server 2007 Speech Server” for IVR
  server-side speech-development:
    – Microsoft Office Communications Server 2007 Speech Server Developer Edition
      Download:
        • http://www.microsoft.com/downloads/details.aspx?FamilyId=BB183640-4B8F-4828-
          80C9-E83C3B2E7A2C&displaylang=en
    – OCS 2007 Speech Server Documentation (MSDN):
        • http://msdn2.microsoft.com/en-us/library/bb857803.aspx
    – Books and webcasts are also available.
• MLDC TAP Program:
    – http://www.microsoft.com/portugal/mldc/betaprograms/officecomserv07spse
      rv.mspx
• MLDC Server Demo Videos:
    – http://www.microsoft.com/portugal/mldc/projects/europtconnect.mspx
    – http://www.microsoft.com/portugal/mldc/news/feb08_Techdays2008.mspx
      http://www.microsoft.com/portugal/mldc/projects/ExchangeServer2007.mspx
www.microsoft.com/portugal/mldc

Mais conteúdo relacionado

Semelhante a Speak up: como criar Speech-based apps

Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Marcio Junior Vieira
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoAmbiente Livre
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoPentahoBrasil
 
Exercicio1 A
Exercicio1 AExercicio1 A
Exercicio1 Anparrinha
 
P10 dev studio
P10 dev studioP10 dev studio
P10 dev studioPirata Mao
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafaelhugodrocha
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto ProieteComunidade NetPonto
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias IncluídasJonh Edson
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreGivanaldo Rocha
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOLAécio Pires
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
Dia Debian 2007 - Desenvolvendo aplicações no Linux
Dia Debian 2007 - Desenvolvendo aplicações no LinuxDia Debian 2007 - Desenvolvendo aplicações no Linux
Dia Debian 2007 - Desenvolvendo aplicações no LinuxJorge Pereira
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010IT4biz IT Solutions
 
Pentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livrePentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livreCaio Moreno
 
A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlangelliando dias
 

Semelhante a Speak up: como criar Speech-based apps (20)

Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
Palestra: Desenvolvendo Produtos sobre a Plataforma Pentaho - Pentaho Day 2013
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma Pentaho
 
Desenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma PentahoDesenvolvendo Produtos sobre a Plataforma Pentaho
Desenvolvendo Produtos sobre a Plataforma Pentaho
 
Exercicio1 A
Exercicio1 AExercicio1 A
Exercicio1 A
 
P10 dev studio
P10 dev studioP10 dev studio
P10 dev studio
 
José Ramom Campos - Opentrad
José Ramom Campos - OpentradJosé Ramom Campos - Opentrad
José Ramom Campos - Opentrad
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafael
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
Mergulhando no ecossistema .NET
Mergulhando no ecossistema .NETMergulhando no ecossistema .NET
Mergulhando no ecossistema .NET
 
Desenvolvimento Web com Software Livre
Desenvolvimento Web com Software LivreDesenvolvimento Web com Software Livre
Desenvolvimento Web com Software Livre
 
Windows 10 Anniversary Update
Windows 10 Anniversary UpdateWindows 10 Anniversary Update
Windows 10 Anniversary Update
 
Projeto TCOS - III ENSOL
Projeto TCOS - III ENSOLProjeto TCOS - III ENSOL
Projeto TCOS - III ENSOL
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Dia Debian 2007 - Desenvolvendo aplicações no Linux
Dia Debian 2007 - Desenvolvendo aplicações no LinuxDia Debian 2007 - Desenvolvendo aplicações no Linux
Dia Debian 2007 - Desenvolvendo aplicações no Linux
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
 
Pentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livrePentaho: inteligência de negócios utilizando software livre
Pentaho: inteligência de negócios utilizando software livre
 
A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlang
 

Mais de codebits

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands Oncodebits
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meocodebits
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101codebits
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-Oncodebits
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Webcodebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...codebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPPcodebits
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-Oncodebits
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencercodebits
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumbycodebits
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossárioscodebits
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduçõescodebits
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Javacodebits
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-Oncodebits
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008codebits
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigascodebits
 

Mais de codebits (20)

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands On
 
Aplicações Web TV no Meo
Aplicações Web TV no MeoAplicações Web TV no Meo
Aplicações Web TV no Meo
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-On
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Web
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
 
CouchDB
CouchDBCouchDB
CouchDB
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPP
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencer
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumby
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossários
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduções
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-On
 
Gis@sapo
Gis@sapoGis@sapo
Gis@sapo
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigas
 

Speak up: como criar Speech-based apps

  • 1. Speak up! Como criar Speech-based apps Pedro Silva Santos Developer Lead, MLDC i-pedros@microsoft.com
  • 2. Agenda • O Microsoft Language Development Center (MLDC) • A Tecnologia de Fala: – Reconhecimento de fala. – Síntese de texto-para-fala. • Desenvolvimento de aplicações Speech (client-side): – A managed SpeechFX API. – Desenvolvimento e demos. • Desenvolvimento de aplicações Speech (server-side): – Microsoft Office Communications Server 2007: Speech Server. – Desenvolvimento e demos. • Downloads públicos e recursos: – Beta Program + TAP Program – Bits para Português!
  • 3. MLDC - Microsoft Language Development Center, Portugal • Criado um Microsoft | Development Center em Portugal – Criação em Novembro de 2005 e início da operação em Março de 2006 – http://www.microsoft.com/portugal/mldc – Miguel Dias (Director, FTE) + 10 colaboradores (Engenheiros e Linguistas) – Um dos 4 Centros de Desenvolvimento Microsoft na Europa e o 1º fora de Redmond (EUA) dedicado ao desenvolvimento local da linguagem. – Expansão do grupo de componentes de processamento de fala da Microsoft, baseado em Redmond, EUA – Co-suportado pelo PRIME –NITEC
  • 6. Missão de longo termo e linhas de acção do MLDC Missão de Longo Termo Expandir o desenvolvimento local das tecnologias de linguagem na região da EMEA, para um conjunto de produtos e platformas Microsoft (Vista, Exchange, Office, Mobilidade, Media Center, Xbox) Início na língua Portuguesa Linhas de Acção : 1. Linhas de cooperação com as universidades e institutos de I&D mais inovadores em Portugal e na região da EMEA, nos domínios da fala e da língua natural 2. Desenvolvimento de recursos e tecnologias da linguagem em Portugal e na EMEA 3. Participação em projectos de I&D em consórcio nos programas Nacionais (FCT, PRIME-IDEA, PRIME- NITEC) e Europeus (FP7)
  • 7. A tecnologia de Reconhecimento e Síntese de Fala
  • 8. Speech Recognition - SR • Ou Reconhecimento Automático de Fala. • Características de um sistema de SR: – Modos de operação: • Comando e controlo, • Ditado (ou fala espontânea) – Dependência ao falante. – Adaptação ao falante. – Principais métricas de avaliação: precisão e velocidade
  • 9. Speech Recognition • Como funciona – Hidden Markov Models: modelos estatísticos baseados em probabilidades. – A Fala é uma série de palavras. – Cada palavra consiste numa série de sons (fonemas). – Confidence scoring.
  • 10. Text-to-speech synthesis Transformar “É fácil sintetizar fala” Em Amplitude Tempo
  • 11. Text-to-speech synthesis - TTS • Síntese de texto para fala. • Produção artificial de fala humana. • Tipicamente, convertendo uma representação textual para fala num formato de audio. • Como funciona? Técnicas: – Concatenative synthesis – Formant – Articulatory – HMMs • A voice font: a fala do talento de voz armazenado como um conjunto de segmentos de sons individuais.
  • 12. Engines and Language Packs • Microsoft Speech Technology. • Dois principais core engines: – O engine de SR. – O engine de TTS. – Independentes da língua. • Speech Language Packs: ficheiros específicos por língua. • Tipicamente, LPs contêm: – language-dependent recognizer data. – language-dependent synthesizer data.
  • 14. Desenvolvimento de aplicações Speech (client-side)
  • 15. A nova API de Speech .NET Framework 3 WPF WCF WWF Cardspace SpeechFX!! • A API managed SpeechFX. • O que está no namespace System.Speech: – System.Speech.Recognition – System.Speech.Synthesis • Disponível publicamente no .NET Framework 3.0
  • 16. A nova API de Speech • O que já vem no Vista: – Runtime .NET Framework 3.0, incluindo SpeechFX. – O reconhecedor de Inglês (Francês, Alemão, Espanhol, Japonês e Chinês também disponíveis). – O sintetizador de Inglês – a voz “Anna”. – O “Windows Speech Recognition User Experience” • Para XP: download do .NF3.0
  • 17. System.Speech.Synthesizer • Como usar? SpeechSynthesizer synthesizer = new SpeechSynthesizer(); synthesizer.Speak(“Olá mundo!”); • Inclui suporte para custom spoken pronunciations, standard XML SSML W3C, gravar output para wave file, alterar velocidade de síntese e volume.
  • 18. System.Speech.Recognition • Como usar? – Construir uma gramática. – Carregar a gramática no reconhecedor. – Registar eventos (SpeechRecognized, SpeechHypothesized, SpeechDetected, …) – Começar o reconhecimento…! – Inclui suporte para gramáticas complexas, semantic values, standard XML SRGS W3C, input de wave file, recognition confidence value, recognition alternate choices.
  • 19. System.Speech.Recognition • Como usar? SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo(quot;en-usquot;)); void init() { Choices pizzaChoices = new Choices(); pizzaChoices.AddPhrase(quot;I'd like a cheese pizzaquot;); pizzaChoices.AddPhrase(quot;I'd like a pepperoni pizzaquot;); pizzaChoices.AddPhrase(quot;I'd like a large pepperoni pizzaquot;); Grammar pizzaGrammar = new Grammar(new GrammarBuilder(pizzaChoices)); recognizer.LoadGrammar(pizzaGrammar); pizzaGrammar.SpeechRecognized += new EventHandler<RecognitionEventArgs>(PizzaGrammar_SpeechRecognized); recognizer.Recognize(..); } void PizzaGrammar_SpeechRecognized(object sender, RecognitionEventArgs e) { MessageBox.Show(e.Result.Text); }
  • 25. Microsoft Robotics Studio • Ambiente de desenvolvimento que permite criar facilmente aplicações para uma grande variedade de plataformas (robôs). • Apresenta um ambiente virtual que simula o mundo real! • Interface muito simples de usar! • Para experts e para beginners! 
  • 28. Lego MindStorm 1. 32-bit ARM7 microcontroller 2. Sensor de toque 3. Sensor de som 4. Sensor de luz 5. Sensor de distância 6. Motores
  • 30. Desenvolvimento de aplicações Speech (server-side)
  • 31. OCS 2007 Speech Server • OCS 2007 Speech Server está incluído no Microsoft® Office Communications Server 2007 • Principais componentes: – Authoring and debugging – Reporting, Analysis and Tuning – Telephony – Operations, Administration, Maintenance
  • 32. Supported Languages Línguas suportadas: 14 (SR / TTS) Suporte de SR e TTS: North American English UK English Canadian French German American Spanish Suporte de TTS: Chinese (Mandarin + Traditional), English (Australia), French (France), Italian (Italy), Japanese (Japan), Korean (Korea), Portuguese (Brazil), Spanish (Spain).
  • 35. Global “Bem-vindo ao serviço Commands/Grammar informativo da Microsoft “Menu Principal”; “Iniciar”; “Reiniciar”; “Voltar”; Portugal” “Terminar” “Menu Principal. Diga notícias, trânsito ou tempo.” “Diga o nome do acesso que “Diga [categoria], deseja consultar, como por “Diga Lisboa, Porto pesquisar ou menu exempo IC19, ou menu ou menu principal.” principal. principal.” “Diga um ou vários termos a pesquisar.” “Escolheu a categoria Desporto. “Foram “IC19. Trânsito Existem 3 notícias encontradas 2 “Lisboa. Condições condicionado novas. Primeira notícias contendo actuais..., para amanhã...” no sentido...” notícia...” o termo... “
  • 36. Get the bits! • Para cliente desktop: – API SpeechFX no .NET Framework3 (incluído no Vista; download necessário para XP). – Language Packs estão incluídos no Vista. • Para servidor: OCS 2007 Speech Server – Vários Language Packs estão incluídos.
  • 37. Language Packs de Português • MLDC disponibiliza Programas de Avaliação Beta da sua tecnologia. • LPs Beta para Português Europeu e Brasileiro em: – Client desktop: • Reconhecedor de Fala de Português. – Speech Server: • Reconhecedor + Sintetizador de Fala de Português. • Toda a informação em: – http://www.microsoft.com/portugal/mldc/betaprograms/ • Invitation code: MLDC-BKBY-DTBD • http://connect.microsoft.com • i-pedros@microsoft.com
  • 38. Recursos • Microsoft Language Development Center – http://www.microsoft.com/portugal/mldc – Beta Program + Projects + Videos + Demos + News • MLDC Blog – http://blogs.msdn.com/tagarela/ • Microsoft Speech – http://www.microsoft.com/speech/
  • 39. Recursos • .NET Framework 3.0 SpeechFX API for client-side speech-development: – Intro article: • http://msdn.microsoft.com/msdnmag/issues/06/01/speechinWindowsVista/ – .NET Framework 3.0 runtime download (for XP): • http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14- 83F5-25634C3BF043&displaylang=en – Managed SpeechFX API Documentation (MSDN): • http://msdn2.microsoft.com/en-us/library/system.speech.recognition.aspx • http://msdn2.microsoft.com/en-us/library/system.speech.synthesis.aspx – “Windows Speech Recognition” User Experience in Windows Vista: • http://www.microsoft.com/enable/products/windowsvista/speech.aspx • http://www.microsoft.com/windows/products/windowsvista/features/details/speechrecognitio n.mspx • MLDC Client Beta Program: – http://www.microsoft.com/portugal/mldc/betaprograms/winclientdesktop.ms px • MLDC Client Demo Videos: – http://www.microsoft.com/portugal/mldc/projects/speechapps.mspx
  • 40. Recursos • “Microsoft Office Communications Server 2007 Speech Server” for IVR server-side speech-development: – Microsoft Office Communications Server 2007 Speech Server Developer Edition Download: • http://www.microsoft.com/downloads/details.aspx?FamilyId=BB183640-4B8F-4828- 80C9-E83C3B2E7A2C&displaylang=en – OCS 2007 Speech Server Documentation (MSDN): • http://msdn2.microsoft.com/en-us/library/bb857803.aspx – Books and webcasts are also available. • MLDC TAP Program: – http://www.microsoft.com/portugal/mldc/betaprograms/officecomserv07spse rv.mspx • MLDC Server Demo Videos: – http://www.microsoft.com/portugal/mldc/projects/europtconnect.mspx – http://www.microsoft.com/portugal/mldc/news/feb08_Techdays2008.mspx http://www.microsoft.com/portugal/mldc/projects/ExchangeServer2007.mspx