CloudVoice is a Text To Speech (TTS) provider for Microsoft Windows that implements the SAPI-5 speech interface and forwards TTS commands to cloud providers
Another recent project, Mozolm, has selected the Bazel build system. I'm curious whether this is a better choice. Its public documentation certainly seems more fleshed out.
The SAPI interface is based on COM/IDL which is a bit obtuse to understand in today's world.
Step 1: Abstract the ISpTTSEngine interface and restate it using a functional description language which is a bit higher level (C# interface? "Native" C++ interface?)
Step 2: Select a C++ coding standard for expressing that interface.
Step 3: (separate issue) Find a matching build system that can both implement that interface as well as the COM interop layer.