I’m trying to record high quality, no commentary footage of Pokémon Omega Ruby, and I want the audio buffering to be as minimal as possible. Since I am using HD textures, I experimented with preloading those to see if that would help anything load faster, but that seems to not make much of a difference.
I have two ideas for how I could make the audio appear seamless. The first would be to dub the game’s audio in post. For music, this would be no problem, but I don’t have a complete resource of all the sound effects I would need. This made me wonder, is it possible or could it become possible in the future for Citra to dump sound files for a game in the same way it dumps textures? If this isn’t a feasible solution, how could I find and extract the audio files from the game itself? I already have the game decompiled for use with pk3DS, I just don’t understand how to navigate it or open/read its files, and I’d appreciate any help I can get with that.
My second idea is that Citra could preload the game’s audio instead of preloading the textures. Is something like that at all possible? I’m assuming it isn’t, because if it were it probably would’ve been done by now.
EDIT: After doing some research, I’m starting to think that disabling the music in-game would be the easiest option so I can keep all the sound effects and just dub the music. I found an old gbatemp thread that used to have a patch to remove the game’s music, but the download link for the patch is dead, and the creator hasn’t been active for over three years. Does anyone else know how to do this? I’d prefer a simple cheat to turn off music, but if it can only be done through a patch I’ll take that.
Hey there, I’ve done a few no-music patches in the past and, while there’s probably a better way, I’ve accomplished it by “zeroing-out” the music data. (By “music data” I mean the streamed audio files and/or the instrument samples used in music sequences.)
Zeroing-out is basically loading the audio files in a hex editor and replacing all the data with 00’s. You’d want to keep any format information and metadata intact; ideally there would be a “DATA” subheader and you’d just zero-out everything after that, which effectively silences them. Then patch in those files via LayeredFS and presto. It probably wouldn’t boost the performance since the game is still loading and “playing” them, but it’s a step.
I don’t know what types or formats Pokémon uses for music so I’m sorry I can’t be more specific or descriptive. Being a 2nd-party series it likely uses BCSTM and BCWAV, proprietary Nintendo formats, which are pretty well-documented. I’ve never used pk3DS or even looked at any Pokéroms. But if you manage to access the audio files and want to discuss the trick further, feel free to contact me HelpTheWretched at GBAtemp. (I rarely use the Citra forums)
I never realized that you could just hex edit music like that. I actually started making my own music patch where I would put a blank wav file in YATA Plus and export it with the name of the file I want to replace. But the farthest I got was gathering and making a list of all the music files that would need to be replaced. If I ever do return to this solution, I haven’t yet looked into how I would reinsert my blank music and rebuild the rom, or create a patch perhaps. I’d assume that process is about as time consuming as zeroing out the songs, correct me if I’m wrong though. So maybe if my approach doesn’t work out, I’ll try the hex edit solution. I’ll be sure to reach out to you if I need more help with that. Thanks.