A couple questions, interleave and .wa by DChronos at 1:19 AM EDT on July 4, 2008
I spent a shitload of time searching round trying to figure out how to get these Wild Arms 3 songs to play properly in the ADPCM Player that MouserX pointed me to, and have the right frequency and channels, but then there's interleave which I can't get to work right. I don't know if this is just normal or something, but the best sound comes at a value of 400, above and below sucks, but at 400, there's a bunch of regular popping going on. I even adjusted by values of single bits (like 401+ and 3ff-) and nothing in those ranges work anyway because it just makes static.
Can anyone tell me what value this is supposed to be at?
Second is, I decided to check out Wind Waker, as I've wanted to listen to some quiet music while I work on some things, and notice that a ton of songs aren't even there. Also, there's all these .aw files, and the only ones that play in winamp are the files in the streams folder. I'm using the latest in_cube, and while searching, someone had said the .aw format was cracked and was in the in_cube already, at least as far as I understood what they were saying. But I also looked at the vgmstream readme and it didn't say it plaed them either, so... All I know is that this is part of the sequenced music, but if they just go to the other files in the streams folder, then how come there's so many missing songs, especially when my searches were turning up these results from clear back in '05? *was really hoping for a few like Dragon Roost, and the main ocean theme*
That reminds me, I'd love to have the music of Starfox Adventures, too. Too bad it isn't ripped, as far as I know, and I can't even attempt ripping myself.
Anyway, I searched here and couldn't find anything, so sorry to bother you guys if it's already been answered.
On one more note, to manakoAT, in case you pop in here and reply about WA3... yeah, like I said, I'd love to try to help. VG Music is one of my favorite things. I still remember the first song I remembered... Coast to Coast in Rad Racer 2, clear back when I was 7 or 8. I can remember every sound of every note of just about every game I ever liked the music of.
Interleave for WildArms 3 is 1024, so 0x400. I'll upload a GENH set for the game that's playable with VGMStream as soon as I get my net connection back.
aw has never been supported, as it is just a bank of samples (not even the sequences). What I have been able to do is extract the samples from it, maybe that is what you saw reference to. Or maybe you read about when I figured out how to decode AFC.
You're in luck with Dragon Roost Island and the Ocean theme, at least, they were in Super Smash Bros Brawl, looped.
Here's the latest version of the GENH Creator, feel free to test it on WA3!
You can calculate "near" loop-points easy only by hearing...
For example: if you listen to this track it loops near 8 seconds, take these 8 seconds and multiplie it with the frequency (8 * 48000) and you have a nice value to deal with (384000), if you now look at the picture maybe you know what i mean :o)
One more thing, an interleave in PS2 ADPCM is always dividable by 16 (0x10) , interleaves like 401+ and 3ff- are invalid interleaves!
Thanks for that, and the ADPCM Player uses hex code for interleave value. 1024 in hex turns out as 400, and like I said, that's as close sounding as it will get to being right, but it pops like a sonovabitch at the frequency the interleave is happening.
Anyway, that number looks just like what I've dealt with in Cakewalk, Audacity, etc. Like I said, if I get some exact wave rips, I can figure out the exact loop points for you by ear using audacity and taking the position number from it.
And yeah, I knew the interleave had to be something that worked out in a normal bit value in that 8 or 16 range, found out it was 16, but tried anyway just because 400 was only almost there.
I'll check out that program later on. I had all the music riped into some kind of .ps2 format, though it's pretty useless if nothing plays it...
Also, thanks hcs! This is great! Though I still have to wonder, how come these, the other islands, and quite a bit of stuff weren't ripped?
EDIT: OK, I created a genh file out of my favorite song, but the popping is still there... Here's the genh file. I just made it loop end to beginning. If I can make these sound right, I can probably use test.exe to create wavs out of the genh files, then take them to audacity and fine the exact loop points very easily.
If you got these already ripped as genh, but without loop points, I wouldn't mind trying if you got somewhere I can get a few to try.
It's simply a wrong ripped file, you can see that on the offset in the file name "052 - WA3BGM_043a1020" , the files must be dividable by 1024 too, and start on an offset that is dividable by 1024 too, so the next "possible" offset for this file is 0x043A1000, 0x043A0C00, 0x043A0800, 0x043A0400 or 0x043A0000 (i prefer to try the 0x043A0000)!
Here's a correct ripped file, it uses all values from my complete PSF2 set, i'm only too lazy to make GENH's of them...
The ADPCM Player can't detect the markers correctly in WA3, cause there are no real markers :o)
How would I go about ripping these and being able to set the offset? I can't set that value in this program.
I was looking at the file, and thinking it must be the offset that's wrong, too, so that each interleave piece is cutting off and going into the next piece for the other channel, and it keeps doing that. What's weird is, there is a 2 second thing at the beginning of the file (multiple times), and the very first one plays perfectly fine. All the rest after that play like mine.
I used ADPCM Player's offset values, devided them by 1024, rounded down to the nearest whole number, multiplied that by 1024 to get the REAL offset value, and did the same thing for the next song to find the end of song 52, and I opened up the WA3BGM.DAT file in a hex editor with a width of 16 bits. If you look, you see this line of 0C 02 characters going vertically that signify the file start. I selected the block where it started the 0C 02 coding in the next song (at the address $48BE000), went to the bottom and selected the last block and deleted the entire selection, then went to the address where this sing started at ($43a1000), selected the last block before that address, and selected all the way to the top, then deleted that entire selection, and saved what was left as "052bgm.ps2". Then all I had to do was load it in GENH, set the file type, interleave, channels, and frequency, and create the GENH file, and it worked flawlessly! All I have to do now is make a WAV file, locate the exact loop point and stick that into the loop start.
One question, though, does the loop start have to be divisible by 1024 as well, or can it be at any point? Or is it just divisible by 16 or something?
Well, after making an unlooped un-fadeout wave file from test.exe, loading it up in Audacity, which only let me see it in sample count, dividing the total byte size with sample size to get a rough number to figure out if I was close to the right loop start in sample number, after finding the loop by ear, and by sight on the waveform graph, and then taking my sample number and doing the same thing to find the closest value to it divisible by 1024, I got a perfectly looping file of Scars of Leftover Memory.
Thanks for the help figuring this out, though, and like I said, if there's something I can do to help you complete this (even tagging them, if you don't got the OST to use), I'd be more than happy to help out during my free time.