Not sure if anyone would have a need for this but a game I've been working on for some time would really benefit from it as a voice for a ships onboard computer, like Aurora in eve online .... just a usage example.
The thought of having to make x-amount of audio files ontop of all the other work was enough to make me abandon the idea but being able to just type out what I want said is just magic.
the plugin has the following functions:
TTS.Init() - must be called before any other TTS functions, return the number of available voices.
TTS.VoiceDescription(Index) - Gets the given voice description.
TTS.VoiceLanguageID(Index) - Gets the given voice language id.
TTS.SetVoice(VoiceIndex) - Sets the active voice. (will default to 0 is not set)
TTS.SetVolume(Volume) - Sets the voice volume (0 to 100) (will default to 100 is not set)
TTS.SetRate(Rate) - Sets the voice rate (good range is 0 to 3 depending on voice)(will default to 0 is not set)
TTS.Speak(Text) - Speaks the given text or adds the text to the stream queue, this is an asynchronous function so it will not lock your app, each time its called the text is added to a queue.
TTS.Status() - Gets the TTS status (0 = paused, 1 = stopped, 2 = speaking).
TTS.Pause() - Pauses the current TTS stream.
TTS.Resume() - Resumes the current TTS stream.
TTS.Stop() - Stops all TTS streams.
TTS.GetStream() - Gets the current stream index.
TTS.SkipStream(Index) Skip the given stream.
TTS.Free() - Unloads TTS resources, call at end of program
The plugin will attempt to load Sapi5 and upon fail will attempt to load Speech11, if no TTS runtime can be found TTS.Init() will return -2, 0 if the runtime is found but no voices, >0 is the number of voices found
it should work on XP and above but only tested on Windows 10
Sapi5:
https://www.microsoft.com/en-us/download/details.aspx?id=10121
Speech11:
https://www.microsoft.com/en-us/download/details.aspx?id=27225
Languages:
https://www.microsoft.com/en-us/download/details.aspx?id=27224
Hope someone finds it useful, C&C welcome