Next Page

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!

edited 12:13 PM EDT October 15, 2007
by hcs at 1:37 PM EDT on October 15, 2007
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:

zerout.exe Z2SeWave_*.aw

edited 4:13 PM EDT October 15, 2007
by valiant at 5:04 PM EDT on October 15, 2007
Thank you very much!
I'll give it a try right now. I so hope it works...
by ugetab at 5:08 PM EDT on October 15, 2007
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.
by valiant at 5:13 PM EDT on October 15, 2007
I'm zeroing out the AW files right now.

Just in case that won't work, I'll upload the Z2SoundSeqs.arc. It's already yaz0-decompressed.

Z2SoundSeqs.arc

edited 5:13 PM EDT October 15, 2007

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. :-)

Get your awesome music here!

edited 6:53 PM EDT October 15, 2007
by ugetab at 7:08 PM EDT on October 15, 2007
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.

00. 1vs1.bms
01. 1vs1_02.bms
02. 1vs1_03.bms
03. automata01.bms
04. automata02.bms
05. bajobattle.bms
06. boomboss.bms
07. cargogame_tw.bms
08. castle_town.bms
09. church01.bms
0A. church02.bms
0B. cowboy.bms
0C. deathmountain01.bms
0D. deathmountain02.bms
0E. demo10.bms
0F. demo13.bms
10. desert.bms
11. dungeon.bms
12. d_forest.bms
13. d_lv02.bms
14. d_lv03.bms
15. d_lv04.bms
16. d_lv05.bms
17. d_lv06.bms
18. d_lv07.bms
19. d_lv08.bms
1A. d_lv09_02.bms
1B. event01.bms
1C. event02.bms
1D. event03.bms
1E. event04.bms
1F. event05.bms
20. e_bossbaba00.bms
21. e_bossbaba01.bms
22. e_bossbaba02.bms
23. e_common.bms
24. e_common_twilight.bms
25. e_dekutoad.bms
26. e_dekutoad_d01.bms
27. e_dg01.bms
28. e_dg02.bms
29. e_dg_d01.bms
2A. e_dg_d02.bms
2B. e_fireman.bms
2C. e_fireman_d01.bms
2D. e_ganon01.bms
2E. e_ganon02.bms
2F. e_ganon04.bms
30. e_gg.bms
31. e_gg_d01.bms
32. e_goma01.bms
33. e_goma02.bms
34. e_goma_d01.bms
35. e_hg01.bms
36. e_hg02.bms
37. e_hg_d01.bms
38. e_hg_d02.bms
39. e_ib_d01.bms
3A. e_octaeel01.bms
3B. e_octaeel02.bms
3C. e_octaeel_d01.bms
3D. e_octaeel_d02.bms
3E. e_pz.bms
3F. e_snow_woman01.bms
40. e_snow_woman02.bms
41. e_snow_woman_d01.bms
42. e_tn.bms
43. e_variant.bms
44. e_yb_d01.bms
45. e_zant.bms
46. field.bms
47. field_link_day.bms
48. field_link_night.bms
49. filone_forest.bms
4A. fishing.bms
4B. fishing_bare.bms
4C. fishing_get01.bms
4D. fishing_get02.bms
4E. fishing_get03.bms
4F. fishing_hit.bms
50. fortune.bms
51. gameover.bms
52. heartutsuwa.bms
53. hiding_village.bms
54. hiding_village_d01.bms
55. holy_forest.bms
56. horsebattle_d02.bms
57. howl_hikari_duo.bms
58. howl_hikari_ok.bms
59. howl_hikari_stone.bms
5A. howl_iyashi_duo.bms
5B. howl_iyashi_ok.bms
5C. howl_iyashi_stone.bms
5D. howl_new01_duo.bms
5E. howl_new01_ok.bms
5F. howl_new01_stone.bms
60. howl_new02_duo.bms
61. howl_new02_ok.bms
62. howl_new02_stone.bms
63. howl_new03_duo.bms
64. howl_new03_ok.bms
65. howl_new03_stone.bms
66. howl_tamashii_duo.bms
67. howl_tamashii_ok.bms
68. howl_tamashii_stone.bms
69. howl_umakusa_ok.bms
6A. howl_zelda_stone.bms
6B. indoor.bms
6C. indoor03.bms
6D. indoor04.bms
6E. itemget.bms
6F. itemget_insect.bms
70. itemget_komonjo_intro.bms
71. itemget_mini.bms
72. itemget_pou.bms
73. itemget_smell.bms
74. kakariko.bms
75. korokoro_game.bms
76. lake.bms
77. lutera_01.bms
78. lutera_02.bms
79. magnegoron.bms
7A. magnegoron_d01.bms
7B. magnegoron_d02.bms
7C. midona_sos.bms
7D. minigame_before.bms
7E. minigame_win01.bms
7F. minigame_win02.bms
80. obachan.bms
81. postman.bms
82. ranch.bms
83. river_game.bms
84. river_game_00.bms
85. rodeo.bms
86. room_vol2.bms
87. shop01.bms
88. shop02.bms
89. shop03.bms
8A. shop04.bms
8B. snowboard.bms
8C. snowboard_lose.bms
8D. snowboard_win.bms
8E. snow_mount.bms
8F. staff_roll01.bms
90. staff_roll02.bms
91. statue_game.bms
92. sub_dungeon.bms
93. sumo.bms
94. sumo_d01.bms
95. sumo_d02.bms
96. taro_rescue.bms
97. temp.bms
98. tempo.bms
99. toalvillage.bms
9A. toal_night.bms
9B. tobikusa.bms
9C. toki_shinden.bms
9D. treasureme.bms
9E. treasureme_s.bms
9F. treasureopen.bms
A0. twilight.bms
A1. wcs_d01.bms
A2. wcs_game.bms
A3. wildgoat.bms
A4. zeldasong.bms
A5. zora.bms
A6. zora_d01.bms
A7. menu_select.bms

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.

edited 7:17 PM EDT October 15, 2007
by hcs at 7:32 PM EDT on October 15, 2007
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!

edited 7:34 PM EDT October 15, 2007
by valiant at 9:31 PM EDT on October 15, 2007
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.

Some more teaser files:
Note that these are only preview rips! The sound quality sucks because of my bad on-board sound card and really lame editing. Issues will be fixed in the final rip.
by ugetab at 10:26 PM EDT on October 15, 2007
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.
by valiant at 4:39 AM EDT on October 16, 2007
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!

edited 5:46 AM EDT October 16, 2007

edited 5:50 AM EDT October 16, 2007
by hcs at 8:27 AM EDT on October 16, 2007
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

SCNE:
0x0-0x3: "SCNE"
0x4-0xb: 0
0xc-0xf: C-DF offset (within WSYS)
0x10-0x13: C-EX offset (within WSYS)
0x14-0x17: C-ST offset (within WSYS)

C-DF:
0x0-0x3: "C-DF"
0x4-0xb: count
0xc-0xf: offset within WSYS of some structure 0x38 in size
... more offsets

C-EX:
0x0-0x3: "C-EX"
0x4-0x1f: unknown (not always 0)

C-ST:
0x0-0x3: "C-ST"
0x4-0x1f: unknown (not always 0)

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.

edited 10:16 AM EDT October 16, 2007
by hcs at 10:37 AM EDT on October 16, 2007
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.
by ugetab at 11:25 AM EDT on October 16, 2007
Since that simple offset/size change didn't work, try this out:

Twilight Princess (hiding_village modification)
06DE = 8645
06E2 = 03FB
06E4 = 000B4040
06E8 = 00001180

With that change in place, try the hiding village again.

If it still fails to play the forest theme, then I guess it really would be easier to mute samples than to try to arrange 2 files simultaneously.
by hcs at 12:21 PM EDT on October 16, 2007
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.

edited 12:46 PM EDT October 16, 2007
by ugetab at 1:04 PM EDT on October 16, 2007
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.

edit:
nevermind. I see how it works now.

edited 1:09 PM EDT October 16, 2007
by hcs at 1:12 PM EDT on October 16, 2007
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:

49. filone_forest.bms
53. hiding_village.bms

[0000441c]=600048d8    /BGM/SEQ_BGM/Z2BGM_FILONE_FOREST
[48d8]=40500049
[000044ec]=600049a8    /BGM/SEQ_BGM/Z2BGM_HIDDEN_VILLAGE
[49a8]=40460053

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.

edited 1:25 PM EDT October 16, 2007
by ugetab at 1:20 PM EDT on October 16, 2007
It does.

Z2Sound.baa:
0x08 = 0xB4
0xB4 = "BST "

[00004634]=60004af0 /BGM/SEQ_BGM/Z2BGM_MENU_SELECT:
0x4634 + 0xB4 = 60004AF0
0x4AF0 + 0xB4 = 407600A7

Z2SoundSeqs.arc:
0x00A7 = 0x0D6C (A7. menu_select.bms)
by hcs at 1:26 PM EDT on October 16, 2007
Heh, I was editing mine as you typed yours up. So hopefully this will work, now...
by valiant at 5:40 PM EDT on October 16, 2007
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
by hcs at 6:24 PM EDT on October 16, 2007
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?

edited 6:29 PM EDT October 16, 2007
by valiant at 7:01 PM EDT on October 16, 2007
Neat idea.

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?

edited 7:07 PM EDT October 16, 2007
by hcs at 8:29 PM EDT on October 16, 2007
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.

edited 8:41 PM EDT October 16, 2007

edited 8:53 PM EDT October 16, 2007
by unknownfile at 8:59 PM EDT on October 16, 2007
Let me step in for a moment.

At first I thought that sample banks were controlled by the BMS format itself, but it is controlled by a few functions. The prototypes are:

Bank_Get(unsigned long)
Bank_GetInstKeymap(Inst_ *, unsigned char)
Bank_GetInstVmap(Inst_ *, unsigned char, unsigned char)
Bank_GetPercVmap(Perc_ *, unsigned char, unsigned char)
Bank_Init(void)
Bank_InstChange(Bank_ *, unsigned long)
Bank_OscToOfs(Osc_ *, Oscbuf_ *)
Bank_PercChange(Bank_ *, unsigned long)
Bank_RandToOfs(Rand_ *)
Bank_Regist(void *, unsigned long)
Bank_SenseToOfs(Sense_ *, unsigned char)
Bank_Test(unsigned char *)

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.
by valiant at 9:17 PM EDT on October 16, 2007
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.

Replacing two sequenced songs using the same bank gave me a similar result to the earlier experiment in the Hidden Village: This time, only strings, the recorder and some guitar samples are played.

Well, if I knew which BMS file uses which AW file, I could probably exchange the AW file names in the ISO, in conjunction with the BAA swap procedure.

edited 9:20 PM EDT October 16, 2007
by hcs at 9:34 PM EDT on October 16, 2007
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.

edited 9:36 PM EDT October 16, 2007
by ugetab at 9:36 PM EDT on October 16, 2007
I wonder what would happen if you changed the SE at 1680C to ST...would it kill all SFX? Would it kill the music too, because of the error?
by valiant at 9:43 PM EDT on October 16, 2007
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.
by unknownfile at 9:47 PM EDT on October 16, 2007
the best possible solution is that you get a debugger out and start monitoring calls to the sequence loader. you have the addresses, so go for it.

by hcs at 11:17 PM EDT on October 16, 2007
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.

edited 11:28 PM EDT October 16, 2007
by valiant at 8:42 AM EDT on October 17, 2007
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...

edited 11:46 AM EDT October 17, 2007
by hcs at 6:41 PM EDT on October 17, 2007
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.
by valiant at 7:39 PM EDT on October 17, 2007
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.
by hcs at 8:52 PM EDT on October 17, 2007
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.
by hcs at 11:16 PM EDT on October 17, 2007
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.

edited 11:21 PM EDT October 17, 2007
by valiant at 6:12 AM EDT on October 18, 2007
Many thanks, hcs!

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.

edited 6:35 AM EDT October 18, 2007
by hcs at 7:34 AM EDT on October 18, 2007
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?

edited 7:52 AM EDT October 18, 2007
by valiant at 8:15 AM EDT on October 18, 2007
I think I've understood the connection between the individual files now.

Just to clear that up:
I tried the following things...
1. Gerudo Desert -> Faron Woods (BST swap)
2. Gerudo Desert -> Faron Woods (BST swap + AW file renaming)
3. Gerudo Desert -> Faron Woods (BST swap + AW file replacement)
4. Gerudo Desert -> Forest Temple (BST swap + AW file replacement)

The results were:
1, 2, 3: Some samples played
4: Silence

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! :)
by Lunar at 10:43 AM EDT on October 18, 2007
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?

edited 3:17 PM EDT October 18, 2007
by valiant at 11:00 AM EDT on October 18, 2007
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.

edited 2:33 PM EDT October 18, 2007
by hcs at 11:26 AM EDT on October 19, 2007
for Lunar:
wsyster 0.1 up, will skip .aw files that it can't find.
by Lunar at 12:04 PM EDT on October 19, 2007
awesome, thanks!
by marioman at 9:41 AM EDT on October 20, 2007
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.

Thanks.

edited 12:20 PM EDT October 20, 2007
by unknownfile at 9:44 AM EDT on October 20, 2007
yes it can
by marioman at 12:20 PM EDT on October 20, 2007
Which one? The conversion or the in_cube support?

edited 12:25 PM EDT October 20, 2007
by hcs at 12:59 PM EDT on October 20, 2007
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.
by Lunar at 5:30 AM EDT on October 22, 2007
Having the .aw files playable in Winamp would be really useful. So long as they played correctly anyway.
by PokeParadox at 8:39 AM EDT on October 22, 2007
Even if hackish type stuff can be done, it would be awesome! :)

I remember the crackly Windwaker support on the test release :P It was crackly, sounded awful... but it was still awesome! :D
by valiant at 9:46 PM EDT on October 24, 2007
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.

edited 9:47 PM EDT October 24, 2007
by Ikkutebayo at 7:50 AM EST on November 11, 2007
Finally, a good Four Swords Adventures rip!

edited 7:52 AM EST November 11, 2007
by unknownfile at 10:53 AM EST on November 11, 2007
We have a winrar!
by bcass at 9:51 PM EST on November 13, 2007
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:

Click here...

edited 9:58 PM EST November 13, 2007
by valiant at 10:27 PM EST on November 13, 2007
Just send your modified GameCubes to me.

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.
by bcass at 7:56 AM EST on November 14, 2007
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.

edited 8:44 AM EST November 14, 2007
by valiant at 10:13 AM EST on November 14, 2007
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.
by bcass at 10:50 AM EST on November 14, 2007
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++.
by valiant at 11:51 AM EST on November 14, 2007
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.
by bcass at 12:37 PM EST on November 14, 2007
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.

edited 12:46 PM EST November 14, 2007
by valiant at 10:42 AM EST on November 19, 2007
Four Swords Adventures (MP3 version) finished! ^_^
FLAC version will follow.

edited 10:43 AM EST November 19, 2007
by unknownfile at 10:47 AM EST on November 19, 2007
awesome. I should get working on Pikmin at some point in the future.
by SquareTex at 7:49 AM EST on November 20, 2007
Fantastic work, Ferramenta! :D
by valiant at 1:58 AM EST on November 21, 2007
FLAC version released. ^_^
Part 1 and Part 2.

edited 1:59 AM EST November 21, 2007
by hcs at 3:08 AM EST on November 21, 2007
direct download of a single zip for any interested.
by valiant at 1:30 AM EST on November 22, 2007
Thank you for the additional hosting, hcs.

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? ;-)
by hcs at 3:09 AM EST on November 22, 2007
Why, I can't remember ever having called you anything else!

([REDACTED]->Prime Blue)

edited 3:40 AM EST November 22, 2007
by valiant at 3:19 AM EST on November 22, 2007
Minor tag fix:

"Sword Level Up Fanfare" -> "Sword Level-Up Fanfare"

edited 6:20 AM EST November 22, 2007
by bcass at 10:31 PM EST on November 22, 2007
Many thanks to all involved. Downloading now.
by valiant at 11:54 AM EST on November 23, 2007
Yes, method is working.
Although it took quite some time to set it up right.

Twilight Princess rip entirely possible now. :-)
by hcs at 5:00 PM EST on November 23, 2007
Glorious!
by valiant at 11:26 AM EST on November 29, 2007
Halfway through the game now (before getting the Master Sword). 150 tracks so far. The runtime of that rip is reaching ridiculous/overwhelming levels.

Targetting an anniversary release, on one of the dates the GameCube versions came out.
by hcs at 5:45 AM EST on November 30, 2007
I can't overstate how much I'm looking forward to this rip. A beautiful soundtrack, and a meticulous ripper. Thank you!
by valiant at 6:58 AM EST on November 30, 2007
"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:

[0000075c]=51005f00    /SE/Z2PLAYER_SE/Z2SE_PLAY_REED_TOBIKUSA
[00000760]=51005f0c    /SE/Z2PLAYER_SE/Z2SE_TOBIKUSA_ECHO


A small side note: A tobi (とび) is a red-tailed hawk and kusa (クサ) means "grass". Just to ensure the effort is not for nothing.

Sorry to bother you again, but it would drastically reduce the chances of me becoming completely batshit insane.

edited 7:24 AM EST November 30, 2007
by hcs at 8:35 AM EST on November 30, 2007
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.
by valiant at 9:52 PM EST on November 30, 2007
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.

edited 10:00 PM EST November 30, 2007
by hcs at 3:59 AM EST on December 1, 2007
Verily, I shall see what is wrong with that file.

...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.

edited 4:33 AM EST December 1, 2007
by valiant at 9:15 AM EST on December 1, 2007
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.

edited 9:18 AM EST December 1, 2007
by hcs at 2:32 PM EST on December 1, 2007
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).
by valiant at 10:04 PM EST on December 1, 2007
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.

edited 1:57 AM EST December 2, 2007
by hcs at 3:20 AM EST on December 2, 2007
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.

edited 3:34 AM EST December 2, 2007
by valiant at 9:22 PM EST on December 5, 2007
Surprise release!

It would be cruel to hold that rip back for a few days just to meet the anniversary. So I decided to release it before the tentative date.

Get it here.

Thanks again for your help, hcs!

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.
by hcs at 1:01 AM EST on December 6, 2007
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?
by holyice7 at 5:05 AM EST on December 6, 2007
You...are...AWESOME!

And I'd love to see how these rips operate when a Wii emulation player becomes more simplified.
by Lunar at 7:10 AM EST on December 6, 2007
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.

edited 7:19 AM EST December 6, 2007
by bcass at 8:35 AM EST on December 6, 2007
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.

edited 8:43 AM EST December 6, 2007
by holyice7 at 8:40 AM EST on December 6, 2007
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?
by marioman at 9:07 AM EST on December 6, 2007
Nice. Thanks for your hard work.
by unknownfile at 10:00 AM EST on December 6, 2007
in before zelda fans rape the file to bits


...stupid zelda fans
by valiant at 11:19 AM EST on December 6, 2007
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.

edited 11:44 AM EST December 6, 2007
by hcs at 12:58 PM EST on December 6, 2007
For any unable or unwilling to download from megaupload:
The rip.

(similarly the Four Swords Adventures rip in FLAC; I finally updated my mirror to the updated version (tag fix).)

edited 1:40 PM EST December 6, 2007
by bcass at 4:38 PM EST on December 6, 2007
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.
by unknownfile at 5:39 PM EST on December 6, 2007
HEY GUYS!
TO CELEBRATE, HERE'S MY WHOLE OPINION OF THE WHOLE SITUATION.



QUITE HONESTLY, ASKING FOR A FUCKING DVD OF FLACS IS UTTER STUPIDITY.

GET A FUCKING LIFE.

IN BEFORE TROLL, HYPOCRITE, ETC

ALSO CRUISE CONTROL
by bcass at 5:52 PM EST on December 6, 2007
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.
by unknownfile at 5:55 PM EST on December 6, 2007
lol internets

ps: i support lossless
:) by SquareTex at 6:31 PM EST on December 6, 2007
You've done well, PrimeBlue.

I'm downloadin' this sucker now, and I get the feeling it'll make the workplace a LOT more tolerable tomorrow.

Thank you VERY MUCH. :)

edited 7:45 PM EST December 6, 2007
by JTurner at 11:20 PM EST on December 6, 2007
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?

-Jon T.
by valiant at 12:27 AM EST on December 7, 2007
Pikmin, uf. Ripping, not bitching. ;-)

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.
by hcs at 3:14 AM EST on December 7, 2007
What if I have a desire to be bothered?
Always nice to see some more developers in the field, but do feel free to ask me stuff...

edited 3:19 AM EST December 7, 2007
by valiant at 8:02 PM EST on December 7, 2007
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.

edited 4:39 AM EST December 8, 2007
by hcs at 10:11 AM EST on December 8, 2007
So this clicking is an error with the file itself, not with in_cube?

Next Page
Go to Page 0 1 2

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source