Is there any sample MSTTS engine (or other TTS engines), installation
programs available?
Can get the TTS to work, but not when I try to run it on a clean
(another) computer.
Help . . .
Bob Jack
Since I'm not familiar with OLE programming, the registering of the
MSTTS.DLL is, and still is, an unknown to me.
In reading the documentation which came with the Speech SDK, I was under
the impression that the voice produced in TTS came from the MSTTS.DLL.
But, surprise, surprise, Microsoft forgot to tell us that this is not
true, it comes from a different place, MSTTSSYN.DLL.
Because I got such great response from here. The next best thing to do
was, try to figure out how SDK30S.EXE installs the speech engine.
If you run the SDK30S.EXE with the /? flag set, it will tell you how to
extract the compressed files in it. You use /T:<full path> and /C. The
full path must already exist.
Example:
SDK30S /T:"C:\\TEMP" /C
Now if you look into your temp directory, you will find a whole bunch of
decompressed files. The 2 most important files (to this discussion) are:
MSTTS.EXE
SPCHAPI.EXE
So, bottom line. Microsoft does not licence MSTTS.EXE for distribution,
but if you run it on a clean computer, it will install the MSTTSSYN.DLL
speech engine, and the 4 voices which accompany it. And all the software
you write with the Speech SDK will work.
-------
Would like to try working with the MSTTS.DLL that Microsoft does
licence. If you know how to install (register it in the registery),
please share. If you know of any sample installation please share.
Thanks,
Bob Jack
> Dear Bob,
>
> I read with interest your posting as I am in a similar situation.
> However it seems you have been able to glean more information than I
> have.
>
> There is a windows programming expert where I work, so i'll ask him
> about the OLE registration thing and if he has any useful feedback i'll
> forward that to you.
>
> I have, over the xmas break, written a 'Spelling' and 'Dictation'
> program for the benefit of my children, and have wondered about what is
> required in an install disk, assuming that one does not use SDK30S on a
> new machine.
>
> If you have any response useful to 'the installation' problem you
> highlighted, I would be most grateful to hear from you. As usual
> Microsoft will be deaf to all these questions.
>
> Regards
> Mahendra
-------
Dear Mahendra,
Had high hopes for the Speech SDK.
In the past couple programs, recorded small snippets of my voice in the
Wave
format, then converted them over to data, and finally included the data
into
the programs. Now, Windows programs have no problems playing Waves,
especially
when they are data in the program. A neat setup.
The problem with this is 2 fold. First, it's nearly impossible to
maintain
your voice on the same type of out put (tone, inflection, etc.). And
second,
you can only record known phrases, you can not use it for a reader.
And so, tried to use it to replace my recorded voice. It sounded really
bad,
in comparison. Went back to recorded voice (you know, program
greetings,
function announcements, closing thanks, etc.).
However, the current program I'm working on is an Email program, and
even with
a crummy voice, at least it could read messages to me. And I can live
with
that.
Now, all the time I thought the SDK was using MSTTS.DLL, and so I looked
for a
way to install it. And at this point, I'm still at a loss, don't know
how to
do it.
Later, found out that the SDK was not using MSTTS.DLL, but was using
MSTTSYN.DLL. It appears at this point that MSTTS.DLL is a fancy Wave
player.
However, MSTTSYN.DLL is a true voice synphasizer.
MS has licenced the MSTTS.DLL (fancy wave player) to be redistributed,
but not
the MSTTSYN.DLL (synphasizer). Think, it maybe because, there are a lot
of
developers out there who have already written their own synphasizers,
and MS is
trying to let them make money selling them. Check the prices, have seen
$2000,
and higher.
Anyway, said all of the above, to say, to get the voice to work on
another
computer, simply cull out the 2 programs:
SPCHAPI.EXE
MSTTS.EXE
(see my last message for how to), and run them on a fresh computer. Run
SPCHAPI.EXE first, then MSTTS.EXE. As far as I can tell, this installs
the
complete API.
There is a problem with this, while SPCHAPI.EXE is resomably sized,
MSTTS.EXE
is in the 7 MegByte range. This makes it diffucult to transport from
one
computer to another.
Once again, I don't believe Microsoft has authorized this, but I think
that's
how it can be done.
Bob
PS. Hope you don't mind, since Microsoft has choosen to ignore our plea
for
help, would like to post this message to the News Board, as others
probably are
having the same problem we are.
-------
Dear Mahendra,
a crummy voice, at least the voice SDK could read messages to me. And I
can
live with that.
SPCHAPI.EXE
MSTTS.EXE
Bob
PS. Hope you don't mind, since Microsoft has chosen to ignore our plea
As you discovered, MSTTS.DLL and MSTTSSYN.DLL are two different SAPI
compatible TTS engines. MSTTS.DLL is a concatenated wave text to speech
engine. It uses a database of wavelets to convert the text to speech, the
basic atomic unit is a word. When you install the SDK it will make the
correct registry entries for MSTTS.DLL to function. For your information,
the registry entries are (in a format suitable for regedit):
REGEDIT4
[HKEY_CLASSES_ROOT\CLSID\{2a46E4C0-4EDA-101B-931A-00AA0047BA4F}]
@="Microsoft Concatenated TTS Engine"
[HKEY_CLASSES_ROOT\CLSID\{2a46E4C0-4EDA-101B-931A-00AA0047BA4F}\InprocServer
32]
@="C:\\WINDOWS\\Speech\\MSTTS.dll"
"ThreadingModel"="Apartment"
[HKEY_LOCAL_MACHINE\Software\Voice\TextToSpeech\Engine]
"MSTTS"="{2a46E4C0-4EDA-101B-931A-00AA0047BA4F}"
MSTTS requires one or more wavelet database files (*.vce) in the same
directory as mstts.dll. Each file is an engine voice/mode. Please refer to
the Speeck SDK documentation details on how to create a voice. Please note
that MSTTSSYN.DLL ".vce" files are not compatible with MSTTS.
- Doug
The opinions expressed in this message are my own personal views
and do not reflect the official views of Microsoft Corporation.