230 likes | 368 Views
Discover the integration of speech recognition in home automation with this comprehensive guide. Learn how to control various devices using common communication methods such as RS-232, HTTP GET/POST, and infrared. Each method is explored, detailing their pros and cons. You will also delve into setting up Kinect for Speech Recognition, understanding speech engines, grammars, and different recognition methods. Whether you're a beginner or looking to enhance your skills, this resource will equip you with the knowledge to seamlessly control your environment through voice commands.
E N D
Billy Overton2012-9-19 Home Automation with Speech Recognition
Controlling Your Devices Getting back to software
Common Communication Methods • RS-232 • HTTP GET/POST • Infrared • Custom
RS-232 • Pros • Many devices have RS-232 control • Extremely simple • Has common libraries • Usually well documented • Cons • Uncommon Hardware • No common command set
RS-232 in PowerShell http://files.support.epson.com/pdf/plhc87u/plhc87uug.pdf
HTTP GET/POST • Pros • Uses pre-existing controls systems • Can be as simple as an iframe • Customizable • Cons • Usually less documented
Infrared • Pros • Almost everything has a remote • Will cover all the functions a user wants • Has premade tools: (Win)LIRC • http://lirc.sourceforge.net/remotes/ • Cons • Time consuming • Hardware Dependent
Custom • Pros • You can do anything you want • Cons • More hardware
Speech Recognition with Kinect From voice to code
Microsoft SDKs • Kinect for Windows • Microsoft Speech Platform
Speech Recognition • Speech Recognition Engines • Grammars • Recognition Results
Speech Recognition Engines • There are two types • We’ll use SpeechRecognitionEngine();
Grammars • Define what we are looking for • Have three methods of creation • GrammarBuilder class • SrgsGrammar class • Srgs XML file
GrammarBuilder • Allows you to add items such as strings and Choices objects to build a grammar • Used to create a Grammar object
Adding a Grammar • recognitionEngine.LoadGrammar(g)
Listening for Speech • Two Methods • Synchronous • recognitionEngine.Recognize() • Returns RecognitionResult • Asynchronous • recognitionEngine.RecognizeAsync() • recognitionEngine.RecognizeAsync(mode) • Raises SpeechRecognized event
RecognitionResult • Contains all data regarding one grammar match. • Most notably contains: • Result.Text • Result.Confidence
Questions and Contact Information • Name: Billy Overton • Email : overtonb@goldmail.etsu.edu • IRC: logos on irc.freenode.net • Join us in the #etsuacm channel