Skip to content

Voice acting system

Martin Barker edited this page Aug 15, 2022 · 14 revisions

Voice Acting

This feature allows to play specific sounds when dialog windows show up.

In order to create a voice acting mod, one must do the followings:

  1. Export the dialogs. This can be done with Hades Workshop (batch export texts) or by launching the game with the Memoria.ini option [Export] Enabled=1 Text=1.
  2. For each line of dialog, export the voice acting as an OGG file.
  3. Tidy OGG files in subfolders according to the following scheme: VoiceMod/StreamingAssets/Assets/Resources/Sounds/Voices/[LANG]/[ZONEID]/VA_[MESSAGEID].ogg,
    where [LANG] is the language code among US, UK, JP, GR, FR, IT, ES,
    where [ZONEID] is the number related to the dialog zone (in HW exported dialogs, it can be read in lines #HW fileid; in Memoria exported dialogs, it can be read as the first number after $ in each dialog),
    and where [MESSAGEID] is the number identifying the message (in HW, it's the line #HW newtext minus 1; in Memoria, it's the last number before the = sign).
    Example (Memoria): "$0290_EVT_TERA_BB_CDR_0_0353" = "{W213H1}{UpperRightForce}You’re a bigger fool than I imagined{Speed 2}...{Speed -1}";
    => Have the voice file VoiceMod/StreamingAssets/Assets/Resources/Sounds/Voices/US/290/VA_353.ogg saying "You’re a bigger fool than I imagined" (Beatrix).
  4. For dialogs with multiple choices (they have a {Choice} code in Memoria-exported files and a [CHOO] code in the HW versions), have a voice OGG for each choice with a _[CHOICENUM] appended to the dialog's file name.
    Example: VoiceMod/StreamingAssets/Assets/Resources/Sounds/Voices/US/290/VA_373.ogg => "Cards!? Right now?"
    VoiceMod/StreamingAssets/Assets/Resources/Sounds/Voices/US/290/VA_373_0.ogg => "Yes"
    VoiceMod/StreamingAssets/Assets/Resources/Sounds/Voices/US/290/VA_373_1.ogg => "No"
  5. Move this VoiceMod folder in the main directory of Final Fantasy IX and register it in Memoria.ini ([Mod] FolderNames = "VoiceMod", ...).
  6. Create another file Memoria.ini in the folder VoiceMod and add the lines:
[Hacks]
Enabled=1
DisableNameChoice=1

When voice files are played in-game, Memoria generates .akb.bytes files next to them (in the subfolder of the mod folder), containing the Final Fantasy IX formatted AKB header. When sharing the mod, share the mod folder with only the .akb.bytes files for optimizing the hard drive space use and loading time (although I didn't see any noticeable frame drop because of isolated sound loads and conversions).

In-Battle dialogs

Following the same pathing structure as above other than the battles do not operate within a zone so we replace the zone with battle E.G VoiceMod/StreamingAssets/Assets/Resources/Sounds/Voices/[LANG]/battle/VA_[MESSAGEID].ogg

Debugging

If your having problems with a line and are unable to work out the correct location you can enable VA Support Debugging to do this add the following to your memoria.ini

[Audio]
LogVoiceActing = 1

With this enabled your Memoria.log file will start getting entires output all the information you need to create your .ogg file E.G [VoiceActing] field:2, msg:35, text:[C8C8C8]Guess nobody’s here yet..., path:Voices/US/2/va_35 should the File then be missing this will be followed by a Missing Asset notification from the Asset Manager E.G [AssetManager] Asset not found: Voices/US/2/va_35

A big thanks to barkermn01 for coding this system.