Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Codecs, formats, encoding/decoding of game audio, video and music
EtherealCrisp
Posts: 8
Joined: Thu Aug 04, 2022 1:31 pm

Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by EtherealCrisp »

Hi guys, a few topics have been made here with no concrete solutions. Trying to get the music for Wallace & Gromit in Project Zoo. Different problems for different formats, here is a sample list:
    Moles.fsb (XBOX/PC)
    Moles.mib (PS2)
    Moles.gmb (GameCube)
Firstly, the GameCube version will not open in any program I try such as Foobar with vgmstream and Videogame Sound Converter 2.0
Then the PS2 version has a bit more luck. The .mib files play but are all jumbled up and displays double length, but the music is definitely there.
Lastly, I had a look at the Xbox version which has a .fsb file. Despite it being an fsb file, it is not an FMOD bank. I checked out this thread where someone recommended a .txth file (https://zenhax.com/viewtopic.php?t=7350)
JackTheRipper wrote:This TXTH will be able to get around
codec = DVI_IMA
channels = @0x4
start_offset = 0x800
sample_rate = @0x14
interleave = @0x10
num_samples = data_size
Success! Or so I thought. The music length was correct and the file played perfectly, but I remembered a feature of the game. There's different levels of intensity for some tracks depending on whether the player is in combat or not. The noncombat is exactly the same as the combat track but without the drums/percussion. This .fsb file seemed to be the combat version. Foobar reported it to be 4 channels. I exported it and had a look in audacity, and it appears both tracks are there in one file. But then I'm finding that whilst playback in Foobar has correct volume level, the quality seems to fade in and out and go a bit muffled. I export it to .wav and play in audacity and the audio on all tracks are clipping and the quality issue is still there. I'm not too knowledgeable about the technicals, but it seems like maybe something is slightly off with JackTheRippers .txth solution. Would anybody familiar with the tracks be able to have a look at the sample files in this link and see if they can extract both tracks properly? Im absolutely pulling my hair out with this. (external, filesize too big) https://drive.google.com/file/d/1FhB11f ... sp=sharing
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by BloodRaynare »

Regarding the PS2/GC version, is there a small files accompanying the mib/gmb files? Something like Moles.mic/Moles.gmc?
For GC version, the small files is required since it might contains the DSP coefficient, which is needed for correct playback for the gmb files. As for PS2 version, this will do:

Moles.mib.txth

Code: Select all

codec = PSX
sample_rate = 44100
channels = 2
interleave = 0x3EC0
subsong_count = channels
chunk_count = channels
chunk_start = 0
chunk_size = interleave * channels
num_samples = data_size


But still, I recommend you to upload the MIC files here (if exist) since it might contains important info needed for correct playback.

For the Xbox/PC version, I changed the txth script:

Code: Select all

codec = DVI_IMA
sample_rate = @0x14
channels = @0x04 / 2
interleave = @0x10
start_offset = 0

subsong_count = channels
chunk_count = channels
chunk_start = @0x0c
chunk_size = interleave * channels

num_samples = @0x08 * channels


Since you mentioned the game has a different audilo tracks depending on the player's situations, that means the files has two subsongs, one for normal and one for combat.
JackTheRipper
Posts: 51
Joined: Mon Jan 10, 2022 12:12 am

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by JackTheRipper »

The GameCube version's coefs are stored in ovls similar to the PS2 counterpart where the MIH is.

0.ovl contains Theme
6.ovl contains some music in stereo
7.ovl contains some stingers and voiceovers in mono

Use TXTP to separate channels.
EtherealCrisp
Posts: 8
Joined: Thu Aug 04, 2022 1:31 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by EtherealCrisp »

Thanks for your reply guys;
BloodRaynare - Unfortunately, there are no counterpart files that I can see in the game files. Your PS2 txth solution however is working perfectly. Turns out, theres not neccessarily 2 tracks for combat and non combat but rather, a 1st layer which has the base level melodies and instrumentation. The 2nd layer has just drums and percussion. From here I can save layer 1 as non combat, and then merge layer 1 and 2 for combat. Your Xbox/PC txth soultion also worked but for some reason still sounds a little louder and certain instruments are sounding a little bit crushed. But your PS2 solution works great.
EtherealCrisp
Posts: 8
Joined: Thu Aug 04, 2022 1:31 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by EtherealCrisp »

JackTheRipper - I'm not too sure what to do with these files. I renamed the txth file to Theme.gmb.txth and made sure 0.ovl and Theme.gmb were in the same folder but Foobar throws an Unsupported file format error. I had a look at 6.ovl file in a hex editor and searched "Moles" and it came up in that file. So I'm not sure what I'm doing wrong.
EtherealCrisp
Posts: 8
Joined: Thu Aug 04, 2022 1:31 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by EtherealCrisp »

As BloodRaynare's PS2 solution is working for me, I'm going to pursue ripping the PS2 version. I am now encountering another oddity. In the Volcano level of the game there are actually three states of music. There's idle, moving, and combat. Not all levels in the game have this but a few do. So like Moles, there is a base level layer of just the melodies and instrumentation, but then there's two separate percussion layers. But the moving percussion layer and combat layer are both combined into one when I use this txth. The best way to explain it is if you have a quick listen of the three versions. (Don't worry you don't have to listen to the whole thing, you can tell the difference from the first few seconds of each)
Idle - https://www.youtube.com/watch?v=MjzfqtT ... wR&index=8
Moving - https://www.youtube.com/watch?v=DjcKqyw ... wR&index=9
Combat - https://www.youtube.com/watch?v=1VlbDsa ... R&index=10

Any ideas on how to separate the percussion layers? I have included the 6.ovl file which some of these music tracks are mentioned when I view the file in a hex editor.
Here is the link to the file as file size too big to upload here (https://drive.google.com/file/d/1W7d58- ... sp=sharing)
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by BloodRaynare »

Yeah, I saw the @JackTheRipper reply above that the info files for the .mib were inside the overlay binaries which were compiled inside OVERLAYS.ZIP (Same with GC's gmb files). But, while there's exist tool to open those overlay binaries, they were only made for extracting the models inside (After all, those tool was made for extracting the models from Dog's Life, which used the same engine as this game). Maybe I can write some fool-proof BMS script to search the string for the audio infos then made some adjustment to extract those infos correctly or going with the old-school hex editor way. Luckily, those audio infos always located at the end of the overlay binaries.

As for the Xbox/PC still sound bit incorrect, there's a possibility that the game has it's own custom implementation of the DVI IMA ADPCM codec.
EtherealCrisp
Posts: 8
Joined: Thu Aug 04, 2022 1:31 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by EtherealCrisp »

That would be awesome. I used someone's BMS script to rip stuff from Harry Potter Chamber of Secrets PS2 ".big" file. I'm afraid I'm not sure what else to do with these files. Your PS2 txth solution worked for the Moles file and half works for the Volcano file. But looking at MTVerti.mib file, which like Moles.mib has only 2 tracks, the txth didnt work and produced stuttering. Same for the Temple1.mib which seemingly contains 2 entirely different bits of music. Didn't realise how complicated was going to be. Maybe I should focus back on the .fsb Xbox/PC version?. All this just so I don't have to YouTubeToMP3 someone's video who recorded it ingame :(
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by BloodRaynare »

Okay, this can go either both of these ways (This is for PS2 version)
One way: Open the 6.ovl with hex editor then select the offsets from 0x722057 to 0x72410A then copy it to a new file then save it as sound.bin (or whatever the name you want). For the THEME.MIB, open the 0.ovl then select from 0x2FFD3 until the the end of the file then save it as sound_1.bin or other name you'd prefer.

Another way: Use the sound.bin and sound_1.bin (see the attachment) I made from the PS2 version.
Those ways shares the same instruction: Use the mih_extract.bms script (included in the attachment) to the sound.bin and sound_1.bin (or whatever the name you used to save them) to extract the MIH files from it, then copy the MIH files to same directory as the MIB files.

From the looks of it, looks like some of the game's BGM have only 3 channels audio (1 stereo, 1 mono) or 4 (1 stereo, 2 mono or could be 2 stereo tracks), the rest of them are stereo (2 channels).

EDIT: Included the TXTP script so you don't have to split-combine the tracks yourself. Just put these in the same directory as the MIB/MIH combo. Then play the TXTP file with vgmstream

EDIT: Added the sound_1.bin inside the audio stuff.
EtherealCrisp
Posts: 8
Joined: Thu Aug 04, 2022 1:31 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by EtherealCrisp »

Thank you so much Blood! This has been a massive help! For speed I just used your attachments, but just so I understand the process I did it manually like you said and I got the same result. I'm still very new to all this, but how do you know that the MIB files are stored in the 6.ovl file? I searched for mib and nothing came up in the hex editor. I can see filenames but no extensions. Just so I can apply the same process to the 7.ovl file which as JackTheRipper said, there are voiceover lines in there which would be interesting to rip. Like how do you know which offset to start and end at?

Regardless, you've just solved a years long mystery for me, I've been on and off googling solutions for years and not found anything concrete so thanks again mate!!
EtherealCrisp
Posts: 8
Joined: Thu Aug 04, 2022 1:31 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by EtherealCrisp »

I realised that there are some extra tracks that only appear in the Xbox version, and I'm pretty sure most of these are actually unused
    Boiler RunLoop1M
    MTCombat
    NewCombat1
    NewStealth1M
    NewVert1
    VolcanoDanger1M
    VolHot2M
Someone has extracted these tracks before on YouTube, RingsOfGeonosis, but unfortunately has never responded to my inquiries. But some of these also have multiple channels. I wonder if its possible to tweak your method slightly to work with these files? Attached in this link https://drive.google.com/file/d/1ZumJhv ... sp=sharing
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by BloodRaynare »

EtherealCrisp wrote:Thank you so much Blood! This has been a massive help! For speed I just used your attachments, but just so I understand the process I did it manually like you said and I got the same result. I'm still very new to all this, but how do you know that the MIB files are stored in the 6.ovl file? I searched for mib and nothing came up in the hex editor. I can see filenames but no extensions. Just so I can apply the same process to the 7.ovl file which as JackTheRipper said, there are voiceover lines in there which would be interesting to rip. Like how do you know which offset to start and end at?

Regardless, you've just solved a years long mystery for me, I've been on and off googling solutions for years and not found anything concrete so thanks again mate!!


First of all, it was the MIH header file that was inside the 6.ovl/0.vol, not the MIB file (It was already on MUSIC and MUSIC2 directory). Anyway, first thing I do is looking for distinctive byte value (MIH file always started with values of 0x40 bytes, then something close to it are hex values for audio sample rate, ex: 0xAC44 for 44100Hz) then comparing it with other games that uses the same format (ex: ATV2 Quad Power Racing). Then I worked my way up (or backwards) to looking for the info of MIH file sizes (in hex of course) then comparing that info by selecting the bytes until the starting value of MIH file occurs again and also the size of the filename and also the number of MIH files are stored there.

EtherealCrisp wrote:I realised that there are some extra tracks that only appear in the Xbox version, and I'm pretty sure most of these are actually unused
    Boiler RunLoop1M
    MTCombat
    NewCombat1
    NewStealth1M
    NewVert1
    VolcanoDanger1M
    VolHot2M
Someone has extracted these tracks before on YouTube, RingsOfGeonosis, but unfortunately has never responded to my inquiries. But some of these also have multiple channels. I wonder if its possible to tweak your method slightly to work with these files? Attached in this link https://drive.google.com/file/d/1ZumJhv ... sp=sharing


I'll see what I can do. BRB in a few minutes or hours.
BTW, You don't need ovl files for the Xbox fsbs, because it already includes the header.

EDIT: Attachment for the Xbox audio stuffs added. Honestly, DVI IMA ADPCM codec is the closest one to make the audio sounds right, though maybe the muffled audio/volume discrepancies/crushed audio problem are still there. TXTP file also included for one file (MTCombat.fsb).
fileGates71
Posts: 18
Joined: Sun Feb 24, 2019 11:45 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by fileGates71 »

Before letting this thread rest, I just want to make sure: the channels of music for moving/combat definitely are NOT in stereo, correct?

I only ask because the attached file seems to be in stereo. I tested it in Audacity to be sure. Bear in mind, this file is ancient (circa 2012) and in 128kbs (hence my desire to upgrade) and I can't remember where I got it from - the point is, since it was so long ago when ripping and converting multi-layered dynamic music was still in its early days, maybe the original ripper made a mistake.
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by BloodRaynare »

fileGates71 wrote:Before letting this thread rest, I just want to make sure: the channels of music for moving/combat definitely are NOT in stereo, correct?

I only ask because the attached file seems to be in stereo. I tested it in Audacity to be sure. Bear in mind, this file is ancient (circa 2012) and in 128kbs (hence my desire to upgrade) and I can't remember where I got it from - the point is, since it was so long ago when ripping and converting multi-layered dynamic music was still in its early days, maybe the original ripper made a mistake.


It depends on the level. In your case (Polar), it was stereo for the idle, quadruple (4 channels) for both of moving and combat. And it was pretty complex (The level has two mono tracks and one stereo. The game picks one of the mono tracks based on the context of the player's action then duplicates it into a stereo track combined with the actual stereo tracks, making it into a quadruple).
fileGates71
Posts: 18
Joined: Sun Feb 24, 2019 11:45 pm

Re: Wallace & Gromit in Project Zoo Music Files (PS2/GC/XBOX/PC)

Post by fileGates71 »

I understand. I wasn't sure whether or not, given the complexity of the game's dynamic music system, a mistake was made ages ago when a mono track was somehow ripped stereo, or if, now, a stereo track was ripped mono.

When playing the 'Polarb.mp3' file in Audacity, the sound monitoring apparatus shows left and right channels being different instead of 1:1, and using phase inversion produces a garbled mess instead of silence, which made me think these things.

Thank you very much.