Speech Recognition ECE5526 Wilson Burgos. Outline Introduction Objective Existing Solutions Implementation Test and Result Conclusion.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

CS0004: Introduction to Programming Visual Studio 2010 and Controls.
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.
1 Mobile Computing Mobile First (formerly Worklight) Copyright 2015 by Janson Industries.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Android: Hello World Frank Xu Gannon University. Steps Configuration ▫Android SDK ▫Android Development Tools (ADT)  Eclipse plug-in ▫Android SDK and.
Spik v1.0 Voice Commands Execution in a Windows Environment Dekel Abelson Eliran Dahan Instructor: Ari Todtfeld.
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Mobile Application Development
Hand Movement Recognition By: Tokman Niv Levenbroun Guy Instructor: Todtfeld Ari.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
MIT Dance Dance Revolution Anna Ayuso and Sharmeen Browarek *Image source:
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
UFCFX5-15-3Mobile Device Development Android Development Environments and Windows.
Neal Stublen Computer Systems Hardware Display Keyboard Mouse Microphone Memory Chips Microprocessor.
An ide for teaching and learning prolog
PART A Emac Lisp   Emac Lisp is a programming language  Emacs Lisp is a dialect.
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
DigiMuse Digitalizing and Vocalizing Sheet Music for Mobile Devices running on Android OS by GOBİT.
CHAPTER 1 XNA Game Studio 4.0. Your First Project A computer game is not just a program—it is also lots of other bits and pieces that make playing the.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Image Processing for Remote Sensing Matthew E. Nelson Joseph Coleman.
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Introduction to Android. Android as a system, is a java based operating system that runs on the Linux kernel. The system is very lightweight and full.
Ali Shahrokni Application Components Activities Services Content providers Broadcast receivers.
CapturaTalk4Android Demonstration Abi James
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Week 1 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
Educational & entertraiment applications on Android platform «Piano» and «Abetare» Anisa Shehu Prof. Asoc. Elinda Meçe 14 th Workshop “Software Engineering.
11 INSTALLING AND MANAGING HARDWARE Chapter 6. Chapter 6: Installing and Managing Hardware2 INSTALLING AND MANAGING HARDWARE  Install hardware in a Microsoft.
Controlling Computer Using Speech Recognition (CCSR) Creative Masters Group Supervisor : Dr: Mounira Taileb.
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
Implementation of a Relational Database as an Aid to Automatic Target Recognition Christopher C. Frost Computer Science Mentor: Steven Vanstone.
Hands-on Introduction to Visual Basic.NET Programming Right from the Start with Visual Basic.NET 1/e 6.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
TODAY Android Studio Installation Getting started Creating your 1 st App Beginning to understanding Intents.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Mobile Device Development
Mobile Testing – Survival Knowledge – Part V
CA16R405 - Mobile Application Development (Theory)
Hands-on Introduction to Visual Basic .NET
Optical Character Recognition
CA16R405 - Mobile Application Development (Theory)
Emerging Platform#3 Android & Programming an App
CA16R405 - Mobile Application Development (Theory)
Windows 10 An Operating System
CA16R405 - Mobile Application Development (Theory)
CA16R405 - Mobile Application Development (Theory)
Presentation transcript:

Speech Recognition ECE5526 Wilson Burgos

Outline Introduction Objective Existing Solutions Implementation Test and Result Conclusion

Introduction Lots of $$$ are spent annually to improve language skills for non native speakers. Classes for ESOL (English Speakers of other languages) Lack of effective tools Speech recognition can help us in some areas

Objective Create a tool to help people learn to speak English correctly in an effective way. Engage people using new technology (Smartphone's) Using pocketsphinx, android and Text-to-speech technology Simple and intuitive to use Fun

Existing Solutions EyeSpeak - Pros Uses Native Speakers Pronunciation, pitch, timing & loudness Cons Difficult to use Runs only on windows

Concept of Operation The user from the main menu can start the game The game screen must lead the user through a series of words and log the number of positive responses (the score). Each word has a corresponding graphic to display. For example, the game might show the user a picture of a mountain The user has at most 30 seconds to respond

Development Environment Eclipse IDE with Android plugin Cygwin Emulator QEMU-based ARM emulator Runs the same image as the device Limitations No Camera support

Development Environment Actual Device

Implementation Using Java with the Android SDK Pocketsphinx Lightweight speech recognition decoder library Implemented in C

Android Architecture

Application Building Blocks Activity IntentReceiver Service ContentProvider

Application Architecture

Implementation QuizGameActivity The screen at the heart of the application—the game play screen. This screen prompts the user to answer a series of trivia questions and stores the resulting score information Uset Text-to-Speech technology to speak word if in simple mode

Implementation RecognizerTaskAudioTask PocketSphinx VUMeter

Implementation RecognizerTask Interfaces directly to the pocketsphinx library using JNI calls The Java Native Interface (JNI) enables the integration of code written in the Java programming language with code written in other languages such as C and C Consumes data from the audio queue, produced by the AudioTask Calls process_raw Scoring Based on positive detection of the utterance

Implementation AudioTask Interfaces directly to the audio peripherals to gather data Format Sample Rate 8000Hz, 16Bit PCM, 8192k buffer

PocketSphinx Very limited documentation Packaged the pocketsphinx into a shared library Created java shared library counterpart (jar) To be added to the android application Compiled using cygwin Initialized with custom dictionary and language model Speak2me.dic Speak2me.lm Loaded at startup from java code

Limitations Hardware memory In the sphinx4 demos the recognizer was active all the time gathering data. When running in the device the AudioRecord buffer fills up preventing the recognizer to be active all the time. Game needs to be responsive, how to solve this problem?

Limitations Hardware memory The VUMeter class calculates the energy of the sampled data, removing the DC offset with a filter. Detection logic was added to trigger end of utterance automatically with configurable lock/unlock thresholds The game timer automatically starts the recognizer after every given word Device Speed To improve detection the application uses the partial results to determine if a match has been found, doesn’t penalize if partial is incorrect.

Screenshots

Test and Results The cmu07a.dic recognized very poorly hub4_wsj_sc_3s_8k.cd_semi_5000 TOTAL Words: 91 Correct: 56 Errors: 46 TOTAL Percent correct = 61.54% Error = 50.55% Accuracy = 49.45% TOTAL Insertions: 11 Deletions: 3 Substitutions: 32 hub4_wsj_sc_3s_8k.cd_semi_5000adapt TOTAL Words: 91 Correct: 71 Errors: 25 TOTAL Percent correct = 78.02% Error = 27.47% Accuracy = 72.53% T TOTAL Insertions: 5 Deletions: 9 Substitutions: 11

Test and Results Using the custom corpus and creating custom language model the tool accurately detects speech in a timely fashion ~2s.

Installation Need to install custom lexical and language modeling files

Future Additions Adapt scoring based on pitch and phoneme recognition. Add different levels of difficulty Show progress reports

References Sams Teach Yourself Android Application Development, Lauren Darcey & Shane Conder (2010)