FINAL FANTASY IX

FINAL FANTASY IX

View Stats:
Dorok Jan 20, 2018 @ 8:48am
Is the game uses ogg files for music?
Is the game uses ogg files for music? If I need cut music, I would replace them with a blank loop if the game use this format.

If not ogg what format?
< >
Showing 1-14 of 14 comments
Tirlititi Jan 20, 2018 @ 9:21am 
It is OGG indeed, but a bit modified. The music files have a small AKB header followed by a normal OGG file.

You can use Hades Workshop[forums.qhimm.com] and more precisely the tool included in it, Unity Assets Viewer:
1) Once you opened that tool "Unity Assets Viewer", go to "File -> Open" and search for your game's "FF9_Launcher.exe" (it's in a folder like "C:/Program Files/Steam/steamapps/common/Final Fantasy IX").
2) Verify the options: be sure that the audio option "Remove AKB Header" is checked ; also, if you use a 32-bits machine, you'll need to swap from "x64" to "x86".
3) Go to "Archive -> Streaming Assets -> p0data61", it will print a list of the music files (they don't have explicit names yet, only numbers identificators...).
4) Right-click on one of these musics, then "Export Selection". It will export the file in your game's folder, in a sub-folder "HadesWorkshopAssets". This file, even though it doesn't have the good suffix, is a proper OGG file. You can play it with any music player that accepts OGG.
5) Replace that file by your own, using the exact same name and suffix.
6) In Unity Assets Viewer, right-click on the same file and "Import Selection". It will import your OGG file and automatically add an AKB Header to it so it can be used by the game.

That seems a bit complicated at first but I'd say it's not a big deal to do all that stuff ^^'
The tedious thing is to spot which file corresponds to which music. I did the list 2 days ago but it's not implemented in the tool yet. Here is that list though (look at the index given in the "Infos" of the UAV).
34: Zidane's Theme 70: Unrequited Love 9: Vivi's Theme 82: Black Mage Village 76: Fleeting Life 10: Steiner's Theme 62: Steiner's Delusion 29: Garnet's Theme 113: Melodies of Life 69: Over the Hill 77: Awaking Song // A Song from Her Memory, probably sung in Dali 115: Zidane and Dagger's Song 106: A Song from Her Memory 59: Distant Memory 124: Light of Destiny 32: Freya's Theme 68: Burmecia 50: Unforgettable Silhouette 15: Quina's Theme 88: Eiko's Theme 139: Girl of Madain Sari 2: Amarant's Theme 116: Roses of May 117: The Wavering Blade 125: Protecting My Devotion 30: The Evil Within 53: Court Jesters 133: Cid's Theme 118: Master of Time 84: Pandemonium 95: Kuja's Theme 96: Desert Palace // Kuja's Theme, played during the exploration of the Desert Palace 97: Devil's Ambition 98: Bahamut is Summoned 94: Wicked Melody 134: Dark Messenger 73: Moogle's Theme 4: Danger in the Forest 60: Ice Cavern 3: Village of Dali 67: Beyond the Twilight 74: Lindblum 49: Out of the Frying Pan 57: Qu's Marsh 108: South Gate 85: Dark City Treno 92: Cleyra's Trunk 80: Cleyra Settlement 91: Gargan Roo 79: Fossil Roo 90: Conde Petie 99: Before the Altar 130: Ruins of Madain Sari 81: Eidolon Wall 109: Iifa, the Ancient Tree of Life 112: Aboard the Hilda Garde 144: Esto Gaza 110: Mount Gulug 129: Daguerreo, the Hermit's Library 87: Bran Bal, the Soulless Village 132: Memoria 121: Crystal World 24: Aloha De Chocobo 100: Ukulele de Chocobo 22: Vamo Alla Flamenco 58: A Place to Call Home 36: Oeilvert 105: Chamber of a Thousand Faces 103: Ipsen's Castle 101: The Four Mirrors 131: Terra 44: Outlaws 138: Peaceful City // Outlaws, when controlling Vivi early disc 3 18: Swords of Fury 27: Find the Princess 20: Eye to Eye 17: The Fateful Hour 33: Thy Warmth 25: Tragic Love 143: Star-Crossed Lovers 41: Kiss of Betrayal 145: I Want to be Your Canary 142: Inseparable Hearts 65: Prima Vista Orchestra 75: Rufus' Welcoming Ceremony 12: The Meeting 140: The Black Waltz 83: Eternal Harvest 7: The Extraction 141: Foolproof Love Letter Scheme 86: Look Back, See the Frog! 146: Broken Spell, Healed Hearts 72: Guardians 48: You're Not Alone 147: Assault of the Silver Dragons 1: Unforgettable Sorrow 89: Mourning in the Sky 45: Another Nightmare 52: RUN! 111: Hunter's Chance 66: Tetra Master 0: Battle 35: Boss Battle 61: Faerie Battle 71: Final Battle 5: Victory Fanfare 6: Game Over 156: Prelude 148: Doga and Une
Last edited by Tirlititi; Jan 20, 2018 @ 9:22am
Dorok Jan 20, 2018 @ 11:54am 
Thanks, very detailed I think I can do it, theoretically, there's plenty file to repeat the operation so it's more theory but ultimately I'll have this option.

Do you know if something similar is possible for PC FF6 and PC FF13? I read for FF6 that files are embedded in a file from a mobile dev tool and the only way would be to pay a license.

For FF13, I don't even know if it's still the same sound controls system, no separate setup for music.
Tirlititi Jan 20, 2018 @ 12:16pm 
I know that FF4 has the same kind of OGG + AKB header, and there's a topic for music replacement of FF6 here: https://steamcommunity.com/groups/ff-modding/discussions/10/451850213942999451/

For the rest, I don't know, sorry. I've mainly been interested in FF9 modding. But you can see the FF Modding group and ask them. Their subforum for FF13 is here: https://steamcommunity.com/groups/ff-modding/discussions/18/
Last edited by Tirlititi; Jan 20, 2018 @ 12:16pm
c_corsino Feb 21, 2023 @ 1:43pm 
Hi Tirlititi, I've followed all your steps, but the game always crashes when it has to load the modified song. Im trying with music006, which is the battle song.
In https://forums.qhimm.com/index.php?topic=14315.1300 you said that the song has to be at a Hz of 44100 or 48000. I can see that in Audacity it is possible to select this Hz modes, but its not working with any of them.
Do you know what could be the cause? Maybe each sound file needs a different Hz mode?

I am replacing the files with HW closed, since I read in another post of yours that if HW is opened while replacing it may cause problems.

I have the Alternate Fantasy mod, as well as Moguri Soundtrack mod, but I uncheck this one when I play FF9 to ensure that the songs picked are the ones from the original game, and that have been exported to the HW folder.

I don't know if the memoria.ini file has to be changed in audio parameter, in the Export or Import section.

Please... what could be wrong? :(

Thanks a lot in advance for your help, and sorry if this topic is updated somewhere else, but here is where I have an account and can write to you more easily.
Tirlititi Feb 22, 2023 @ 4:42pm 
Hi c_corsino.

I'm not the one who said that it has to be 44100Hz or 48000Hz. The proper format is:
- 44100Hz
- 32-bit float
- Stereo for musics, Mono for sound effects
- For musics, it's better to add "LoopStart" and "LoopEnd" tags to specify how the music should loop

I'm not sure of what causes the crash, maybe that's the 32-bit float.
The method I wrote above is still valid, but Memoria now gives the possibility to have the sound/music file in a mod folder (see what's inside of "MoguriSoundtrack" for an example).

If you have Moguri Soundtrack enabled, that one should be used instead of your custom "music006" (as you expected) and there should be no crash. So in order to have both your custom battle music + the other Moguri Soundtrack's musics, you should either replace Moguri Soundtrack's file (not recommended) or create your own mod folder that contains your custom music and to which you give a higher priority in the mod list (recommended).

However, your custom music has to have either one of these formats when having the file in a mod folder:
(1) OGG + AKB header: your file must be named "music006.akb.bytes" and contain the binary AKB header. That's the format in which Hades Workshop's Unity Assets Viewer exports musics when the option "Automatically Convert Audio -> Don't Convert" is used.
(2) OGG only: your file must be named "music006.ogg" a be a normal OGG file like Audacity can create, with the specifications I gave above. In addition, when you have an OGG like this in a mod folder, you need to use the following Memoria.ini option in the [Audio] section:
PriorityToOGG = 1
When the custom music is played in-game, Memoria automatically generates a file of type (1) next to your OGG and you can then disable "PriorityToOGG".
c_corsino Feb 23, 2023 @ 3:01pm 
Hi Tirlititi,

I managed to fix it myself before reading your post, lol... But thanks for your help though!
You are right, it was "Incinerator" who told about the Hz mode for the tracks, sorry... In that topic you were also explaining other stuff about the mod and I thought it was you :P

The problem was that I am using Moguri Soundtrack mod, and I thought I had to copy its "Assets" folder which contains the akb.bytes tracks into the "StreamingAssets" folder of the original game. I realized that the exports you can do from HW are the ones you have to modify and then import, so I did this and also unchecked the Moguri Soundtrack mod when starting the FF9 launcher.

This way I am not using the tracks from Moguri Soundtrack (I don't intend to use them as Id like to modify that ones too) and I am using the tracks from the original game, which I am modifying with HW.

I also managed to get the loop in tracks. Now I am trying to make the battle song doesn't play in some parts, but you are already helping me with that in another post ;-)
Last edited by c_corsino; Feb 23, 2023 @ 3:03pm
c_corsino Mar 28, 2023 @ 1:28pm 
Hi Tirlititi,

I intend to make a mod and provide players the files needed to be copied in the installation folder of the original FF9 Steam game. For example, the MoguriSoundtrack mod includes the modified tracks that will play if we check the "Orchestral music" box in FF9 Alternate launcher, or if we add "MoguriSoundtrack" in the memoria.ini file.

I have some modified tracks that I have exported from HW and then imported again, as you explained. But I want to have a folder similar to "MoguriSoundtrack" where I put my modified tracks, and then "call" this folder in the memoria.ini file. If I do this, the game crashes in the places where I modified tracks, but if I put in this folder the ones from "MoguriSoundtrack" folder it doesn't crash and the game plays the orchestral tracks from Alternate mod.

Do these tracks need to be "treated" somehow, in order to be played when modified? How did they do with Alternate mod so the tracks don't make the game crash?
I have created the same folder patch like in Alternate mod: SteamLibrary\steamapps\common\FINAL FANTASY IX\myfolder\StreamingAssets\Assets\Resources\Sounds\sounds01\bgm_
Tirlititi Mar 29, 2023 @ 1:35pm 
Hi c_corsino.

I'm sorry, I don't understand what you're trying to describe.

Do you understand the difference between the formats "with AKB header" and "without AKB header"?
If so, please tell me which one you're trying to use and it makes the game crash.

Also, be more specific in the file name you use for your custom music. In particular, I need to know whether you try to use files with a ".ogg" extension in their file name or with a ".akb.bytes".

Also, it is confusing that you are talking of an "Alternate mod" that doesn't apply here: I made a gameplay mod "Alternate Fantasy" but it has no custom music at all. The Moguri mod's custom music options is called "Orchestral music".
Last edited by Tirlititi; Mar 29, 2023 @ 1:36pm
c_corsino Mar 31, 2023 @ 1:00pm 
Hi Tirlititi,

Sorry, I will try to explain better ^^

I followed the steps to modify tracks: export them in HW (Unity Assets Viewer), modify them with ogg files renamed to "akb.bytes", and then import them, with the option "with AKB Header" selected.

This works fine. But these modified tracks remain in "HadesWorkshopAssets" folder created when exporting files. The Moguri mod installs a folder named "MoguriSoundtrack", with the path: StreamingAssets\Assets\Resources\Sounds\sounds01\bgm_. Inside there are the orchestral modified tracks.

My question is: ¿is there a way to place the modified tracks by my own in a folder like "MoguriSoundtrack" in order to be called from the FF9 launcher or the memoria.ini file, instead of doing the HW-Unity Assets Viewer process?
What I mean is that when I installed Moguri mod I didn't have to do anything with HW, and the modified tracks play fine instead of the original game. The game doesn't crash. But if I put a modified track by my own in the MoguriSoundtrack folder it crashes. For example, I made an ogg file for the track that plays in Memoria, and then renamed to music096.akb.bytes to replace the original one. The game crashes when playing in Memoria, but it doesn't with the music096.akb.bytes from Moguri mod.
If a do the export-modify-import process in HW, it replaces the original track and doesn't crash, but... will people have to install this app and do this process so that they can play with MY modified tracks??

Forget what I said about "Alternate mod", I was thinking that this one includes the Mogurisoundtrack folder but this is a different mod (Moguri mod), sorry.
Last edited by c_corsino; Mar 31, 2023 @ 1:04pm
Tirlititi Apr 2, 2023 @ 5:01am 
Try like that:
1) With the Unity Assets Viewer, export the tracks you want to replace, modify them and then re-import them. Keep the option "Convert Audio -> Remove AKB header" activated when doing so. You already did these steps so that's fine.
2) Now, still in the Unity Assets Viewer, turn OFF the option "Convert Audio -> Remove AKB header" and export the same tracks once again. The tracks on the hard drive will then be ACTUAL ".akb.bytes" files, and not just renamed OGG files.
3) Place these files in your custom mod folder, just like MoguriSoundtrack does.

Considering how you've been working so far, that's the easiest process to do. Be aware that, during the step (1), you also import your custom tracks inside the game's archives (p0data6X.bin). That shouldn't cause any problem though.

--------------------------------------------------------

A different workflow would be to place OGG files in your custom mod folder without trying to cheat on their extension: keeping musics named eg. "music096.ogg" instead of "music096.akb.bytes". Then, in "Memoria.ini", use the option "[Audio] PriorityToOGG = 1". That way, Memoria would take care of the conversion OGG -> OGG + AKB itself (while in the solution I gave above, that's the Unity Assets Viewer that takes care of that conversion).

If I understand correctly, you gave an OGG to Memoria pretending it was an OGG + AKB, so Memoria assumed there was an AKB header, hence the bug.
c_corsino Apr 2, 2023 @ 8:06am 
Hi again! Yes! The first workflow worked fine, thanks!!
I also wanted to do the "real try": after doing your step (3), I turned on again the option "Convert Audio -> Remove AKB header" and put the original track in HW folder in order to import it again to the p0data6X.bin file. Then, ONLY if I call my custom mod folder in the memoria.ini file, the game will play my modified tracks. This way I manage to make sure that people who just install my custom mod folder will be able to play FF9 with my tracks without crashing ;-)

Regarding the second workflow, I tried but the game still plays the original tracks, with no crash. In my memoria.ini file I only have these options inside [Audio]:
MusicVolume= 100
SoundVolume=100
I tried to add "PriorityToOGG = 1" following these lines, but nothing happens...
c_corsino Apr 12, 2023 @ 1:58pm 
Hi Tirlititi, I have a new problem now...
When I try to modify tracks with mp3 songs on my own (and converted to ogg files and then "akb.bytes" files) the game plays the track with no issues.
But if I try to record in Audacity the audio of a song played in Youtube, for example, when I export it to mp3 and then to ogg file (or simply to ogg file), the game plays the track but somehow slowed... it seems a matter of frequence.
I followed the steps you said:
- 44100Hz (and also tried with 48000)
- 32-bit float
- Stereo for musics, Mono for sound effects --> this option is prompted only when converting to mp3 file. Here I see "stereo" and "joint stereo". I tried both.
I also read that when converting to mp3 files it is recommended to select a constant bitrate MP3 at 192 kbps or higher. I tried this too.

Have you ever had this issue when making your own tracks recorded from other sources?
c_corsino Dec 23, 2023 @ 11:56am 
Hi there!

I'm trying to set a LoopStart and LoopEnd for my own songs in Audacity. But I have an issue matching the LoopEnd with the point where LoopStart is set. I'm trying these steps:
-Add a label into my song in order to set the LoopStart.
-Copy a fragment of the song right from where the LoopStart begins.
-Add a new track and paste the fragment.
-Move the fragment to the right so that it matches the sound register of the upper track (the original one).
-The beginning of this moved fragment would be the LoopEnd, but...
... I never manage to make it sound smooth when I play the loop.

I have summarised this process in the image of the following link:
https://drive.google.com/file/d/1un8PZhQt6pivENrjn1LlTS8REzmNNJPN/view?usp=drive_link

Any help would be appreciated, maybe you know any other tools to do this more easily.

Regards!
Last edited by c_corsino; Dec 23, 2023 @ 11:57am
Sakon Deez Jan 21, 2024 @ 6:35am 
Im checking remove akb header but it doesnt change anything it creates the same file as when unchecked. I put in my ogg file and renamed it and tried importing it but it says it fails. I dont understand any of this, does anyone have any idea what im doing wrong?
< >
Showing 1-14 of 14 comments
Per page: 1530 50

Date Posted: Jan 20, 2018 @ 8:48am
Posts: 14