Talking to Robots Using MS Speech SDK 5.1 in C# Sebastian van Delden USC Upstate

Slides:



Advertisements
Similar presentations
Lists, Loops, Validation, and More
Advertisements

Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Web Design with Cascading Style Sheet Lan Vu. Overview Introduction to CSS Designing CSS Using Visual Studio to create CSS Using template for web design.
11 Getting Started with ASP.NET Beginning ASP.NET 4.0 in C# 2010 Chapters 5 and 6.
The Web Warrior Guide to Web Design Technologies
Copyright 2007, Information Builders. Slide 1 Implementing On-Click Functionality With the HTML Layout Painter Larry J Braun Education Specialist June,
ASP Tutorial. What is ASP? ASP (Active Server Pages) is a Microsoft technology that enables you to make dynamic and interactive web pages. –ASP usually.
XML Why is XML so popular? –It’s flexible –It enables you to create your own documents with elements (tags) that you define Non-XML example: This is a.
Intro to HTML Workshop. Welcome This slideshow presentation is designed to introduce you to the basics of HTML. It is the first of three HTML workshops.
Component and Deployment Diagrams
ITCS 6010 XML Grammars. What is a Grammar? Specifies what can be said—all the possible sentences and phrases that can be recognized Includes entry via.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
CGI programming Using Apache. Concepts Browser prepares parameter list List is attached to name of program to run on server "submit" button sends string.
Creating and publishing accessible course materials Practical advise you can replicate.
Getting started with Microsoft.NET Gadgeteer Comberton Village College Gadgeteer Club.
 Using Microsoft Expression Web you can: › Create Web pages and Web sites › Set what you site will look like as you design it › Add text, images, multimedia.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Javascript and the Web Whys and Hows of Javascript.
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
05/09/ Introducing Visual Basic Sequence Programming.
Lecture Note 3: ASP Syntax.  ASP Syntax  ASP Syntax ASP Code is Browser-Independent. You cannot view the ASP source code by selecting "View source"
JavaScript & jQuery the missing manual Chapter 11
Copyright © Texas Education Agency, All rights reserved. 1 Web Technologies Website Development with Dreamweaver.
Java Beans.
Review of Building Intelligent.NET Applications Stu Egli Andre Inistotov Frenny Saldana Kate Styers Nishant Zinzuwadia MSE 614 February 26, 2008.
Tutorial 14 Working with Forms and Regular Expressions.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Regular Expressions in.NET Ashraya R. Mathur CS NET Security.
Programming with Microsoft Visual Basic 2012 Chapter 12: Web Applications.
Introduction to Graphical User Interfaces. Objectives * Students should understand what a procedural program is. * Students should understand what an.
XP New Perspectives on Microsoft Office Access 2003 Tutorial 11 1 Microsoft Office Access 2003 Tutorial 11 – Using and Writing Visual Basic for Applications.
Chapter 6 Understanding the Structure of an Application: Procedures, Modules, and Classes.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
ASP.NET Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours Digital.
Website Development with Dreamweaver
An Introduction to Designing and Executing Workflows with Taverna Katy Wolstencroft University of Manchester.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 27 - Phone Book Application Introducing Multimedia.
C# Tutorial -1 ASP.NET Web Application with Visual Studio 2005.
INTRODUCTION TO HTML5 Using jQuery with HTML5. Introducing jQuery  Although it is not a part of any W3C or WHATWG specification, jQuery performs an important.
Unit 3 Day 6 FOCS – Web Design. Journal Unit #3 Entry #4 Write the source code that would make the following display on a rendered page: Shopping List.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
HTML: Hyptertext Markup Language Doman’s Sections.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
USING XML AS A DATA SOURCE. Data binding is a process by which information in a data source is stored as an object in computer memory. In this presentation,
XP 1 New Perspectives on XML Binding XML Data with Internet Explorer.
1 Database Design and Development: A Visual Approach © 2006 Prentice Hall Chapter 8 DATABASE DESIGN AND DEVELOPMENT: A VISUAL APPROACH Chapter 8 Creating.
Applications Development
Illustration of a Visual Basic Program Running an Ada Program 1 by Richard Conn 11 September 1999.
Sahar Mosleh California State University San MarcosPage 1 JavaScript Basic.
© 2011 Delmar, Cengage Learning Chapter 3 Working with Text and Cascading Style Sheets.
An Introduction to Designing, Executing and Sharing Workflows with Taverna Katy Wolstencroft myGrid University of Manchester IMPACT/Taverna Hackathon 2011.
Introduction into JavaScript Java 1 JavaScript JavaScript programs run from within an HTML document The statements that make up a program in an HTML.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
Understanding JavaScript and Coding Essentials Lesson 8.
JavaScript Events Java 4 Understanding Events Events add interactivity between the web page and the user You can think of an event as a trigger that.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
JavaScript Events. Understanding Events Events add interactivity between the web page and the user Events add interactivity between the web page and the.
Programming with Visual Basic.NET. Quick Links Program Code The Code Window The Event Procedure Assignment Statements Using AutoList Radio Buttons Buttons.
COMPREHENSIVE Excel Tutorial 12 Expanding Excel with Visual Basic for Applications.
Introduction to.
Using DHTML to Enhance Web Pages
Introduction to ASP By “FlyingBono” 2009_01 By FlyingBono 2009_01
Lecturer: Mukhtar Mohamed Ali “Hakaale”
Teaching slides Chapter 6.
Presentation transcript:

Talking to Robots Using MS Speech SDK 5.1 in C# Sebastian van Delden USC Upstate

Microsoft’s Speech SDK 5.1 Libraries developed by MS to facilitate the development of speech recognition and text- to-speech generation applications. For Windows XP, MS Speech SDK 5.1 can be downloaded as a self extracting executable. Download and install it.

Getting Started… For a new C# project, you’ll need to import “SpeechLib” as a Reference and then instantiate the recognition objects, event handlers, etc… Just download the simple starter project that is provided for you on the course website:  SimpleSpeechProject.zip Unzip this file and open the solution in Visual C#

The Sample Program: Top text box will display the literal speech that was recognized Bottom text box displays the semantics/meaning of the speech recognized.

The code that creates the speech recognition and grammar objects. User Created Grammar File. More on this in a minute

Event Handlers that trigger when speech is recognized… More on these in a minute…

Defining a Grammar The Speech Recognition engine will only try to match utterances which have been defined in a grammar.  A “grammar” defines the rules of a language. MS Speech SDK 5.1 uses XML to define these grammars.  MS has there own special grammar specification. The outer XML tag must always be “GRAMMAR” and can set a language ID (for example, 409 means stand English.

Microsoft XML Grammar Style … Grammar rules to be inserted here… …

Defining a New Rule Each rule should have a user-defined name and also say if it should be actively matched on the “TOPLEVEL”  If it is not TOPLEVEL active, that means that it is a sub-rule that is using by another rule

Rule Tags Optional Match:  … List (match only 1 of these)  … Paragraph (all literal items must be in P tags)  … Referencing another rule  To recognize new literal text not defined in the grammar, you can use DICTATION inside of tags. 

Example Grammar/Rule Continued… References a sub- rule that is defined on a later slide

Properties As the grammar rules recognize the actual text being spoken, the semantics/meaning of the text can be captured using tag attributes. PROPNAME=“name”  Defines a property and gives it a name VALSTR=“value”  Defines the value that should be returned for this property

Example Grammar/Rule Continued…

Getting Results… This event handler (shown earlier in these slides) is trigger when the grammar rules recognize something. The recognized text and properties are all stored in the “ISpeechRecoResult” Result object. void RecoContext_Recognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult Result){ …

ISpeechRecoResult Result Contains an object called PhraseInfo which contains:  A GetText( ) method Returns literal text  Properties attribute Which contains all the property/values pairs recognized. For example, to get the name and value of the first property, you do this:  Result.PhraseInfo.Properties.Item(0).Name  Result.PhraseInfo.Properties.Item(0).Value  Many other methods/attributes you can play with..

Example Output of Sample Speech Project that you can download:

Connecting to the V+ Robot Controller (CS7B) Once you have recognized and interpreted the meaning of a command, you can tell the robot what to do. Download the robot communication socket classes (2) from the course website which can be used to establish a TCP/IP connection with the V+ robot controller. Include the two classes in your speech project.

Establishing a connection Create a new Controller object.  This will also require a program to be ran from the V+ side to establish the connection.  This is also in the zip file on the website “control.v2” Run the C# code first. Then run the control.v2 program on the V+ controller. After the link has been established, the C# code can use its robot controller object to pass strings to the robot which are executed.  The string must be a valid V+ line of code

Example Controller robot; // establish a connection to the robot robot = new Controller(); // Waits until you run the V+ control program // Once connection established, issue V+ commands: robot.execute(“move #a”); robot.execute(“ready”);