What's new

Need some help on a niche topic (TTS/text hooking translated works).


meh65

Tentacle Monster
Joined
May 12, 2014
Messages
375
Reputation score
105
So I am looking to make VN's and possibly other media, a sort of narrated/audio book experience.
The only way so far that I have found, is VNR (visual novel reader). It has an amazing feature that (if hooked properly) lets you give each character in a VN a distinct TTS voice.
So first off. Does anyone know of a way to do that without the using VNR? I can manually replicate the feature in an analog way with "read4me" and "capture2text". It sorta kinda works, BUT I can't put the game on "auto" everything has to be manually triggered which, kind of takes away the point of what I am trying to accomplish.

What really sucks though is that I can't get translated VN's to work properly because the text hooker is wonky for whatever reason.
For example. I downloaded a couple translated VN's to have it read in nice well edited english, with each character given their own TTS voice.
Except no, I can't have nice things. Because for WHATEVER reason, the text hooking is drunk. I shit you not.
The game will have a block of text say something like:
"Hello, I haven't seen you since summer vacation how have you been!"
only to text hook
"Hello, I haven sen you since sumer vacation how hav"
The thing is, the problem is consistent, both translated VN's have the same issue with hooking the translated text. I guess its a syntax issue since its still in UTF-16? IDK

Point is, it doesn't work. The only work around I have found is to do an OCR onto the text box, then put it to clipboard, then have it read from clipboard.
Which...takes a lot of manual input, which ya, not the goal.

If anyone has any experience with doing what I am describing, or intrigued enough to help me with my plight...I welcome any help.
 
From your example, it looks like your text hooker is set to ignore repeating characters. It's a common feature with text hooks because some game engines will display each character 3-4 times when hooked, which would obviously break any translation attempt. There should be a setting somewhere to ignore/remove repeating characters. Just remember you shut it off, as like I said some games need it.

Another possibility is you are just using an outdated hook and it's not catching everything. In which case you just need to get a more current/maintained text hooker. Textractor is one of the more current ones, and is fairly straightforward to use. And it has a setting to send everything to the clipboard automatically. You can get it here:
 
Actually, that looks like the kind of issue you get when a game is using character caching and so standard hooks can only see at most one instance of each character - this would certainly be the case if the hook sort-of peters out as you play the game. That generally means it needs a custom hook, which is another thing that Textractor is pretty good at - it bundles a whole bunch of custom hooks and probes the game to see what hooks will work - you may have to wait a little bit for it to work, but it's pretty good at working.

So try Textractor, see if it works. Onto your question: Can it work with TTS software in the way you describe? Maybe; there's quite a lot of issues here, unfortunately. You'd probably need to script up something that takes the output from Textractor and processes it, or integrates Textractor into VNR (which is probably possible, as Textractor uses a fork of the VNR hooking engine if memory serves). There might be additional problems if the character names aren't captured by the hook that gets dialogue (you see this often with Kirikiri or Wolf-based games), as I think this would require some patching to Textractor to be able to merge hooks. So I think the question is going to be how confident are you at programming, because it's likely going to require some.
 
From your example, it looks like your text hooker is set to ignore repeating characters. It's a common feature with text hooks because some game engines will display each character 3-4 times when hooked, which would obviously break any translation attempt. There should be a setting somewhere to ignore/remove repeating characters. Just remember you shut it off, as like I said some games need it.

Another possibility is you are just using an outdated hook and it's not catching everything. In which case you just need to get a more current/maintained text hooker. Textractor is one of the more current ones, and is fairly straightforward to use. And it has a setting to send everything to the clipboard automatically. You can get it here:
Oh hey, ya that repeating character thing was an issue.
So that does fix that part.
But the issue persists where it cuts off the last couple words in the game text any thoughts
 
Actually, that looks like the kind of issue you get when a game is using character caching and so standard hooks can only see at most one instance of each character - this would certainly be the case if the hook sort-of peters out as you play the game. That generally means it needs a custom hook, which is another thing that Textractor is pretty good at - it bundles a whole bunch of custom hooks and probes the game to see what hooks will work - you may have to wait a little bit for it to work, but it's pretty good at working.

So try Textractor, see if it works. Onto your question: Can it work with TTS software in the way you describe? Maybe; there's quite a lot of issues here, unfortunately. You'd probably need to script up something that takes the output from Textractor and processes it, or integrates Textractor into VNR (which is probably possible, as Textractor uses a fork of the VNR hooking engine if memory serves). There might be additional problems if the character names aren't captured by the hook that gets dialogue (you see this often with Kirikiri or Wolf-based games), as I think this would require some patching to Textractor to be able to merge hooks. So I think the question is going to be how confident are you at programming, because it's likely going to require some.
I see, I will give that thing a shot. But even if it does work, like you said, it would need to be integrated into VNR possibly or something would need to be coded. Which I am not familiar with...sigh
Well I will try out the text hooker at least to see if it hooks better.

Ya hook is working better...hmmm no idea how to automate the TTS though if anyone has experience with textractor, how do I disable the bing translate? Its uneeded in the translated games, so I am trying to get rid of the "error translating" thing.
 
Last edited:
Ya hook is working better...hmmm no idea how to automate the TTS though if anyone has experience with textractor, how do I disable the bing translate? Its uneeded in the translated games, so I am trying to get rid of the "error translating" thing.

The extensions are all dll's, you can just remove or rename the "Bing Translate.dll" (as in change the extension to .bak or whatever), that's what I did. It will be in the main folder.
 
24096

So this is what I was talking about.
Could the hook from textractor somehow be "imported" into VNR?
I tried, but it doesn't seem to work or change anything.
 
So, I got to a working state. However its not automated which is the goal.
Currently, I am using read4me (since it allows multiple hotkey TTS voices you hit to read the clipboard).
Mixed with textractor which hooks the language properly and fully.

I am sure there is no way to automate the TTS reading with character selected TTS voices without VNR, since I have only seen the feature in VNR.
The main thing I am wondering is if there is a way to copy paste the textractor hook into VNR to utilize VNR's TTS features. Or if possible a work around.
 
So, I got to a working state. However its not automated which is the goal.
Currently, I am using read4me (since it allows multiple hotkey TTS voices you hit to read the clipboard).
Mixed with textractor which hooks the language properly and fully.

I am sure there is no way to automate the TTS reading with character selected TTS voices without VNR, since I have only seen the feature in VNR.
The main thing I am wondering is if there is a way to copy paste the textractor hook into VNR to utilize VNR's TTS features. Or if possible a work around.

In theory it's possible - Textractor is generating something analogous to an H-code. However, it would likely need a custom build of TextTractor to do it (specifically modify the NewHook function to dump the Hook data to the Textractor console). I'm afraid I don't have a functioning build environment Windows stuff at the moment, so I can't really give more advice than that.
 
In theory it's possible - Textractor is generating something analogous to an H-code. However, it would likely need a custom build of TextTractor to do it (specifically modify the NewHook function to dump the Hook data to the Textractor console). I'm afraid I don't have a functioning build environment Windows stuff at the moment, so I can't really give more advice than that.
I am talking to the dev of textractor on the VNR discord, trying to show him and get his thoughts. People including him, don't even seem to know the feature exists...

Edit:
Alright boys, textractor dev walked me through on how to get VNR to hook to textractor and now able to do the voice thing. BTW this is the voice feature I was describing.

The solution was:
first add the lua extension to textractor. then in vnr select textractor as the "visual novel" that you're adding. then this hook code should work /HQ4:8*18@0!9491768B!DC9A177E

If you are still having issues with it reply to thread, I will make a video tutorial if there are lurkers who were looking for the same thing I was.
 
Last edited by a moderator:
I am talking to the dev of textractor on the VNR discord, trying to show him and get his thoughts. People including him, don't even seem to know the feature exists...

Edit:
Alright boys, textractor dev walked me through on how to get VNR to hook to textractor and now able to do the voice thing. BTW this is the voice feature I was describing.

The solution was:


If you are still having issues with it reply to thread, I will make a video tutorial if there are lurkers who were looking for the same thing I was.

You say first add the lua extension without explaining what or where the extension is. Without google timing out on VNR and all(and i mean all) TTS voices are broken besides baidu which is awful noise. Please help if you still exist.
 
You say first add the lua extension without explaining what or where the extension is. Without google timing out on VNR and all(and i mean all) TTS voices are broken besides baidu which is awful noise. Please help if you still exist.

Why would I say I would make a video wtf
FYI textractor isn't being developed anymore I think. Also I just copy and pasted solution from devs response
 
Why would I say I would make a video wtf
FYI textractor isn't being developed anymore I think. Also I just copy and pasted solution from devs response

"first add the lua extension to textractor. " I know it's been a year and your link is down but if i only knew what lua i would be good. And yes i know textractor is dead. I was referring to VNR when i said TTS doesn't work.
 
"first add the lua extension to textractor. " I know it's been a year and your link is down but if i only knew what lua i would be good. And yes i know textractor is dead. I was referring to VNR when i said TTS doesn't work.

Hmmm I will have to relearn it myself since my OS corrupted so if I get it back to working again I will let you know

If you are into TTS let me know if you have any idea where to get high quality voices
 
"first add the lua extension to textractor. " I know it's been a year and your link is down but if i only knew what lua i would be good. And yes i know textractor is dead. I was referring to VNR when i said TTS doesn't work.
SO I am recovering my SSD, but my main focus right now is obtaining more voices for TTS.
I found a great resource, but they are all absurdly expensive. I found IVONA voices to download but those are hardly better than microsoft voices you can download via language packs.
If you can find any of these voices let me know, since you are the only one who seems to have interest in TTS besides me it seems.


EDIT*
You need to use this H code with the LUA extension equipped.

/HQ4:8*18@0!9491768B!DC9A177E

When hooking textractor via VNR use the H code there
 
Last edited:
SO I am recovering my SSD, but my main focus right now is obtaining more voices for TTS.
I found a great resource, but they are all absurdly expensive. I found IVONA voices to download but those are hardly better than microsoft voices you can download via language packs.
If you can find any of these voices let me know, since you are the only one who seems to have interest in TTS besides me it seems.


EDIT*
You need to use this H code with the LUA extension equipped.

/HQ4:8*18@0!9491768B!DC9A177E

When hooking textractor via VNR use the H code there

I used the hook, surprising it worked but there is not translatable text to TTS, i still don't have the link the LUA you were speaking off since it's gone forever. Thanks for responding. I am interested in TTS because 6 months ago, the TTS VNR had setup " " Stopped working because they changed their API or something. But Despite being changed you can still use it if it is re-coded to use to the new API on their site. They changed during the lockdown for people who needed it to communicate over online.

I used this for two years and could understand 80% of VNR with the help of Machine translate and TTS. Since i can understand good portion of spoken Japanese.
Allowed me to setup voiced for multiple characters and it really was great and im forced to use the last working TTS on VNR. Which i baidu and it's pretty horrible. These Microsoft voices you spoke off might be better than Baidu honestly, but i doubt they can translate japanese. Thanks for responding i will be checking back in the following days for you reply.
 
I used the hook, surprising it worked but there is not translatable text to TTS, i still don't have the link the LUA you were speaking off since it's gone forever. Thanks for responding. I am interested in TTS because 6 months ago, the TTS VNR had setup " " Stopped working because they changed their API or something. But Despite being changed you can still use it if it is re-coded to use to the new API on their site. They changed during the lockdown for people who needed it to communicate over online.

I used this for two years and could understand 80% of VNR with the help of Machine translate and TTS. Since i can understand good portion of spoken Japanese.
Allowed me to setup voiced for multiple characters and it really was great and im forced to use the last working TTS on VNR. Which i baidu and it's pretty horrible. These Microsoft voices you spoke off might be better than Baidu honestly, but i doubt they can translate japanese. Thanks for responding i will be checking back in the following days for you reply.

The extension your talking about might be this good luck ✌️
 
Sugoi Japanese Translator

Is pretty good since it has deepl too I only used textractor vnr for deepl anyway. I only use vnr for TTS
 
Back
Top