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.



Thumbs up


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.

Some of my games
Keep up to date by following @Jeqofire on twitter!
Ear Ninja?

Thumbs up


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.0: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

Thumbs up


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

bitcoin address: 1LyQ3hziMC2DTnCtgM3V1zfuZ73P3CYT9P

Thumbs up


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.



Thumbs up


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

bitcoin address: 1LyQ3hziMC2DTnCtgM3V1zfuZ73P3CYT9P

Thumbs up


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 really tend to miss direct messages. If you want to contact me privately, please send an email instead of a direct message.

Thumbs up +1