Voice command and response

Voice command and response is even better than touch screens and buttons when implemented well, because it can eliminate all need to take your eyes off the road. If you’re programming under Windows for your Car PC, you can use the considerable resources Microsoft makes available in your software for voice command and response, including the following:

Speech SDK — If you’re programming in C++ or Visual Basic (VB), you can access the Microsoft speech libraries through the Speech Software Development Kit SDK. As stated in the Speech SDK documentation:

Microsoft Speech SDK is a software development kit for building speech engines and applications for Microsoft Windows. Designed primarily for the desktop speech developer, the SDK contains the Microsoft® Win32-compatible speech application programming interface (SAPI), the Microsoft continuous speech recognition engine and Microsoft concatenated speech synthesis (or textto-speech) engine, a collection of speech-oriented development tools for compiling source code and executing commands, sample application and tutorials that demonstrate the use of Speech with other engine technologies, sample speech recognition and speech synthesis engines for testing with speech-enabled applications, and documentation on the most important SDK features.

You can define the specific lexicon and grammar the system recognizes, and can change them from one application to the next. The speech libraries do require you use the Microsoft Component Object Model (COM), which in C++ is — to be charitable — complex, but there are sample applications you can grab code from. A discussion of using the speech tools with the Microsoft Foundation Classes (MFC) is included in the SDK documentation titled “Using MFC to Automate SAPI.” You’ll want to read it before starting to build speech into a C++ program. There are VB samples too, and much of the COM complexity is hidden by the underlying VB platform.

Technical articles — The Microsoft site hosts a number of articles on how to build a good speech interface. The articles are written from the perspective of developing a speechenabled Web application, but many of the concepts apply well to automotive and embedded applications too, including the articles “Voice User Interface Design: Tips and Techniques,” “Voice User Interface Design: Purpose and Process,” and “Heuristics: Lessons in the Art of Automated Conversation.”