Click here to Skip to main content
15,860,972 members
Articles / Desktop Programming / MFC
Article

A Simple Speech Application Using SAPI 5.1 SDK

Rate me:
Please Sign up or sign in to vote.
3.24/5 (24 votes)
3 Oct 20042 min read 217.9K   39.5K   75   37
A simple speech application using SAPI 5.1 SDK.

Introduction

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 .

References

  • Microsoft Speech SDK 5.1.

Pre-Requisites

  • Microsoft Speech SDK 5.1 onwards.

My contact

Note

  • SAPI - Speech Application Programmer Interface.

License

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


Written By
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 - http://chakkaradeep.wordpress.com

Comments and Discussions

 
Generalwhy? Pin
Me is Needer21-Jun-14 22:38
Me is Needer21-Jun-14 22:38 
QuestionMr.Chaks i really need your help Pin
Osai Orosco2-May-14 23:53
Osai Orosco2-May-14 23:53 
QuestionA Simple Speech Application Using SAPI 5.1 SDK Pin
HoaCat15-May-12 6:49
HoaCat15-May-12 6:49 
QuestionHow to set LCID? Pin
Vaclav_2-Nov-11 6:16
Vaclav_2-Nov-11 6:16 
GeneralError Pin
Member 79086862-Jun-11 20:37
Member 79086862-Jun-11 20:37 
GeneralMy vote of 3 Pin
HuangQihua26-Apr-11 17:42
HuangQihua26-Apr-11 17:42 
Generalspeech recognition code Pin
vambe william21-Mar-11 8:12
vambe william21-Mar-11 8:12 
GeneralRe: speech recognition code Pin
HuangQihua26-Apr-11 17:38
HuangQihua26-Apr-11 17:38 
GeneralSpeech to text Pin
kanhaiyalal559011-Oct-10 10:53
kanhaiyalal559011-Oct-10 10:53 
Generalreally i need hlp sos plz Pin
lolinalo18-Aug-10 7:23
lolinalo18-Aug-10 7:23 
Generalspeech to text conversion Pin
Basudevkuet4-Jan-10 4:24
Basudevkuet4-Jan-10 4:24 
Generalspeeh recognition project Pin
vvkvinothkumar2-Jan-10 3:09
vvkvinothkumar2-Jan-10 3:09 
Generalspeech to text Pin
vishal_0517-Dec-09 12:39
vishal_0517-Dec-09 12:39 
QuestionWhat about input from wav file ?? Pin
Umaid127-Nov-09 6:07
Umaid127-Nov-09 6:07 
GeneralVoicechat in Website Pin
SelvaSR11-Aug-09 7:24
SelvaSR11-Aug-09 7:24 
Generalproblem in the code provided Pin
Anuj Jain23-Mar-09 6:33
Anuj Jain23-Mar-09 6:33 
GeneralRe: problem in the code provided Pin
Member 597963029-Sep-09 21:05
Member 597963029-Sep-09 21:05 
GeneralPlz From Voice2Text Using C# Pin
Ahmad Abou Hamdh21-Mar-09 7:20
Ahmad Abou Hamdh21-Mar-09 7:20 
Generalvoice command in vb6 Pin
nexxi benom29-Aug-07 3:02
nexxi benom29-Aug-07 3:02 
Generalsource code for tts Pin
zuwie28-Aug-07 17:56
zuwie28-Aug-07 17:56 
Questionspeech to text Pin
sai_josna167-Aug-07 20:22
sai_josna167-Aug-07 20:22 
Generalspeech to text Pin
sai_josna167-Aug-07 20:16
sai_josna167-Aug-07 20:16 
Generalspeech to text Pin
fetiya2-Apr-07 2:42
fetiya2-Apr-07 2:42 
Generalvoice2text using c# Pin
fetiya27-Mar-07 22:42
fetiya27-Mar-07 22:42 
GeneralError regarding text to speech convertion Pin
venkatttttttttttt19-Aug-06 3:00
venkatttttttttttt19-Aug-06 3:00 

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

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