Click here to Skip to main content
15,867,141 members
Articles / Programming Languages / VBScript
Article

Text-To-Speech

Rate me:
Please Sign up or sign in to vote.
4.32/5 (35 votes)
27 Nov 20012 min read 645.8K   9.9K   66   125
This is a tutorial which shows you how to create a simple program that will speak anything!

Introduction

This tutorial will show you how to create a very simple program that will actually speak! You will need to download the text-to-speech control if you have not already downloaded it.

Step 1 - Adding the controls

Firstly add a new Standard EXE project. Then change the projects name to TextToSpeech. Change the forms name to frmSpeak. Add the Direct Text-to-Speech control to the form by right clicking on the toolbox and then selecting components. Click on the Microsoft Direct Text-to-Speech item and then click OK.

Image 1

Draw the Text-to-speech control on the form and set its name property to spkSpeak and its visible property to false. Next add 10 buttons. Set their names to btnNumbers and their captions to one greater than their index. Then add a text box and change its name to txtText, its text property to nothing and its multiline property to true. Add a button below the text box. Set its name to btnSpeak and its caption to Speak.

Step 2 - Declaring the constants

The next step is to add the code. This code will say the caption of the button and then run a program depending on which button you clicked. Add this code to the general declarations:

Const Notepad = "c:\windows\notepad.exe"
Const Wordpad = "C:\program files\accessories\Wordpad.exe"
Const Paint = "c:\windows\Pbrush.exe"
Const Calculator = "c:\windows\Calc.exe"
Const Volume = "c:\windows\Sndvol32.exe"
Const InternetExplorer = "C:\Program Files\Internet Explorer\Iexplore.exe"
Const SoundRecorder = "c:\windows\Sndrec32.exe"
Const Clipboard = "c:\windows\Clipbrd.exe"
Const Dialer = "c:\windows\Dialer.exe"
Const Solitaire = "c:\windows\Sol.exe"

Step 3 - The code

Now add this code under the click event of btnNumbers:

spkSpeak.Speak "You clicked button number " & btnNumbers(Index).Caption & "."

Select Case Index + 1
  Case Is = 1
    Shell Notepad, vbNormalNoFocus
  Case Is = 2
    Shell Wordpad, vbNormalNoFocus
  Case Is = 3
    Shell Paint, vbNormalNoFocus
  Case Is = 4
    Shell Calculator, vbNormalNoFocus
  Case Is = 5
    Shell Volume, vbNormalNoFocus
  Case Is = 6
    Shell InternetExplorer, vbNormalNoFocus
  Case Is = 7
    Shell SoundRecorder, vbNormalNoFocus
  Case Is = 8
    Shell Clipboard, vbNormalNoFocus
  Case Is = 9
    Shell Dialer, vbNormalNoFocus
  Case Is = 10
    Shell Solitaire, vbNormalNoFocus
End Select

Then next piece of code will speak the text typed in the text box. Add this code to the btnSpeak click event:

spkSpeak.Speak txtText.Text

Image 2

This is how it works: when the button is clicked it says, "You clicked button number" and then it says the caption of the button. It then runs a program depending on which button you clicked. Also, when you type something in the text box, it reads the text and speaks it out. Your form should look something like this:

Image 3

If you run the program, it should speak the caption of the button you clicked and run a program and if you type something in the text box it should speak what you typed. Have fun!

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
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionNo Sound Output Pin
Arabinda Ghosh 9627-Jun-15 2:42
Arabinda Ghosh 9627-Jun-15 2:42 
BugxVoice.dll is missing Pin
Farid Alkorashy23-May-14 5:53
Farid Alkorashy23-May-14 5:53 
Questionitalian language Pin
Member 1001284430-Apr-13 4:36
Member 1001284430-Apr-13 4:36 
GeneralMy vote of 5 Pin
FABUS2712-Jun-12 3:36
FABUS2712-Jun-12 3:36 
QuestionNot working Pin
Sjnilan13-Mar-12 7:27
Sjnilan13-Mar-12 7:27 
QuestionPlease, send me source too Pin
Raimond S29-Nov-11 23:05
Raimond S29-Nov-11 23:05 
QuestionABOUT THE TEXT TO SPEECH PROJECT Pin
madhuramanojjoshi14-Jul-11 19:59
madhuramanojjoshi14-Jul-11 19:59 
Generalsend me the source code Pin
chintan27907-Mar-11 0:56
chintan27907-Mar-11 0:56 
GeneralRe: send me the source code Pin
srikantharumilli8-Sep-11 7:04
srikantharumilli8-Sep-11 7:04 
GeneralMy vote of 1 Pin
Naren83.Freak21-Oct-10 6:41
Naren83.Freak21-Oct-10 6:41 
No Sound!
This program will not give the desired output
GeneralMy vote of 1 Pin
rahuluttarkar11-Oct-10 1:19
rahuluttarkar11-Oct-10 1:19 
GeneralMy vote of 5 Pin
walter galotta 18-Jul-10 20:47
walter galotta 18-Jul-10 20:47 
Generaltext to speech Pin
Member 373269320-May-10 22:28
Member 373269320-May-10 22:28 
GeneralNice Tutorial Pin
sankaranandan6-Mar-10 20:57
sankaranandan6-Mar-10 20:57 
Generalsir i am geting compiler error : method or data member not found Pin
chistiforu_2k516-Dec-09 14:57
chistiforu_2k516-Dec-09 14:57 
GeneralNo Voice Pin
Gurinder Pal15-Dec-09 21:48
Gurinder Pal15-Dec-09 21:48 
GeneralMy vote of 1 Pin
Kumar Umang Gupta21-Oct-09 2:17
Kumar Umang Gupta21-Oct-09 2:17 
AnswerRe: My vote of 1 Pin
JBrim18-Nov-09 4:23
JBrim18-Nov-09 4:23 
QuestionWhat's true? Pin
beibut17-Oct-09 7:01
beibut17-Oct-09 7:01 
GeneralProblem solved. Thank you Pin
johnius17-Mar-09 1:57
johnius17-Mar-09 1:57 
GeneralHELP PLEASE.... Pin
Mary May26-Sep-08 19:20
Mary May26-Sep-08 19:20 
Generalnot responding well Pin
Ram.Cse8-May-08 6:02
Ram.Cse8-May-08 6:02 
GeneralNo sound Pin
BrunoCoimbra15-Apr-08 8:34
BrunoCoimbra15-Apr-08 8:34 
Questionno sound appear Pin
kimodiab6-Apr-08 10:11
kimodiab6-Apr-08 10:11 
QuestionText to Speech converter(olife) Pin
olyad25-Mar-08 3:48
olyad25-Mar-08 3:48 

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.