2017-08-24 23:46:26

Hello all,
well, searching about this topic did not returned any useful results, so I must to ask more experienced programmers. What should I to do to make a sapi 5 compatible voice?
Now I have a code (not mine), which takes text and returns it speaked in wav format. It sounds very good, so voice is ready for use in screenreaders, but how to make it sapi compatible?

I know absolutely nothing about this, my friend developed this voice and now we want to bring it to modern systems, but we don't know how to do it, so any help will be appreciated.

Thank you very much.

Greetings

Rastislav

2017-08-25 01:07:16

I get the feeling that sapi.h, sapi.lib, Microsoft Speech SDK, etc might lead in the right direction. I'm not sure how to filter out all the "how to make an application use TTS" results, though.
I think SAPI is an interface, in the polymorphism sense, so I'd start by trying to make your program accessible through a class that implements that interface. I don't know where you'd find documentation for said interface, but I'd start by looking for files such as the above.

看過來!
"If you want utopia but reality gives you Lovecraft, you don't give up, you carve your utopia out of the corpses of dead gods."
MaxAngor wrote:
    George... Don't do that.

2017-08-25 01:40:14

Managed to dug up some resources that may help:

[TTS Engine Vendor Porting Guide (SAPI 5.3)]
[Microsoft Speech Programming Guide]
[how to create a new voice for sapi5 tts speech synthesis]

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

2017-08-25 19:32:36

hello,
as some other stuff in windows, sapi is based on com
so you should be aible to use and make com interfaces
then, interface a com class from ISpTTSEngine and then register it into registry with a com class, also register its guid with in the stuff in registry for text to speech in control panel

2017-10-07 20:26:39

Hi guys,
thank you all for your help, I have still lots of to learn, because as I see I know nothing about com objects and such stuffs. smile
Anyway thank you, I will try to learn it and after I will be able to construct something usable... hope.
Hovever, if it is about com objects only, do it mean that I can make it in other language than a C++? I don't know if for example Python can do com objects, but Borland Delphi for example shoult be able to do it.

Thanks again.

Bestregards

Rastislav

2017-10-09 05:08:06

hello,
i highly recommend you to use atl which has api for dealing with com stuff in C++

2017-10-10 03:14:01

The easiest way would be to download the SDK for Visual Studio from Microsoft, change the example code as required, set up VS2017 community and compile. In this way, the actual implementation of the speech should be written in C/C++.

I don't speak as good as I write, and I don't listen as good as I speak.