3 ms·
I am not a regular user, what I done is edit open source engine and hack them to call my TTS program/script. For html engines I do a request to localhost on a
by simion314 5y ago
I am not a regular user, what I done is edit open source engine and hack them to call my TTS program/script. For html engines I do a request to localhost on a specific port where I have a script listening. For a C++ engine I modified I used the run process functions to call directly my program, I think first I put the text to be spoken in a text file.
One reason this is so hacky is that because this engines were not meant to do TTS I can get a lot of extra garbage or duplicates so I need to have the text first go through a game specific script to clean it up.
so could you have this implemented:
1 user will input a path to a script/program
2 from the game engine you call that script and send to it the text as an argument , there might be limitations so it might be better alternatives.
My TTS program implements a queue so it is fine if you just dump a lot of text into it, I have keyboard shortcuts to handle skipping/pausing.
The Renpy game engine (python) supports TTS but I edited the tts plugin and replaced their Linux default to my script since I get more features and flexibility.
P.S. I am tempted to try to also get the text from DirectX games, but I am not sure where to start, I am thinking I could intercept some DrawText function and replace it with my own but I am not sure what terms to Google for and if is something that can be done Or if there is a simple way to detect the code that does the dialog boxes in the games and intercept that function.
- wizzwizz4 5y agoFor DirectX, I'd be tempted to intercept stuff from the text layout engine. (USP10.DLL, DirectWrite, or HarfBuzz.) Pretty much nothing lays out its own text.