System.Speech

MSDN July: Text Services Framework

Most of what I do with speech recognition centers around very limited grammars, designed to improve recognition accuracy in noisy environments. We also have a requirement to support XP, since most of our users are on Tablet PCs running XP SP2. The latest issue of MSDN Magazine (not online yet) has an interesting article by Eric Brown on using the Text Services Framework to provide full-featured dictation in apps running on Vista. Among other features, TFS looks like an interesting approach to the ......

Make sure the speech API is installed

This should go without saying, but I've had recent problems with people not understanding this concept.

If you're using System.Speech in Windows XP, you need to make sure that the speech recognition engine from SAPI 5.1 is installed.

If you're deploying an application, make sure you include the SAPI 5.1 merge module in your installer.

[Update] June issue of VIsual Studio Magazine

Well, it's official -- the June issue of Visual Studio Magazine is out. I have the cover article in this issue, in which I discuss System.Speech, showing the use of dynamically-generated custom grammers for data collection applications.

Front Range Code Camp Post Mortem

Well, the Front Range Code Camp was this past Saturday. I gave two talks -- threading and speech recognition. The threading talk (code samples and slide deck here) was pretty well attended -- about 12 people, which was a good third of the attendees. The strangest part was that there were only two people in the room that were .NET developers, and one of those was still using 1.1 so my BackgroundWorker examples weren't all that much use to him. The rest were Ruby and Java developers, plus a small cadre ......

"Is Speech Recognition Finally Good Enough?"

An interesting article from Computer World. Among other issues, the article explores some of the reasons why most people don't use SR. The biggest reason is the amount of training -- both of the user and the engine -- to get to 98% recognition accuracy, which is the threshold at which users feel that SR is actually useful. "Without help on those issues, about three-fourths of the people who attempt to use SR eventually put it aside and go back to keyboarding, Parks said, and even among those with ......

Dynamically Building Custom Grammars

One of my favorite features of System.Speech is the ability to generate custom grammars dynamically. As I've mentioned earler, this took about 50 lines of code in SAPI 5.1. The System.Speech team has included some very nice coarse-grained methods to accomplish this same task in just four lines of code: Protected WithEvents reco As SpeechRecognizer Public Sub LoadGrammar(ByVal options As List(Of String)) Dim choices As New Choices(options.ToArray) Dim gb As New GrammarBuilder(choices) Dim g As New ......

System.Speech -- What is it?

I've been lurking on the fringes of speech recognition for quite some time. My first exposure required installation of a dedicated ISA sound card. Yes, it was that long ago. As you can imagine, that experience was somewhat less than exhilarating. My next go round was with Dragon in 1999 (I think they were owned by Corel at that point). Although the engine took a while to train, and didn't do very well on some of the words I tried to feed it ("Kosovo" comes to mind). However, once you corrected what ......