Voice-Enabling Chatbots

1,323 views
1,189 views

Published on

You don't have to put you ear on the ground, and still can literally hear it coming. The broad introduction of Voice User Interfaces, allowing the interaction with mobile devices through voice, may become the biggest advancement in user interface design since the transition from text-based to graphical user interfaces.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,323
On SlideShare
0
From Embeds
0
Number of Embeds
306
Actions
Shares
0
Downloads
56
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Voice-Enabling Chatbots

  1. 1. Voice-Enabling ChatbotsSlides: http://wolfpaulus.com/slidesCode: git clone https://github.com/wolfpaulus/bots.git © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  2. 2. Star Trek © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  3. 3. Graphical User Interfaces - Mac System 1 (1984), Windows 95 (1995) © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  4. 4. Voice User Interfaces - Ford Sync, Siri, and Cora © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  5. 5. Speed and Accuracy of Speech Recognition © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  6. 6. Wearable Computing - Google Project Glass, Pebble Watch, Apple iWatch (concept) © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  7. 7. Artist on Android © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  8. 8. Artist on Android, Voice User Interface flattens navigation and configuration hierarchies © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  9. 9. Adaptive Multi-Rate Narrowband Speech Codec 8 KHz sampling rate and 12 Kb encoding rateSpeech Recognition Client - Record, Encode, Compress, Send, Receive Transcription and Confidence © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  10. 10. Horsemen of Speech Recognition © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  11. 11. 2001 Space Odyssey © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  12. 12. Speech SynthesisUse a pre-installed Text-To-Speech EnginePackage and ship a distinct Synthesizer andVoice with mobile applicationUse a web-service to synthesis text into speechaudio (VAAS)Voice Matters © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  13. 13. Speech Synthesis on Android © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  14. 14. Echo BotCreating a simple Voice-Enabled Android App AIML Bot Cora © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  15. 15. Speech Recognitionprivate void startVoiceRecognitionActivity() { final Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); // Specify the calling package to identify your application intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName()); // Display an hint to the user about what he should say. intent.putExtra(RecognizerIntent.EXTRA_PROMPT, getResources().getString(R.string.speakPROMPT)); // Given an hint to the recognizer about what the user is going to say intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); // Specify how many results you want to receive. The results will be sorted // where the first result is the one with higher confidence. intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1); //intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, new Locale("es").getLanguage()); startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);} © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  16. 16. Speech Synthesisprivate void android.speech.tts.TextToSpeech mTts;..// Instantiate TextToSpeech with the current Context and an OnInitListenermTts = new TextToSpeech(this, this);..private void onInit(final int status) { if (status == TextToSpeech.SUCCESS && mTts != null) { mTts.setOnUtteranceCompletedListener(new TextToSpeech.OnUtteranceCompletedListener() { public void onUtteranceCompleted(final String s) { startVoiceRecognitionActivity(); } }); } }private void say(final String s) { final HashMap<String, String> map = new HashMap<String, String>(1); map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, UTTERANCE_ID); mTts.speak(s, TextToSpeech.QUEUE_FLUSH, map); mTV_TTS.setText(s);} © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  17. 17. Echo Bot access Web Service perform on DeviceCapture Speech InputConvert Speech into Text Synthesize Voice (Message) Speek Message © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  18. 18. “stock quote for ...” Stock Quote Bot access Web Service perform on Device Capture Speech Input Convert Speech into Text Execute Command Synthesize Voice (Message) Speek Message © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  19. 19. access Web Service perform on Device Capture Speech Input Convert Speech into Text AIML Bot Create Text Response Message or Command ? CmdMsg Execute Command Msg Synthesize Voice (Message) Speek Message © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  20. 20. Voice-Enabled Web Bots• Recognition <script>function processspeech() {document.form.submit();}</script> <input type="TEXT" autocomplete="off" name="input" speech="speech" x-webkit- speech="x-webkit-speech" onspeechchange="processspeech();" onwebkitspeechchange="processspeech();" />• Synthesis <audio autoplay="true"> <source type="audio/mpeg" src="http:// goo.gl/r9Mhm" > </audio> © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  21. 21. Voice User Interfaces - Ford Sync, Siri, and Cora © 2012-2013 Wolf Paulus - http://wolfpaulus.com
  22. 22. ThanksSlides: http://wolfpaulus.com/slidesCode: git clone https://github.com/wolfpaulus/bots.git © 2012-2013 Wolf Paulus - http://wolfpaulus.com

×