Twilight Princess: Disable sound effects for complete OST rip? by valiant at 12:12 PM EDT on October 15, 2007
Hey hcs, I think I need some input on that. I'm trying to do a complete rip of the Twilight Princess music at the moment.
For previous recordings, I used the Action replay mute codes from Twilight Spectre (GCN Hacker87) to disable the sound effects. Unfortunately, they don't work as well as they should. They take effect only after entering a menu and sounds coming from enemies/Epona/etc. aren't affected by the codes at all. I've managed to record quite a few of the tracks, but I guess I've met my limits with that trick now.
Since I'm returning to ripping tracks again, I've been thinking of other methods. So I first tried to swap the BMS files in "Z2SoundSeqs.arc" manually, through a hex editor. I yaz0-decompressed the archive, then tried to swap the file names in the archive with a hex editor, then yaz0-encoded it back and replaced the old archive on the ISO. Unfortunately it didn't work (the same track was still loaded, although the file names were swapped).
I then tried to look at the RARC specification to figure out how to swap the BMS files but haven't gotten into it since it's very time consuming to swap files manually.
A third possibility was disabling the sound effect archives, which are "Audiores/Waves/Z2SeWave_X.aw", but replacing those files or simply renaming them locked the game up.
So my question is: 1. Can you tell me in which AW files the sound effects are and what I have to do in order to mute them (I thought you checked some of the files since you've been working on the AW format a little, lately)? OR 2. Could you provide a simple RARC file exchanger to swap the individual BMS files in the archive? The plan is to make... let's say "Lake Hylia.bms" play in place of "Shop.bms" because in shops, no sound effects are played.
I think it'd be for the collective good. I've used the file swap method before to make a complete rip of the Resident Evil remake and it worked like a charm. But this one is a lot harder to pull off, help is very much appreciated!
Assuredly possible. I'd say that you'd want to zero out the AW files you want to silence. There is a fairly good chance that some of them contain both instruments and sound effects, though, as was the case with Wind Waker. The best solution would be an AW reader like I put together for Wind Waker, which would let you decide for each sample if you want to keep it or not. I'll take a look at it tonight to see if I can do something like that.
edited 1:38 PM EDT October 15, 2007
Hmm, upon brief examination, it appears that the AW files are neatly divided into SE and BGM. If this division is accurate (and I have no verified this yet) you should be able to just zero out the SE files. I have put together a utility that fills with zeros all files on the command line. It isn't likely that I'll have anything more complex anytime soon, so you might give this a try with something like:
The sound file addresses may be referenced in "Z2SoundSeqs.arc", instead of the filenames.
If there are address references in the first part of the file(addresses that are different by the size of the blocks of sequences), then you may be able to switch them around to change the music played.
If the file is small enough, I can inspect a copy to some degree.
Dear God! It worked! I haven't been able to try it for Twilight Princess yet, since I didn't succeed in loading it with GC Simulator (I tried this before and it worked). Don't know what causes this, I'll try to work around it later. However, I was able to test the method with Four Swords Adventures and the result is amazing! I wouldn't have thought it's so easy to disable the sound effects. Many thanks, hcs! :-) I guess it will work just as good for Twilight Princess and other AW-BMS-games. Expect high quality soundrips of Four Swords Adventures, Twilight Princess and Super Mario Sunshine in the near future. :-)
I've been working on the files I have a bit, and I've figured out a little about how they work.
File identifiers start at address 0x60
Each file identifier is 0x14 bytes long. Each seems to require an endian conversion to be computer readable, but it is more human readable this way.
0x60-0x61 = Filename array number. Sequentially increases up to the end of the array. 0x62-0x63 = Chunk CRC? 0x64-0x65 = Seems to be 0x11, 0x00 in all records.. 0x66-0x67 = The byte index from 0x0DC0 where the filename starts. Name is null terminated. 0x68-0x6B = Start address(This number plus 17C0 gives you the file address) 0x6C-0x6F = Size of data 0x70-0x73 = 4 null bytes as a seperator 0x74-0x75 = Next filename array number.
With this, and potentially a little more work on the table details, you could re-arrange the file so that the preferred song takes up the position in the file that refers to the song you want it to. The same method could then also work for Wind Waker's .arc file, as I also used that in this comparison.
Since filenames aren't actually used, a lot of this should be trivial to the matter of switching around.
If anyone feels like checksuming a piece to see if my guess is correct, go ahead. It would likely be something I'd bring to the array anyways.
Just something I thought up... It may also be a matter that you could simply change the start and size locations to match up to the song you want to have play in the shop themes.
To help you figure out which arrays to use for filenames, here's a list. Just search for 00 and the hex code, and you should go right to it. Check for the null 4 bytes before the number to be sure you're at the start of a record.
another last-minute idea: for twilight princess music, why not stuff all the sound files into Wind Waker and see if the playback system will cooperate with the file structure, and not destroy the sound. If the above suggestion can be made to work, this could be a feasable long-shot to try.
The file structure is quite different between TP and WW (at least for the main control file that you've looked up). There was no question about erasing the audio working... hadn't considered it before, though. I look forward to these rips!
Tried it with Twilight Princess now. Works just as good! All the sound effects erased, wonderfully flawless music. I also figured out why the streaming didn't work, the game only supports 10MB Half/Full Duplex on GC Simulator. And that's where the problem begins: Some kind of rest data is loaded into the system memory in some areas, what makes the first few seconds of a lot of tracks either garbled (as in "test1.mp3") or cut off altogether - because data transfer and sound playback cannot be simultaneous.
Thanks for the information, ugetab. Just a request in case someone with the necessary programming knowledge can pull it off: A swapping tool for the RARC archive would be most helpful since the manual method would take one hell of a lot more time.
If the method I considered works, then I'll write the swapping tool myself.
If you can confirm that manual changes to the RARC table will work(and tell me what you did that worked), then I can program something to put the neccesary changes into place.
Okay! I'll try to swap the start point and file size of "filone_forest" and "hiding_village" to confirm if it works. I'll report later.
EDIT: So I tried that method and it... kind of worked. See the result here. I took part in the mini game in the Hidden Village because I swapped that track with the Faron Woods theme. As you can hear, the first few notes of the Faron Woods are played but then it silences. The Hidden Village minigame theme isn't played in Faron Woods at all (however, Faron Woods are now totally muted). I guess that is due to a problem with thakis's program yaz0enc.exe (well, his website states he didn't write it - as it would probably be without any bugs if it was, knowing that he is a great programmer). Because the edited and newly yaz0-compressed archive is different in more than just the edited space and it is also smaller than the original yaz0-compressed file.
I'll try to get in contact with him to get him to look into it.
In the meantime, it'd be cool if you could write a small utility for swapping the files in the RARC archive, ugetab. :-)
Thank you for both of your help, I know it's a little unnerving!
It is possible that the sample banks are set up differently between the different tracks, and when an unloaded sample is hit the playback engine chokes. Z2Sound.baa controls this relationship, I think. At least it has names for all the BGM sequences (not file names, identifiers like Z2BGM_FIELD_LINK). I think this would more likely be the best place to make any swaps, as it'd swap at a higher level. And no recompression would be necessary.
edited 8:30 AM EDT October 16, 2007
I think we're looking at the WSYS files, pointed at by the "ws " chunks in the header. The WSYS format was used in the Wind Waker aaf as well, though I didn't examine it too thoroughly. As there are two WSYS files I think it can be assumed that one is for sfx and the other for bgm.
As the second one (starting at 0x1931d4) contains references to the bgm .aws while the other does not, I think aforementioned assumption was correct.
edited 8:57 AM EDT October 16, 2007
Regarding WSYS format: 0x0-0x3: "WSYS" 0x4-0x7: size of the WSYS file 0x8-0xb: 0 0xc-0xf: a smallish number, but seemingly not an offset 0x10-0x13: WINF offset (within WSYS) 0x14-0x17: WBCT offset (within WSYS) 0x18-0x1f: 0 the rest of the file is referenced through these.
WINF, lists .aw entries (expanding on what I got out of WW, where every WSYS had only one .aw): 0x0-0x3: "WINF" 0x4-0x7: .aw count 0x8-0xb: offset (within WSYS) of .aw info ... more .aw info offsets
.aw info: 0x0-0x6f: file name 0x70-0x73: wave info count 0x74: wave info offset (within WSYS) ... more wave info offsets
wave info (this only includes what I used in wwsnddump, stereo flag and loop point are in there somewhere, these chunks of data tend to be the first in the WSYS file after the header): 0x0-0x4: unknown 0x5-0x6: sample rate 0x7: unknown 0x8-0xb: wave data offset (within actual .aw file) 0xc-0xf: wave data length 0x10-0x13: unknown (loop point?) 0x14-0x2b: unknown
To be amended as I get more information, specifically the structure of the WBCT. I'm getting the feeling that the WSYS isn't going to help with the relationship between the waves and the sequences, though.
edited 9:47 AM EDT October 16, 2007
WBCT: 0x0-0x3: "WBCT" 0x4-0x7: -1 0x8-0xb: count (same count as in WINF) 0xc-0xf: SCNE offset (within WSYS) ... more SCNE offsets
and I think that covers it, the details of the individual instrument informations are uninteresting at the moment.
So I'll continue working at the other chunks in the .baa. For those who aren't following along at home, these are 1 "bst " and 1 "bstn" (these seem to be , or at least largely consist of, string tables), 2 "ws " (the WSYS as seen here, with information about individual waves/samples), 8 "bnk " (sections marked with IBNK, probably details about sets of instruments), 1 "bsc " (marked with "SC") and 1 "bfca" (a RARC containing .bfc files).
I think I will look at the bst/bstn, as at least the bstn has the names of BGM sequences in it. I also think I'll make another post if I have anything to add.
I am betting at the moment that the BST section is responsible for linking all audio.
Aha, BST has the lookup info (including the names of the stream files) for sounds, while BSTN has the names of the sounds. They have an identical tree structure at the top!
edited 10:49 AM EDT October 16, 2007
by unknownfile at 10:54 AM EDT on October 16, 2007
I can help rip Pikmin and SMS if you want, I've studied how the sequence format is stored. The DOL executable contains the header to the PikiSeqs.arc file so ripping that sort of data would be easy. I can't say the same for the .aw files, I can't find headers anywhere.
Ok, BST/BSTN dump complete. Format is [offset from start of BST (0xb4)]="BST entry" "filename"
The nice bits are the BGM near the end. Take for instance the lines: [0000439c]=60004858 /BGM/SEQ_BGM/Z2BGM_DUNGEON [000043a0]=6000485c /BGM/SEQ_BGM/Z2BGM_HORSE_BATTLE
If you wanted to set the "DUNGEON" music to the "HORSE_BATTLE" music you'd set 0x439c+0xb4 (0x4450 in Z2Sound.baa) to 6000485c. These addresses are references further within the BST to provide more of the specifics, and things go all over the .baa from there. I think this is the highest level at which the sound lookup is performed, so this should work for exchanging songs. You might be able to substitute a sequenced song for a sound effect, or a streamed song, for that matter...
Let me know if it works, or not. And here's the dumping utility in case you should care to look at how it works.
alright. At this point, the only thing preventing me from trying to automate replacing music is the connection between individual seqences in the .arc, and the data in the .baa file. The rest seems to be something I can automate. I expect to be able to generate accurate replacement data at this point, but I'm not sure how to connect the data from 1 file to another when switching stuff around.
ugetab, does your understanding agree with my understanding? It looks like the BST entry points to another location in the BST which refers to those indexes you listed earlier. For instance: [00004434]=600048f0 /BGM/SEQ_BGM/Z2BGM_RODEO [0x48f0]=0x40640085 <-85 85. rodeo.bms
edited 1:17 PM EDT October 16, 2007
would also explain why switching filone_forest and hiding_village would not work:
so while the 49<->53 switch in the 4th byte would be made by switching the sequences, there is still a difference in the 2nd byte (50 vs 46) which probably affects the sample bank.
Damn, I was hoping that would be it. Unfortunately, your new method doesn't work either, hcs. I tried swapping "RANCH" with "TWILIGHT", but all it gives me is total silence when entering the farm at Ordon.
ugetab's earlier post gave me the same result I had with the Hidden Village. The first few notes of the Faron Woods theme played, then it's muted. After waiting a minute or so, the the strings set in. So it's indeed a sample loading problem. Using both methods at the same time has the exact same effect which is kind of strange: shouldn't the strings and guitar samples be muted alltogether, like the Twilight theme at the ranch? o_O
Hum. Well, that's disappointing. I suppose it could be that the swap in the .baa fails while attempting to load the correct samples, whereas the swap in sequence lookup table only fails when it hits the particular missing samples? Could you try, say, replacing one of the streams (TITLE_BACK?) with a sequence and see what that does?
I first tried to replace TITLE_BACK with STAGE_SELECT_E3 (another stream). That worked flawlessly - the arranged overworld theme played at the title screen. The sequence swap however didn't (did it with TEMPLE_OF_TIME).
Then I used your BAA-swap method at the Hidden Village. It loaded the Faron Woods theme (just like in the Z2SoundSeqs.arc-method) and played the few samples that I got earlier.
So that means: The BMS files are really swapped and played, but it seems the AW banks are not loaded into the memory at the same time, but a little earlier and that the BAA swap doesn't have anything to do with the specified AWs that are loaded. Now, if I knew which BMS used which AW banks, I could probably replace them on the fly... But how am I to know?
Just a few stupid questions: Are you sure that the songs you're trying to play work with the setup you've got? So replacing a stream with a sequence doesn't seem to work, how about the other way around (to at least see if the mechanism can be changed)? Are you replacing all 4 bytes of the entry (no offense, just frustrated with the mystery)?
Who knows where the bank loading mechanism may be lurking... it may be done directly in the code, but that sounds like a stupid design decision.
[edit]
Alternative: check out this list. If my interpretation of the operation of the BST table is correct but somehow switching things doesn't work, this should be grouped by sample banks, so switching sequences within a group should work. This'll at least put to rest this theory if it doesn't work consistently.
These might do with sequence banks or sample banks, but it shows that something is set up in a way so that files are swapped in memory. This function list is actually from Pikmin, but the Zelda TP jaudio library should do similar functions.
Are you sure that the songs you're trying to play work with the setup you've got? Well, I don't quite get what you mean by that. If you're referring to wether there's one sequence file that doesn't blip at the start because no data is loaded, then yes: the track at Ganon's Tower (d_lv09_02.bms/Z2BGM_DUNGEON_LV9_02, I guess) plays seamlessly from the beginning.
If it's necessary to replace all 4 bytes, I do just that. But for similar entries like 600048d8 and 600049a8, I just change the "8d" to "9a". However, I don't think I'm doing anything wrong, seeing how I got the other streaming track playing at the title screen. ^_^
Replacing a sequenced song with a streamed one didn't work - only silence. So I guess you can't change sequenced songs to streamed ones and vice-versa.
At this point I could dump the samples and you could try to guess from there... If we could tell directly what maps where we would be able to change the reference right there, no need for anything else.
I may be hallucinating right now, but I think I remember seeing AW file names in the map files or something. I'll try to find it again.
@ugetab: We've already disabled the sound effects by zeroing out all the SE AW files. :-) That's not the problem anymore. Now we're trying to swap the files in order to counter the blips at the beginning of the tracks.
I'm examining the SC section now, the code seems to refer to it as a sequence and sound effect "collection". Dang, seems to be just sound effects. There is a structure identical to that of the /SE subdirectory in it.
Well, I've started a new game to see how frequent the song intros are messed up. I can get a lot of the tracks without these errors, but there are also a few ones I just can't avoid them with - amongst them pretty important ones ("Faron Woods" being one example).
EDIT: Just thought I'd at: I've found out what "kyakumachi.ast" is, in case that was not revealed yet - it's "The Legend of Zelda: Orchestra Piece #1", the song played alongside demo_movie98_00.thp. I found out through renaming the original "demo_01_02.ast" (Ilia with Epona at the beginning of the game) to "demo01_XX.ast" and "kyakumachi.ast" to "demo01_02.ast".
If swapping file names of the streamed data works, it might as well work for the BGM AW files...
Interesting, so kyakumachi.ast actually works? maybe the rip I have is bad, but I recalled it cutting off before the end. Streams are entirely self contained, unfortunately the other audio is a much more complicated system.
Well, I can't play it in Winamp, it's the only file that doesn't work with in_cube.
But since it works in the game, it seems like it's a slightly different format or something. I wonder why they included that track on the disc, albeit the THP movie has it muxed anyway. Maybe it was going to be used elsewhere?
Regarding the rip: The general outline of my new plan is as followed... 1. I'll record all the tracks I can get without distortions during my normal playthrough and will write down all the songs I'm not able to rip. 2. I'll then modify the pointers in the BAA to the missing songs, at the same time swapping AW file names in hope of finding the one that is needed for playback. 3. It would be really, really helpful to know which BMS uses which AW file, but as that's probably impossible to find out, it would be neat if you could modify your AW ripping program to work for Twilight Princess. That way I can at least guess which files it could be, reducing the ripping time significantly.
It's certainly not impossible to find out how the AWs are used, just currently beyond my knowledge. I'll work on a dumper for TP. Since the WSYS format is the same in WW I'll take advantage of my new learnings to fix it as well.
Ok, updated baad will now extract, among other chunks, the .wsys files. Then run wsyster, with the name of the .wsys file to use, in the same directory as the .aw files in question. I suggest using only Z2Sound.baa.1.wsys, as it has the BGM samples; the other is for sound effects and has very many files. I'd like to point out also that I'm not happy with these tools yet. For one I need something to dump wsys from WW aaf, for another I need to fix a number of broken samples which are stereo or something, I also want to do something to support he fact that many of these samples can be looped.
Hahaha... They're cheating for the "item get" sounds, they're prerecorded samples! ^_^ Cheateeeers!
Z2BgmWave_15.aw seems to be the bank for Faron Woods. Z2BgmWave_31.aw is Gerudo Desert.
So I'll try to swap those two again to see if that method works.
EDIT: Didn't work, the same samples of Faron Woods were played as before (guitar, strings, recorder). I'm trying it with Forest Temple now, since I'm sure it's Z2BgmWave_10.aw.
Damn, another deadend: Neither swap-renaming, nor actually replacing the AW files worked. What the? This is like, really frustrating.
Well, the AW files are just the wave data; the instrument bank setup is through the bnk/IBNK sections of the .baa, linked to the wave data through the WSYS section. At least that's what I think. The actual link between the IBNK section and the WSYS hasn't been established, which would show how banks are connected to the actual samples they use. This is as troubling as the unknown connection between the sequences as referenced in the .bst and the instrument banks.
Other observation: It is probable that multiple .aw files are used at once. You will notice that Z2BgmWave_0.aw is particularly large, it probably contains most samples, and others are loaded as needed for specific special instruments.
If you don't mind I'd like to request a clarification: when you swap Faron Woods with Gerudo Valley (both the bst and aw files) and go to Gerudo Valley, it just plays a few notes from Faron Woods? Likewise: When you swap Forest Temple with Gerudo Valley what exactly happens, and where?
I should mention that I didn't do actual swaps (like for example "Gerudo Desert -> Faron Woods" AND "Faron Woods -> "Gerudo Desert") but just one song to play in another area.
EDIT: Now I know because I hated the sky dungeon theme so much, it's played with only four samples. Over, and over. And over, and, over. Also, LOL at the samples of Z2BgmWave_51.aw, the bank for "Malo Mart". XD
edited 10:24 AM EDT October 18, 2007
by PokeParadox at 10:39 AM EDT on October 18, 2007
God I love it when things like this are happening, I hope you succeed in getting a nice clean rip! :)
Heh it's kinda annoying that the .aw banks don't have recognisable filenames like Wind Waker's did. Could be potentially hazardous when ripping them all... 5000 or more ambiguously titled wave files to sift through sure will be fun.
Speaking of which, I can't tell what's required for ripping .wav files from the .aw banks from this conversation (or has such a utility not been made yet?)
EDIT: awesome thanks, figured it out now (mostly) -- omg how many wavs?? 13209 sound effects... how on earth does that figure... well I've deleted all those now and I'm trying to rip them again bank by bank instead (as it isn't insane.) Z2SeWave_0.aw ripped fine (yay midna sounds!), but none of the others worked by themselves. I'm guessing it's due to the banks needing to be ripped in sequence (ie. to rip bank 4, you have to also rip 0,1,2 and 3 at the same time, etc.)? That's manageable for the first few banks but eventually that's going to get progressively more painful. Is there any way that behaviour could be changed?
The utilities for Twilight Princess are on the fourth page, in a post by hcs. Those for The Wind Waker are in the "Ripping Zelda-GC sound effects" thread.
Wading through the WAV files was fun. I've been able to recognize a lot of the samples and the tunes they were used in. The harder ones to make out are generic tracks that use mostly guitar, strings, brass sections and percussion.
Something just came to my mind: I've got a BBA and PSO, so I did some online research and found out that loading burned backups with only these utilities is possible. I always thought I'd need a modchip for that. I'm trying to get this procedure set up and see if I can play a modified, burned version of Twilight Princess with it. That way, I will be able to rip a lot of the tracks, even without swapping.
It just hit me. Can this be done for Luigi's Mansion and Mario Sunshine? I have said for a while that I would like to get the Gameboy Horror theme from Luigi's Mansion. (Chiptunes rule.) Also, I do not think that there is a complete rip of Mario Sunshine yet.
Secondly, is it possible to just add support for these files to in_cube? Waves are huge. I don't exactly understand what is going on with this conversion, but in_cube support would be nice.
I could slap headers on the aw clips, theoretically. Would be about 1/4th the size of WAVs. I'd just be making up headers, though, as I don't know what mono .aw headers should look like, and I really hate doing that.
BMS swapping (through filesize and data start in the RARC archive) worked just fine for Four Swords Adventures as there is only a single soundbank for the instruments. I ripped fifty-two BMS songs in total. That and the streaming sound files from Navi Trackers should make for a pretty good complete sound rip... Just have to get my hands on a Game Boy Advance to beat Navi Trackers in order to tag the tracks.
I'll give Twilight Princess the soft-mod treatment (aforementioned procedure): Burning the ISO on a Mini-DVD, streaming GCOS to start the backup and hoping not too many disc read errors will occur.
I'd just like to interject at this point to ask if the person doing these rips would consider building (or getting someone to build) the GameCube S/PDIF cable in order to record these tracks? This would give the best possible recording possible and would keep the files in the digital domain without having to record an analogue signal.
This mod was discovered at the time of the release of the GameCube but to the best of my knowledge no one has ever built it. Here's the link:
Seriously: I'm confident with the sound quality I've got now. Not to mention the Four Swords Adventures sound files are already ripped. And I've already shelled out 50 bucks for a decent DVD burner, just for the sound rips. So until I win the lottery or someone sends me money, no.
Maybe we could have a collection for you then to have one made? I can't imagine it would be expensive to make - the hard part would be finding the components and someone with the skills to do the mod. Seriously, you will be recording a digital signal that has been converted to an analogue signal. The S/PDIF mod will give you the best quality possible. Seems a shame to go to all the trouble you have gone to and then not get the best possible quality. I have recorded some GameCube music myself in the past, and I know that the GameCube phono-outs do not give a perfectly clear signal. The noise could probably be eliminated by doing some post-processing in something like Cool Edit Pro, but doing this for every track would be immensley laborious.
Not only do I need the money, but people also have to send me the time and wits to mod my GameCube (even more than it's now). And I'm not taking that extra route. Not to mention it hasn't even been tested on any of the message boards that refer to this mod.
And I already noice-reduced all of the tracks, it wasn't that big of a deal and the result is fantastic (I've always been doing that when I made rips). I had to cut them in Audition in any event, so it really doesn't make a difference: Either way, the rip took a shit load of time and I'm not doing it again.
And noone will notice the difference anyway because they'll be awed at the number of tracks in there.
OK, no probs, it was just a suggestion. Any chance you can post the files in a lossless format (taken from your original WAVs)? FLAC is perfect for this. If you can't upload anywhere then maybe share on SoulSeek or DC++.
I thought about releasing both a FLAC and a VBR MP3 version. I'm still undecided about it as even now the rip is 1 GB (as WAVs) and that doesn't include the files from Tetra's Trackers.
We'll see. If I don't release a FLAC version: I'll keep the original WAV files as backup just in case anything has to be changed. Maybe a FLAC release will show up when I feel like uploading 500+ MB of data.
FLAC (level 8 encoding) roughly compresses to 40%/50% of the original file size. Maybe torrenting the FLAC files would be a better idea, then the rest of us can share them on DC++/SoulSeek/eMule. Don't want to sound ungrateful, but I'm really abhorent to MP3s so I hope you'll consider this.
Would you mind changing my nickname - one last time - into Prime Blue? That's what I've been settling for, after all. And it would be nice to have the same name over all message boards. Corporate identity, y'know? ;-)
"Hawk Grass (Blow)" is still giving me trouble, as it's samples are classified as sound effects. I managed to find the howl versions (the howl samples are in Z2SeWave_0.aw), but the blow samples are not included in the same AW. I tried finding them by listening to all the sound files. After having heard the first 3000 biggest...it wasn't in there and I don't feel like listening to the remaining 12000. Neither to zero out one AW bank, see if the blowing is affected and repeating that process (takes 2-3 minutes) 140 times - well, okay, maybe a little less, depending on where the sound bank is.
So, are you able to tell me in which AW I can find those two samples here:
Interesting that tobi is red-tailed hawk... ever read Animorphs?
I don't know how the names link up to individual sfx just yet. I tried a few methods but haven't found those samples for you yet. One thing you could try is a binary search. That is, zero out half the .aws, leave the other half alone. If the sound plays, you'll know it's in the half you left alone, if it doesn't it's in the zeroed half. You're then down to a half the aw banks to search in, and you can repeat the process with that half (split it in half, etc.) You should be able to find the .aw in 8 iterations of this method.
Ah, sorry. It's not a red-tailed hawk (didn't have my dictionary at the time I posted this but remembered it was something red and birdy), but a bird of prey called Red Kite. Never heard of Animorphs before, but I'm not really into science-fiction anyway.
I thought of doing a binary search (I just didn't remember what that method was called) and wanted to post it in my earlier reply. Well, still takes a lot of time (replacing 70 files in GC-Tool, then 35 and so on), but I guess it's the only possibility at that moment. It's funny how one of the tracks nobody's going to care about gives so much trouble. Well, okay. Actually, it's not.
What you could do, however, is figuring out a way to get kyakumachi.afc to play, if it isn't too time consuming to get it to work with in_cube (if you remember, I got it to work in-game, so the track is not messed up). I'd prefer a direct conversion of "The Legend of Zelda: Orchestra Piece #1" over doing a wave-out recording through thpplay. This is pretty much the last thing I need assistance on. Thank you so much for all your support until now, hcs.
...further examination shows that the file appears truncated and corrupted on the disk (at least the copy I have). You say it plays in the game, however. There must be some aspect of the filesystem that isn't understood. How about an alternative: kyakumachi.ast is supposed to be, from the part that is extracted correctly, the audio portion of demo_movie98_00.thp. How about I rip the DSP from that, instead? It is only 32KHz, unfortunately. The alternative is to wait a few days for me to examine the GC filesystem and figure out what all the tools are currently doing wrong. There still exists the possibility in my mind that this file is actually incomplete... are you sure it played all the way through when you did the renaming?
Regarding Animorphs, I thought it was interesting because there is a character named Tobias who becomes a red-tailed hawk. But apparently not a clever reference after all, ah well.
Upon closer inspection, I don't think looking into kyakumachi.afc would be such a good idea... I replaced the Twilight Realm scene in Gerudo Desert with kyakumachi (kyakumachi means "waiting for customers", by the way). At 1:17, an error occurs and the GameCube crashes (that noise you hear there is the result of all files the game code cannot handle, I also got this in Resident Evil 4 before, when I tried to swap character models).
I couldn't check kyakumachi.afc in whole when I first streamed it at the title sequence as that scene stops at 1:06 and the error occurs at 1:17. Sorry about that.
So the THP is the way to go. Would be nice of you to extract the DSP from there. 32KHz is a minor flaw, but it's the only way to get a 100% direct encode from the orchestra recording. Just a note: Nintendo released the track in 44KHz as VBR MP3 (average 166kbit/s) on their official website, if you find all the Tears of Light. But we can't be sure that it's not just a reencode from the CBR MP3 IGN released shortly after E3 2005. And an average 166kbit/s seems a little too low for an orchestra recording in 44KHz.
Here it is in FLAC. Decide which you prefer, this or the VBR MP3, I won't be offended if you don't use this. 32KHz stereo DSP is 256kbit/s, by the way, but it uses that less effectively than MP3 (psychoacoustics and all that).
Thank you very much, hcs. A quick check revealed that your version is actually far superior than the VBR MP3 from the official site. The beginning is nearly identical, but in later passages, it sounds like the MP3 is a re-encode of a re-encode of a re-encode... The DSP sounds far more clear and less compressed.
Regarding "Hawk Grass (Blow)": The sound bank was Z2SeWave_39.aw - and Nintendo conveniently put all the wind and hawk sound effects that play at the same time in the same file. I had to overwrite specific parts of the file with zeroes to disable them. Well then, off again to do my work.
I can put something together that zeros out individual samples in the file, if you want. It sounds like you already got it, though. Thanks again for all your hard work.
Another interesting note: Even if you overwrite all of the AW files with zeroes (instrument banks included), there are still two sound effects - the echo of the arrow and Zant's warp sound. Either they were produced by the sound hardware or are stored somewhere else. They didn't disturb the ripping process, though.
Thank you once again! Undoubtedly better than any OST Nintendo themselves could have come up with. It's a shame that you had to go through so much trouble to get it all, but we appreciate all your hard work. Glad I could help with what matters I could.
Those two sounds are interesting... my assumption would be that they're stored somewhere else, odd as it may seem to store just those two. Maybe they have something to do with the Wiimote speaker?
This is an incredible rip. Goes without saying really, but yeah... this is surely what many fans of the soundtrack have been waiting for. I really appreciate the hard work here, and I'm sure others will too. I hope this gets spread around... seriously I'm floored. However, I do have some gripes, and I think there are certain things that should be amended before you release it (or for a re-release, whichever the case may be.)
I think some of the comments in the text file were rude and unnecessary. Especially the thing about Minegeshi - that's a really asinine comment to make. For all you know, it could be composed by him (and actually probably is!) I personally don't think it's Kondo, and I certainly don't make those judgements just based on "how good it is." But, at least you did the right thing of crediting all the composers in every track. It's a really bad idea to make those sorts of personal judgements "official" and it's a huge discredit to the actual work you've done. Same as listing your personal favourites... that's kinda arbitrary.
I also think the composer names should have gone in the artist field. It seems unusual having applications/players read the tags as "unknown artist." If those aren't changed, I'll probably go ahead and change them anyway.
Another thing - some of these tracks aren't normalised. Take "5-23 - Sled Game.mp3" for example. The current max signal on that track is -8db, which is QUIET, especially for something upbeat like that. Normalising it makes a huge difference. Did you just forget to normalise the tracks, or did you not normalise them for a reason? Because they really should be normalised... I cannot think of any reason why you wouldn't, as clipping will not occur. The only thing that would happen is the noise floor gets dragged up with it... BUT you're going to hear the track exactly the same if you have to turn your speakers up to listen to it anyway. So basically, any noise in the track is already there, and normalising the track won't make a scrap of difference.
So my suggestions are basically:
- Normalise tracks. - Put composer names in the artist field. - And I'd strongly advise removing the value judgements and other rude comments. It's just very unprofessional and reflects badly on you.
If this is supposed to be a final final rip, then it's a shame, because I think it could have been even better, which I am sure is in your interest.
Great work Prime Blue. Can we expect a FLAC release soon? Also, as for normalizing, using the ReplayGain option in FLAC frontend when encoding should sort this problem out. Though make sure you don't have the 'Treat input files as one album' box ticked.
I'm not going to complain about the exactness of the fades on the third loop of the tracks that require them, but is there a particular reason the bit rates on these mp3's are all over the place?
I think some of the comments in the text file were rude and unnecessary. Especially the thing about Minegeshi - that's a really asinine comment to make. For all you know, it could be composed by him (and actually probably is!) I personally don't think it's Kondo, and I certainly don't make those judgements just based on "how good it is." But, at least you did the right thing of crediting all the composers in every track. It's a really bad idea to make those sorts of personal judgements "official" and it's a huge discredit to the actual work you've done. Same as listing your personal favourites... that's kinda arbitrary. As I've explained in the README, "field music" is too vague an expression to put only Minegishi as composer for a lot of tracks. For example, we can't be sure about "Shop" or "A Beast in the Village" being field music, as they're technically a crossover between field and cutscene tracks. And I don't feel it's right deleting other composers from the specific tags when we can't be 100% sure they were not involved. Regarding the compositions: It's just that a lot of Minegishi's supposed tracks sound repetitive and predictable. Others, I really enjoy (his three tracks in Majora's Mask were great, he sure is a magician when it comes to battle music). That's my personal criticism of him. But that has nothing to do with the tags at all. Thus, I didn't make anything "official", the tags credit them all. We just can't be sure who did which track, that's why it doesn't say "Toru Minegishi" in most of them. If I tried hard to be a hypocrite, I would've put my assumptions into the tags.
I won't take the favorite tracks thing as criticism, as it's kind of "whatever". This is a text file after all. It's not like it's saying "VITAL INFORMATION FOR THE RIP, DON'T PROCEED WITHOUT READING MY FAVORITE TRACKS". ;-)
I also think the composer names should have gone in the artist field. It seems unusual having applications/players read the tags as "unknown artist." If those aren't changed, I'll probably go ahead and change them anyway. I always associated the artist field with the person that actually performs the song. But there's no problem with updating the tags and reuploading my rip. Thanks for the heads-up! I've got one question, though: What is the composer tag for? Is that only used when the track is sung by someone and the artist field is full? I really don't know, so it would be nice if you shed some light on that topic. Also, in case it wasn't that clear from the README: It's not of my business what you do to the files on your HDD, of course. I just don't like it when tracks I personally ripped turn up on the interwebs with different names.
Another thing - some of these tracks aren't normalised. Take "5-23 - Sled Game.mp3" for example. The current max signal on that track is -8db, which is QUIET, especially for something upbeat like that. Normalising it makes a huge difference. Did you just forget to normalise the tracks, or did you not normalise them for a reason? Because they really should be normalised... I cannot think of any reason why you wouldn't, as clipping will not occur. The only thing that would happen is the noise floor gets dragged up with it... BUT you're going to hear the track exactly the same if you have to turn your speakers up to listen to it anyway. So basically, any noise in the track is already there, and normalising the track won't make a scrap of difference. I applied Track Gain via MP3Gain because it's more accurate when it comes to average volume. The tracks on previous official soundtracks have pretty much the same volume for all songs. It's true that you can make a lot of the files louder (especially cutscene tracks) without clipping, but some of them are already at their absolute maximum, and average volume was my highest priority there.
So, to sum it all up (and just for clarification: not a single passage of that post is meant rude, I'm always grateful for criticism and will try to improve in the future ^_^):
- Normalise tracks. - Put composer names in the artist field. - And I'd strongly advise removing the value judgements and other rude comments. It's just very unprofessional and reflects badly on you. - ReplayGain > Normalization - I'll do that in future releases and will update my existing rips - I'm not trying to win a popularity contest here, I just want to make rare music available to everyone
I'm not going to complain about the exactness of the fades on the third loop of the tracks that require them, but is there a particular reason the bit rates on these mp3's are all over the place? Did my best to get the most accurate fade points. I'm afraid it doesn't get any better, sorry. :-( As for the bitrates: Some are obviously lower because of the lower frequency (1-03 and x9-04 in particular). The other differences are probably best explained by taking the vast changes in instrumentation into consideration.
EDIT: Sorry, forgot to get to your question bcass. Can we expect a FLAC release? Yes. Soon? No. ...more specifically, I'll get around to it when I'm in the mood to upload 2GB worth of FLAC galore. Also, as for normalizing, using the ReplayGain option in FLAC frontend when encoding should sort this problem out. Though make sure you don't have the 'Treat input files as one album' box ticked. Yup, did the same thing for the Four Swords Adventures rip earlier.
Prime Blue - if you can get a DVDR of all the FLACS to me (I can paypal you the postage) I'd be more than willing to seed a torrent and also share on SoulSeek/eMule. Email me at bcass01 at hotmail dot com if you'd like to do this.
I agree about the game being less than brilliant, but some of the soundtrack is definitely up to the franchise usual standards. If you don't appreciate the benefits of a lossless format, then fair enough, no need to shove that opinion down peoples throats.
Wow, I am extremely impressed by this rip! I had done a 182-track rip once (which has proven very popular across the net), but this is a lot more extensive... and improved: all those blasted cues which I couldn't capture due to certain, um, difficulties, are finally here.
Kudos to Prime Blue for delivering this top-class rip of a fantastic soundtrack to an equally fabulous game.
Curious; any chance we'll see a SUPER MARIO SUNSHINE rip?
bcass, that'd cost you. I'm from Europe. And I'd more than likely gouge you. Bottom line, just wait for a good while. It will be released eventually.
I'll do other game rips if I have my intermediate diploma and am a (better) programmer. Super Mario Sunshine requires some additional small tools for the AW files, but I want to do them myself. I guess that's some kind of self-esteem thing. And the desire not to bother hcs anymore.
Yeah, but I have a desire for you not to have a desire to be bothered. No native speaker here. Sorry if some of my expressions sound awkward.
I didn't post the links on any other message boards, but I suspect the exceeded bandwidth limit was caused by one of the files. You don't necessarily have to host them, mirrors are already popping up elsewhere and people will find it easily.
BTW: I noticed a small playback error with in_cube. On some of the tracks, there is a noticeable click at the loop points. For example in "2-29 - Link is Coming" (don't remember the AST file name right now, should be something demo1x.ast). I removed them through post-production but just thought I'd add. I addressed the crackle issue in some of the recordings in the README. It's noticeable even on TV speakers. Don't know what Nintendo did wrong there.