Click here to Skip to main content
Click here to Skip to main content

A Simple Speech Application Using SAPI 5.1 SDK

, 3 Oct 2004
Rate this:
Please Sign up or sign in to vote.
A simple speech application using SAPI 5.1 SDK.


This small speech application converts text to speech and speech to text. If you choose the "Speak" option, whatever you type in the textbox is is converted to speech and you can hear the Microsoft's default voice speaking it out!

This application also converts speech to text. Just connect your microphone and do the "Microphone Setup" to set up your microphone and speak. You will be able to see the words get typed in the textbox as you speak!

For best results please do try the Voice Training Wizard before speaking out anything, it helps in setting your grammar.

Using the Code

The application is a dialog based application written in MFC. It uses only one dialog class CSpeechDlg.

The steps involved are as follows:

  1. Initialize COM.
  2. Initialize the Recognizer (to recognize that a speech is being invoked).
  3. Initialize the RecoEngine (the Speech engine).
  4. Initialize the RecoContext (the context in which we are going to write the speech application).
  5. Set a user-defined message that will grab whenever something is spoken, to our window (here dialog).
  6. Set the speech record interest in RECOGNITION Status.
  7. Create the default audio input.
  8. Set the Input to the speech engine.
  9. Specify the Grammar that we want to use (here we use Dictation Grammar).
  10. Load the Dictation Tool.

Speech To Text

The CallBack function for our user defined message will perform the following for the speech to text conversion:

  • It will process all the speech events.
  • Check for the event ID generated to identify the speech event that has occurred.
  • If it is the speech recognition event, then get the text and display it in the text area.

Text to Speech

This is a simple process, you just have to pass the text to a function Speak(text) and now the function will take care of its processing .


  • Microsoft Speech SDK 5.1.


  • Microsoft Speech SDK 5.1 onwards.

My contact


  • SAPI - Speech Application Programmer Interface.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Software Developer
New Zealand New Zealand
Chakkaradeep, known as Chaks to his friends, hails from the Indian subcontinent.Having done his Masters in Software Engineering, he knows his way around a computer and has sound knowledge of Microsoft technologies.
Chaks is currently working as a Microsoft Developer @ New Zealand.
You can reach him via his blog -

Comments and Discussions

Generalwhy? PinmemberMe is Needer21-Jun-14 22:38 
QuestionMr.Chaks i really need your help PinmemberOsai Orosco2-May-14 23:53 
QuestionA Simple Speech Application Using SAPI 5.1 SDK PinmemberHoaCat15-May-12 6:49 
QuestionHow to set LCID? PinmemberVaclav_Sal2-Nov-11 6:16 
GeneralError PinmemberMember 79086862-Jun-11 20:37 
GeneralMy vote of 3 PinmemberHuangQihua26-Apr-11 17:42 
Generalspeech recognition code Pinmembervambe william21-Mar-11 8:12 
GeneralRe: speech recognition code PinmemberHuangQihua26-Apr-11 17:38 
GeneralSpeech to text Pinmemberkanhaiyalal559011-Oct-10 10:53 
Generalreally i need hlp sos plz Pinmemberiamlina18-Aug-10 7:23 
Generalspeech to text conversion PinmemberBasudevkuet4-Jan-10 4:24 
Generalspeeh recognition project Pinmembervvkvinothkumar2-Jan-10 3:09 
Generalspeech to text Pinmembervishal_0517-Dec-09 12:39 
QuestionWhat about input from wav file ?? Pinmemberpantherab27-Nov-09 6:07 
GeneralVoicechat in Website PinmemberSelvaSR11-Aug-09 7:24 
Generalproblem in the code provided PinmemberAnuj Jain23-Mar-09 6:33 
GeneralRe: problem in the code provided PinmemberMember 597963029-Sep-09 21:05 
GeneralPlz From Voice2Text Using C# Pinmemberalmthnna21-Mar-09 7:20 
Generalvoice command in vb6 Pinmembernexxi benom29-Aug-07 3:02 
Generalsource code for tts Pinmemberzuwie28-Aug-07 17:56 
Questionspeech to text Pinmembersai_josna167-Aug-07 20:22 
Generalspeech to text Pinmembersai_josna167-Aug-07 20:16 
Generalspeech to text Pinmemberfetiya2-Apr-07 2:42 
Generalvoice2text using c# Pinmemberfetiya27-Mar-07 22:42 
GeneralError regarding text to speech convertion Pinmembervenkatttttttttttt19-Aug-06 3:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140827.1 | Last Updated 3 Oct 2004
Article Copyright 2004 by chakkaradeepcc
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid