Assisted Reading of JP Visual Novels

UPDATE: As this post seems to be weirdly popular compared to anything else I’ve written on this ghost-town of a blog, I figured I’d make note of another tool I’ve been using recently. In the years since this post was originally made, I have moved on from AGTH to Interactive Text Hooker. It’s much more straightforward to set up and generally works a lot better.

ORIGINAL POST: Like I mentioned in my previous (and, thus far, only) post, a huge portion of my ReadMOD page count came from reading Umineko no Naku Koro ni, Episode 7—a visual novel (or “sound novel,” as 07th Expansion calls it). Umineko’s text is by far more complicated and obscure kanjiheavy than anything else I read that month. In fact, the only way I made it through in under a year is through the use of a couple tools that hooked into the game and provided me with line-by-line furigana and on-demand word lookups.

Now, if you’ve ever thought about reading a Japanese visual novel but weren’t sure you had the ability to, you probably ran across a tool called AGTH—the Anime Game Text Hooker—or, otherwise, a program called Translation Aggregator. Translation Aggregator is typically used to allow nonJapanese speakers to squirm their ways through ugly machine translations of visual novels, but it has a couple excellent features for Japanese learners, which is what I used to get through Umineko. No translations here, just some quick definitions when needed and your own existing knowledge.

Anyway, let’s get to setting the program up for some real use.

First of all, download Translation Aggregator (linked above), and extract it somewhere. It comes with AGTH, which we’ll also be using. You’ll also want to grab MeCab and edict2. When you download edict2, extract the file into Translation Aggregator’s “dictionaries” directory.

Next, pick a game you want to hook into. For the example, I’ll be using Umineko and Chaos;Head to illustrate two different hooking methods.

Create a shortcut to the game and open up the shortcut’s properties.

Now, there are two possible things you’ll have to do here, just depending on the game: Either AGTH can automatically generate hooks into the game, in which case things are gonna be easy, or you’ll have to tell AGTH where to create the hook, in which case it’s not much harder, but a little more work.

METHOD 1:

We’ll start out with Umineko, which falls under the first category. You should try to do this with any game first.

Anyway, you’ve got the shortcut’s properties box open. Change the target as follows:

[AGTH Path] /C /L [Game Path]

For example:

“X:\Programs\Translation Aggregator 0.4.4c\agth.exe” /C /L “C:\Program Files\Umineko4\うみねこのなく頃に.exe”

(Note that WordPress is converting the quotes into directional quotes, but you should use straight quotes when creating your shortcuts.) When you open the shortcut now, AGTH will load up and hook to the game automatically. The /C parameter tells AGTH to copy whatever text it hooks to your clipboard, and the /L parameter makes AGTH act sort of like AppLocale.

With AGTH open, navigate to somewhere with text. With any luck, AGTH should have caught that, and it’ll be displaying in the program’s text box. If not, there should be a drop-down menu with a list of AGTH’s hooks. Scroll through the list until you find the hook that caught your game’s text. If you don’t find one, then you probably have to go with method 2. Be careful, however, to ensure that what you’re looking for is actually text and not image-rendered text or something like that.

One other thing to keep in mind: if your game has the option to change text speed, set it to the highest possible speed (preferably instant display) so AGTH doesn’t send text to your clipboard in fragments. You want to get full lines if at all possible.

METHOD 2:

Now, in the case of Chaos;Head, AGTH is unable to generate hooks automatically, so you have to tell it where to hook.

To do this, change the game’s shortcut target as follows:

[AGTH Path] /C [Hook] /pn[Game EXE]

Here’s how my Chaos;Head target looks:

“X:\Programs\Translation Aggregator 0.4.4c\agth.exe” /C /HAN-C@45A576 /pnChaosHead.exe

Now, a good place to find these hooks is here, which seems to have a good number of games covered.

Now, load up the game (using the game’s original executable, or a separate shortcut, but NOT the one you just created). If your system isn’t set to for Japanese locale, you’ll probably need to run it through AppLocale, since AGTH isn’t going to provide you with a locale itself.

Once the game is loaded, double-click on the shortcut you created and AGTH should pop up. As with before, navigate somewhere with text (not graphical text, but actual game text), and then click through the drop-down box in AGTH. You should see something labeled “UserHook” now. That’s your custom hook, and you should see the game’s text sitting there. If not, then the hook is probably incorrect, or you might have copied it incorrectly. Check to make sure both that you’re looking at text and that the hook you set in the shortcut matches the one you found.

As before, if you can, set the game’s text speed to maximum so AGTH can grab full lines.

TRANSLATION AGGREGATOR:

Now that you’ve got AGTH hooking into your game (hopefully), load up Translation Aggregator. The first thing you’ll want to do is get rid of all those extraneous boxes. Most of them try to provide translations of the text, which isn’t what we’re wanting it to do. I only keep three boxes open: Original Text, MeCab, and JParser. If you installed MeCab and extracted edict2 like I said above, they should work right out of the box.

The reason I use both MeCab and JParser is because, while they both do similar things, they both end up with different results some of the time, so it’s useful to have two points of reference if you’re not sure on something. But, as always, use your own judgment and don’t rely exclusively on the parsers. They are prone to making mistakes, and some really stupid ones at that, so be careful. This isn’t meant to read the visual novels for you, just provide you with an aid, so it’s up to you whether to trust the results or use your own judgment.

Play with the settings and find something you like, but you should be set from here. In both the MeCab and JParser boxes, you can hover over a word and see the definition. The reason I don’t use the WWWJDIC box is because I find it’s too tempting to just look at the definitions if they’re immediately available, so I keep them at arm’s length—just a hover away—to keep my eyes from wandering and keep my brain working.

Just as an example, here‘s what my setup looks like when it’s all done.

Now get out there and read all those visual novels you’ve been too intimidated to open up in the past. It’s an extremely rewarding experience.

This entry was posted in Japanese, Tools, Visual Novels. Bookmark the permalink.

20 Responses to Assisted Reading of JP Visual Novels

  1. dub says:

    Thanks a bunch dawg. Much appreciated. This makes me much less intimidated, in fact, I’m going to try this out soon, hopefully today.

  2. Pingback: October: Great success! « 我輩はブリートである。

  3. Euryx says:

    Sorry for bumping an old post. ^^;;
    I’ve tried downloading edict2.gz and placed it on the dictionaries folders in TA. The problem is whenever I play the game, the JParser box says “No dictionaries loaded”. I have also installed Meecab and it worked. I wonder what went wrong. ^^;;

    • I’m really sorry it took so long to get back to you! I was on vacation in Japan when the comment came in, and it had totally slipped my mind by the time I got back home.

      It sounds like you didn’t extract edict2.gz. You should be able to open edict2.gz like a ZIP file or a RAR file, and inside there’s a file named simply “edict2”. That’s what you want to copy into the dictionaries folder. Hope you’re able to get it to work!

  4. Pingback: Comprendre un VN en Japonais : Méthode en 2 étapes

  5. dup says:

    well dude i have a question, because im playing a visual novel (mashiro iro) and i have problems using jparser( because the box of it not traduces nothing), u now how to activated jparser in a visual novel? heeelp me pls

    • I have had sporadic issues getting JParser to work in the past, so it’s kind of a crapshoot, and I’m not sure how much help I can actually be. The best I can do is recommend you make sure edict2 is in the right location and MeCab has been installed properly. If you still can’t get it to work, you’re probably best off making a post on the TA release thread here and asking for help from them. They’re likely to be much more knowledgeable about the subject than me.

  6. Tsukasa says:

    Hey there~ Currently i’m playing the visual novel “Summer Days” by 0verflow.
    Because the first method doesn’t work (I tried as you recommended, then went with the other and found it on the website you recommended)
    However, when I enter the information as you said, I get an error from the AGTH saying “Cannot Find SummerDays.exe.” the minute I click the modified shortcut (Even after I launch the game from the original source)

    Heres how my target string looks: (Note this is the second method)
    [AGTH Path] /C [Hook] /pn[Game EXE]
    “C:\Program Files (x86)\Translation Aggregator 0.4.9.r171\agth.exe” /C /HA4@2B1A0:rvmm.dll /pnSummerDays.exe

    Heres where I got the Hook from:
    http://agthdb.bakastyle.com/games/722-(owerflow)-summer-days-v2-01r-agth-code

    See anything wrong/ Something I did wrong?

    • Hey. 🙂

      You should use /pnrugp.exe instead of /pnSummerDays.exe in your shortcut.

      It seems SummerDays.exe loads up rugp.exe and doesn’t stick around after that, so that would be why AGTH is saying it can’t find SummerDays.exe. If you run into a problem like this in the future, one thing you can try (which is what I did this time) is to open up the Task Manager, go to the Applications tab, find your game, right-click on it, and choose “show process” (or something like that–my OS is in Japanese, and it says プロセスを表示, so I’m not 100% sure what it says in English).

      • Tsukasa says:

        Thank you very much! Your suggestion worked perfectly.

        I honestly didn’t expect you to reply so quickly, but you did. I thank you very much for the assistance~ and even more so for the hasty reply.

        Kudos to you man, you made my day 😀

      • No problem. I’m glad it worked. 🙂

  7. Zero says:

    Hi I want to play mirai nostalgia, but when I try to hook it with AGTH, the target was empty. Nothing was in it. Is it supposed to be like that?

    • I downloaded the demo, since I don’t have the actual game, and I wasn’t able to get AGTH to hook properly. At best, it was catching 3-4 characters out of every line, which isn’t terribly useful.

      However, ITH (which you can get here) had no problem hooking into the demo and catching everything. I recommend you try that instead. You’ll want to download ITH-2.3-110709.rar (the latest version right now) and ITH_engine.rar and extract them to the same place.

      First open the game (using cmvs32.exe — it doesn’t work with the 64-bit executable), then run ITH. Click on the Process button, find and select cmvs32.exe, then click attach. It should give you some info in the main window. Go back to the game, and make it display a line of text. The dropdown box above the text window in ITH should now have “CMVS” in it. Choose that, and you should be good to go.

  8. Zero says:

    I did everything you told me to do but the text still doesn’t appear in the translation aggregator. So we don’t need AGTH? And if we do, what would the hook code be? Thanks.

    • Correct, you don’t need AGTH. Once you’ve got ITH capturing the text, click the “Option” button and make sure “Auto copy to clipboard” is selected.

      If you have any issues beyond that, I suggest you make a post asking for help on the Translation Aggregator thread (see the link in the second paragraph of this post). They’re likely to be a lot more knowledgeable about things than me, since I haven’t actually used TA in at least a year.

  9. Zero says:

    Ok, the text showed up in the translation aggregator. Thanks for your time!

  10. somerandomdude says:

    I’m not to most knowledgeable guy with this stuff, but where do you actually see the translated text?

    • In this particular setup, you can get definitions for individual words by hovering over them in either the Mecab or JParser windows.

      If you want actual machine-translated text (which I wouldn’t recommend if you’re doing this to help learn Japanese, or if you actually want to understand what the text says, for that matter), Translation Aggregator offers other windows you can use for that. You can enable/disable any of those you like under the “Windows” menu.

  11. Kevin says:

    What am I supposed to click on to get machine translated text (I can stand broken English or a few words that are mistranslated). I clicked on the Windows thing at the top and all I see is lock order, show all, two column and then the Medcab and Jsparser. They both have Japanese text in them but not English text. How am I supposed to translate them?

    • It should just be right there, under the “Window” menu at the top of the screen. If you don’t see the same options as I see here, then I’d recommend you ask for help on the Hongfire thread. I don’t use TA anymore, so they’re more likely to be able to help you.

Leave a reply to BlackDragonHunt Cancel reply