TTSApp, in bgt!
This is a quite functional and easy to use tts app, mainly designed when you need to use tts instead of talking.
It includes a terminal like input system such as that of the dectalk say terminal, supporting navigation of the text to correct errors.
The text input system comes from sam tupy and mason armstrong, and is known as the virtualizer. It is the input box used in various games that do not show a windows input box.
I have edited it to support a few functions of this program, such as typing sounds.
Yes, you heard, this program has typing sounds. It's designed so when you don't have a microphone, people can know if you're still typing what you're going to say as they hear the virtual keyboard. Typing sounds were taken from Gorthalon's KeySounds program.
Functions:
This program supports the following:
typing text with optional keyboard sounds in a terminal style input system.
The ability to input more than one string of text, it won't close until you enter a blank line or hit escape.
the ability to repeat the last string of text you entered with a simple keystroke.
The ability to clear the entire input box instead of deleting it one character at a time.
The ability to write directly to wave files when using sapi, good for tts skits.
The ability to configure the voice used for tts, supporting SAPI5, eloquence, and DECtalk.
The ability to alter voice parameters such as rate, pitch, and volume of the voice with special character strings.
Optional character repeat for not so good typers, routed through screen reader.
The ability to correct errors in the input box as you type, again uses the screen reader.
the ability to loop background ambience as well as play up to 12 sound effects via key assignments.
keys:
enter, submit input.
escape, exit.
f1, toggle typing sounds.
f2, toggle character repeat.
f3, toggle announcing of capitols.
f4, toggle wave writing. When writing to wave, you will be asked for a filename after you submit your input, and a small beep will play when the wave writing is complete.
f5, configure voice, (SAPI5 mode)
f6, change engine.
f7, select background loop.
f8, toggle background loop.
f9-f10. Background ambience volume.
ctrl+f1-12, load a sound effect onto that key.
shift+f1-12, play sound effect assigned to that key.
shift backspace, clear the input box.
shift enter, repeat the last input text.
Space within the voice configuration menu, test voice.
Configuring the speech's parameters - SAPI5 mode:
this program allows you to configure the current voice's parameters by using special tags as the only input text. These tags begin and end with a backslash.
The tags take on the format of \atribute=value\
the available atributes and their ranges for value are shown below.
rate: changes the speaking rate, from -10 to 10, default 0.
pbas: changes the pitch, range -10 to 10, default 0.
volm: changes the volume, range -100 to 0, default 0.
There is also a special reset tag with the atribute rset, and it can contain a value of 0 to just reset the rate, pitch, and volume, or it can have a value of 1 to also reset the current speaking voice.
Example: \rset=1\ resets to the default voice, also changing pitch, speed, and volume to 0.
Configuring the speech's parameters - eloquence mode:
The only way to configure the parameters in eloquence mode is by passing backquote tags directly to the synthesizer. The grave accent is supported.
Tags passed to the synthesizer are passed by sending a grave accent, a tag, and it's number, all without any whitespace. Tags, ranges, and descriptions are given below.
vs, 0-250, speed. Default for all voices is 50.
vb, 0-100, pitch. Default is 65.
vf, 0-100, inflection/pitch fluctuation. Default is 30.
vv, 0-100, volume. Default is 92.
vr, 0-100, roughness. Default is 0.
vy, 0-100, breathiness. Default is 0.
vh, 0-100, head size. Default is 50.
vg, 0-1, gender. 0=male, 1=female.
v, voice selection.
1, reed, default male voice.
2, shelly, default female voice.
3, bobby, child voice.
4, rocko, large male voice.
5, glen, second male voice.
6, sandy, second female voice.
7, grandma, elderly female voice.
8, grandpa, elderly male voice.
l, language selecter.
1.0, American English.
1.1, British English.
2.0, Castilian Spanish.
2.1, Latin American Spanish.
3.0, French.
3.1, Canadian French.
4.0, German.
5.0, Italian.
6.0, Chinese. Comes with an english text reader, but exhibits strange tone behavior when reading english text.
7.0, Brazilian Portuguese.
8.0, Japanese. Usually just spells things out.
9.0, Finnish.
10.0, Korean.
Example. `vs50, sets voice speed to 50.
Configuring the speech's parameters - dectalk mode:
dectalk also requires you to enter tags directly into the synthesizer, however there are way too many and way too much you can do with the synthesizer for me to list everything here. I'll give you all the voices.
Dectalk voice tags take on the format of left bracket colon n letter right bracket, where letter is the first letter of one of the voices listed.
paul
betty
dennis
harry
kit
rita
ursula
wendy
Notes about eloquence:
The eci included also contains the latest dictionary for ultraeloquence, in root.dic. Do not remove this file or the program will crash.
configuration of the voice with the f5 key will not work in eloquence mode, since that menu is designed for sapi. You will have to use the ECI voice tag.
I do not take any legal responsibility for usage of eloquence. The version I am using, (ECI), was freely distributed as binaries in a demo program. I have not reverse engineered or modified eloquence itself in any way, I have simply wrapped the dll by reading a manual provided for ECI 6.2 by IBM corperation.
Notes about dectalk.
dectalk basically requires the NVDA addon to function, simply because it will occasionally error out upon boot and you must use the NVDA addon to give it back it's lifetime.
The access32 addon can be downloaded from the following page
http://jeff.tdrealms.com/NVDA.htm
if dectalk errors out upon boot of the app, you will be notified and asked if you wish to continue execution.
To get dectalk back in function after this error point, do the following.
Click no to close the application.
Press ok at the alert that appears.
go to your NVDA synthesizer settings dialog.
Select DECtalk.
Wait for it to speak.
Go back into your NVDA synthesizer settings dialog and select your previously used synth.
Boot the app.
BY this point, dectalk should be running.
Enjoy my little tts app!