Text-To-Speech test for people who can't speak clearly enough (Computerized VCO)

Mark Rejhon

Member
Joined
Oct 5, 2003
Messages
355
Reaction score
10
Hi,

I am trying to do some experimenting with Text-To-Speech to help me use the telephone. This is really intended for fast typists who can type almost as fast as they can speak. (But cannot speak clearly enough to be understood by most people)

The long term-ultimate goal:
It would be interesting to combine Text-To-Speech for outgoing conversation, and use a service such as CapTel for incoming conversation. This would dramatically speed up a phone call (CapTel potentially goes up to 200 words per minute) as well as eliminate the need for "go ahead"'s in a conversation, and eliminate the need to explain relay service.

Some major programming is needed for something pratical, but this is a simple test application that does text-to-speech that I hooked the speaker output to the headset input of a telephone, and managed to have a VCO conversation through the Relay service without using my voice! So it does show promise, even if the voice is somewhat... robotic.

In this software, typing something and hit Enter, the computer speaks it out.

During my test, I hit Enter instead of spacebar after every phrase, so that the voice streams at near-realtime through the VCO conversation. To get the computer-generated speech over the phone, the computer's speaker output was connected to the headset input of a telephone (with a headset input -- microphone side only). [Edit: Make sure you have the right cable for LINE-OUT from computer, to the LINE-IN of a headset style telephone. If it's a MIC-IN, make sure you also have a 30db attenuator to convert LINE-level signal to a MIC-level signal]

In the longer term, I would need to use TAPI. This will allow me to use almost any voice modem to accomplish this task.

Attached experimental software (includes C# .NET source code and compiled EXE file -- derived from a sample in Microsoft's free Speech SDK 5.1)

[Edit: Link updated with Version 2]
zip.gif
TextToSpeechTest_v2.zip (63.5 KB)
 
Last edited:
Um, I must be missing something because I'm unable to get any sounds out of this program.

Is there any specific instructions that I must follow in order to get this working?
 
What are your preliminary comments -- you can also adjust the speed of the speech by adjusting the slider at the bottom of the text box.

Also, try "Microsoft Mike" in the Control Panel -> Speech -> Text-To-Speech ... that voice sounds better than the default computer voice. However, I heard there are even better voices on the market.

If there are any experienced computer programmers here willing to play with Microsoft Speech SDK (a free download from Microsoft), I'd love to hear from you....!
 
I tested it, and asked my parents for their opinion. They said that it work quite well, but there was a word or two that they didn't get the first time around.

So, I'm saying that it works quite well.

I checked the control panel, and they don't have the Microsoft Mike voice. Is there a place where I can get it?
 
I now have modified version of the software that outputs the voice in realtime, as you type. It will insert pauses automatically if you type too slowly (but not at phrase or sentence boundaries). No need to hit Enter after every phrase anymore, unless you want to control the pausing between phrases.

When you're finished talking, please remember to hit Enter when it is time for the other person to say go ahead. Optionally, you can also type "GA" too, before you hit Enter, and the software will automatically speak "Go Ahead".

I also modified the software to say numbers more slowly, so that you can type phone numbers and it will say the numbers more slowly rather than too fast.

There's also a pause feature, so you can type a reply while you're still waiting for the other person to finish. Hitting Esc clears your reply without it ever being spoken out.

There's also a voice speed adjustment slider as well. You can make it speak more slowly if you type slowly. However, most people prefer normal speed speech with pauses between phrases, anyway.
 

Attachments

  • TextToSpeechTest_v2.zip
    63.5 KB · Views: 92
Last edited:
"The application failed to initialize properly (0x0000135). Click on OK to terminate the application."

Now what do I do?
 
Tostitos said:
"The application failed to initialize properly (0x0000135). Click on OK to terminate the application."

Now what do I do?

:werd: I have the same problem when installing the program. is there a program we are supposed to have beforehand?
 
Hi,

This program was designed to run under Windows XP. I am not 100% sure but you may need to have Microsoft .NET Framework installed (Windows Update). Plus, you might need to install the latest Speech SDK.

I'll give this a quick test on a clean install of Windows XP Home Edition, on another computer, and report back.

Download .NET Framework from http://windowsupdate.microsoft.com if you don't have it already. (It's written in C# language which requires the .NET framework to be preinstalled)
 
Last edited:
It works fine on a fresh Windows XP installation.

Please make sure you unzip the DLL file too!!! Do not just doubleclick SimpleTTS.exe while it's still inside the zip file, you need to unzip the Interop.Speechlib.DLL file too and put it in the same folder where you unzipped SimpleTTS.exe to.
 
Mark Rejhon said:
It works fine on a fresh Windows XP installation.

Please make sure you unzip the DLL file too!!! Do not just doubleclick SimpleTTS.exe while it's still inside the zip file, you need to unzip the Interop.Speechlib.DLL file too and put it in the same folder where you unzipped SimpleTTS.exe to.

Sorry buddy, this is a fresh Windows XP installation and all of the files are OUT of the zipped file including .dll files. It just does not work as for right now.
 
Tostitos said:
Sorry buddy, this is a fresh Windows XP installation and all of the files are OUT of the zipped file including .dll files. It just does not work as for right now.

Did you install "Microsoft .NET Framework" from http://windowsupdate.microsoft.com ?

Three people reports this works, so there is something configuration dependent. I am trying to determine what you need installed. But I need to know if you installed .NET.
 
Last edited:
3 people contacted me to say it works
3 people contacted me to say it doesn't work

It definitely sounds like a missing Windows component. I'm suspecting all you may need is to install ".NET Framework" (latest version from Windows Update) but please let me know if that doesn't work.
 
I have now made some updates, and added some more documentation to the source code. Plus the speech is a little better now.

Download Version 2.1 of Real Time Text-To-Speech here:
http://www.marky.com/files/tts/SpeechToTextTest_v21.zip

Source code included -- derived from Microsoft SimpleTTS SDK sample. To run, just unzip and then run SimpleTTS.exe ....and begin typing. Hit Enter whenever it is time for the other person to go ahead.
 
Hi there, I'm kinda lost as to how to start running this program in the first place.

I am running Win XP, and I have .NET installed. I have unzipped all the files, and where do I go from here?
 
Just doubleclick on the SimpleTTS.exe file to run it where you unzipped it.

There is no installation program. The source code can be ignored by non-programmers.
 
Wow this is really neat!

I see what you mean by it sounding a bit robotic, but it's pretty good for simple speech. However when it comes to explaining more complex things in conversation, it isn't clear enough for the other person to understand.

I've programmed in Java before, and would love to get my head around the C# code behind this... how does the Microsoft speech package fit into the code? Or did you write the speech code yourself?

Peace :)
 
Last edited:
Microsoft Speech SDK is really easy to program - the Speech SDK does all the speech stuff.

The C# program is just a 200 line computer program. The SDK does the rest. Just read the comments in the main SimpleTTS.cs file.
 
excuse me, how can i select other engines?

i spent around 5 days to learn some c# programming skills, 'cause i wanted to transfer my Visual Foxpro application to a multi-language platform. i tried hard to overcome some difficulties of c#, but i was upset by trying to select a french tts engine rather than the default mary/mike engine:

axTextToSpeech1.Select(22)

or something like that, every time i got bug message... so the question is simple: how can i select a text-to-speech engine in a C Sharp application? thank you very much in advance.
 
Back
Top