2021-03-09 10:19:43

Hello!
I heard some opinions on this forum stating that using iSPVoice interface is better than builtin System.Speech.Synthesis.
Is it just a matter of personal preference or I can gain something from using COM? I am nearing finishing my first serious project and I am in process of creating a speech backend.

If you want to contact me, do not use the forum PM. I respond once a year or two, when I need to write a PM myself. I apologize for the inconvenience.
Telegram: Nuno69a
E-Mail: nuno69a (at) gmail (dot) com

2021-03-09 18:06:28

Erm, doesn't System.Speech.Synthesis.SpeechSynthesizer() use COM as a backend? I'm not positive, but pretty sure that's what I heard. So if that's true, the only thing you would gain are more source code lines. Oh and a headache from using COM. COM is a pile of evil magic from the 90s, and I try to avoid it at all costs.

2021-03-10 20:46:23

Yeah, it does. If you want something that doesn't use com, try the c# wrapper for eSpeak, or the tts engine present in uwp, that uses the one core voices instead of sapi, a totally different platform actually. And you're right, the usage of com in stead of sapi is nothing more than personal preference as far as  I am aware, please correct me if I'm wrong.

2021-03-10 20:49:54

@3
My main problem with OneCore is that they don't let developers make voices custom for it, as well as not exposing the API, very easily and much of it, anyways, but that could change. The way NVDA has to talk to it is probably, interesting. It probably exposes basic things like settings, but no API for making voices.

2021-03-10 22:01:12

You can talk to One Core etc. by talking to the UWP APIs I believe.  Those are available to non-UWP apps as well as a good variety of other UWP APIs.

I'd just use Tolk.  But if you're not going to use Tolk you have to cover several variations of these APIs: at least Sapi 4 *and* Sapi 5 (which are different), the Win10 voices.  And presumably people are going to want their screen reader too.  Clipboard of course. Etc.

My Blog
Twitter: @ajhicks1992

2021-03-10 22:02:48

@Camlorn, it is not a game. I use SAPI for a very specific reason. This is my TTS wrapper for Android and so I need a granular control on when the uytterance is ended, ETC.

If you want to contact me, do not use the forum PM. I respond once a year or two, when I need to write a PM myself. I apologize for the inconvenience.
Telegram: Nuno69a
E-Mail: nuno69a (at) gmail (dot) com