Sonic Lost World Sound Files by Kurausukun at 12:22 PM EST on January 14, 2015
In Lost World Wii U, all of the streams are in a file called "bgm_streamfiles.awb," which is ~200MB. Is this a known archive type/can I extract it? The rest of the files are .acb (or also .awb). Same question for those.
by soneek at 2:21 PM EST on January 14, 2015
You may as well just use the ADX and HCA extractors from vgmtoolbox.
by Kurausukun at 3:40 PM EST on January 14, 2015
Thanks, I didn't know VGMToolBox had that function. Turns out they're all just .adx files, which is weird because I thought for sure they would be HCA. But the real kicker is that ALL OF THEM ARE 32000Hz
by RebeccaSugar at 4:36 PM EST on January 14, 2015
only ninty does that sample rate, oh well, care to upload?
by MurraySkull at 4:41 PM EST on January 14, 2015
And can you get the DLC files?
by Kurausukun at 5:09 PM EST on January 14, 2015
Uploading as I type, will update this post with the link once it's done. Also, no DLC files, unfortunately. I didn't dump this myself, someone of at Sonic Retro did because the common key was leaked. The reason I was surprised at the sample rate is because Sega almost always samples their in-game files at 48000, in fact this is the first (console) game I can think of since maybe Shadow the Hedgehog that had 32000.

EDIT: Here https://mega.co.nz/#!gllTAapA!kx9uJpjnNJTPiu0Kt_b6jZ2ZG-KCWrjc-RGFn38APFY
edited 10:23 PM EST January 14, 2015

edited 11:12 PM EST January 14, 2015
by RebeccaSugar at 5:39 PM EST on January 14, 2015
Shadow the hedgehog had 48khz actually, I just checked, unless they're upsampled.

Also, THANK YOU!


here's hoping they also dump DLC
by Kurausukun at 5:46 PM EST on January 14, 2015
Shadow the Hedgehog had 48kHz on XBOX, but on GC it was 32. We're talking Nintendo consoles here, but if you want to include them all, then we'd have to go all the way back to SA2(B).
by soneek at 5:46 PM EST on January 14, 2015
If there's a matching acb file, it may have filenames.
by Kurausukun at 5:57 PM EST on January 14, 2015
There is indeed a matching acb file. I just have no idea how to use it :P
by soneek at 6:03 PM EST on January 14, 2015
Share please. I've been looking at this kind of stuff lately.
by Kurausukun at 6:08 PM EST on January 14, 2015
bgm.acb: https://mega.co.nz/#!E8EF1KjI!GKN7mvkU3IeF4bnVaWF3II0AYwR1MY19A3-Rbpb8-Tw
by soneek at 6:15 PM EST on January 14, 2015
bgm_2pvs_menu
bgm_boss_eggman
bgm_boss_emo
bgm_boss_fat
bgm_boss_female
bgm_boss_leader
bgm_boss_leader_final
bgm_boss_master
bgm_boss_punk
bgm_boss_rushes
bgm_mboss_emo
bgm_mboss_fat
bgm_mboss_female
bgm_mboss_leader
bgm_mboss_master
bgm_mboss_punk
bgm_minigame
bgm_p_asteroid
bgm_p_bomb
bgm_p_drill
bgm_p_drill_w
bgm_p_eagle
bgm_p_hobber
bgm_p_laser
bgm_p_rhythm
bgm_result
bgm_ssonic
bgm_staffroll
bgm_theme
bgm_title
bgm_w1a01
bgm_w1a03
bgm_w1a04
bgm_w1a06
bgm_w1a06-2
bgm_w2a01
bgm_w2a06
bgm_w2c01
bgm_w2c01-2
bgm_w3a01
bgm_w3a03
bgm_w3a06
bgm_w4a01
bgm_w4a04
bgm_w4a06
bgm_w5a01
bgm_w5a02
bgm_w5a02-2
bgm_w5a03
bgm_w6a03
bgm_w6a05
bgm_w7a01
bgm_w7a02
bgm_world_map
bgm_xbak01
bgm_xbak01-2
bgm_xbee01
bgm_xcas01
bgm_xcas01-2
bgm_xcub01
bgm_xind01
bgm_xind02
bgm_xmoa01
bgm_xnim01
bgm_xnim02
bgm_xsea01
bgm_xsea02
bgm_xsky01
bgm_xswe01
jingle_2pvs_clear
jingle_2pvs_result
jingle_gameover
jingle_hurryup
jingle_matchless
jingle_mission
jingle_speed
jingle_stg_clear

I haven't made an extractor yet, but I need to make sure that I have proper matching for filenames to files.
by Kurausukun at 6:18 PM EST on January 14, 2015
LOL, nice internal names they chose for the Deadly Six. I think my favorite is "fat"
by RebeccaSugar at 6:31 PM EST on January 14, 2015
Emo gave me a hearty chuckle.

by Hiccup at 7:10 AM EST on January 15, 2015
That reminds me of Luigi's Mansions model files; 'fat', 'ugly'.
by Segtendo at 7:37 AM EST on January 15, 2015
"Fat" "Emo"
lel
by Kurausukun at 5:20 PM EST on January 15, 2015
The misromanization of hover as hobber also gives me a laugh. Honestly, looking at internal names of anything is always entertaining.
by soneek at 6:55 PM EST on January 15, 2015
Would you be able to upload the awb archive?
by Infernus Animositas at 11:34 PM EST on January 15, 2015
The internal audio filenames for Echoshift on PSP were hilarious

"A L Fuk You 01"
by Kurausukun at 4:09 AM EST on January 16, 2015
@soneek I'm not at my home computer right now, but when I get home, I'll just upload the whole sound folder.
by Kurausukun at 2:54 PM EST on January 16, 2015
Sorry for the wait:
https://mega.co.nz/#!lx0jzLLS!GEBIvtR3YNVI31U_Y6VHXW0pdBDVcmo3TZGsFBtbz0g
by MurraySkull at 1:40 AM EST on January 17, 2015
Here are the .ADXs:
https://www.mediafire.com/?yoo7oopmoty0fl9

Still need the DLC, though.

Perhaps crediar can provide them, if it is possible as with Mario Kart 8.
by bxaimc at 2:03 PM EST on January 17, 2015
Ok. We were kinda trying to figure out how to extract with file names but.....ok
by soneek at 2:45 PM EST on January 17, 2015
Thanks Claus.

@MurraySkull We really just need to update the NUS downloader to download Wii U stuff. For DLC, we'll at least need title.tik.

edited 8:09 PM EST January 17, 2015
by soneek at 10:08 AM EST on January 20, 2015
The update data doesn't have the Yoshi or Zelda music.
by MurraySkull at 9:11 AM EST on January 21, 2015
So where is the music, then?
by WrappedInBlack at 9:27 AM EST on January 21, 2015
nobody knows...

edited 2:35 PM EST January 21, 2015
by soneek at 11:38 AM EST on January 21, 2015
It's probably only in the purchased DLC. There's no way to currently get it.
by Lastennet at 6:05 PM EST on January 27, 2015
very nice as well,....
etui Xperia Z3 coque Xperia Z3

edited 11:14 PM EST January 27, 2015
by MurraySkull at 8:22 PM EST on January 27, 2015
Lastennet, shut up!
Zeena voices by TabuuAkugun at 9:03 AM EST on January 29, 2015
I have the ACB file for Zeena's English voices and I want to convert and use them in one of my projects. I can't find a decryptor anywhere. Thanks.

edited 2:11 PM EST January 29, 2015
by Kurausukun at 9:48 AM EST on January 29, 2015
There isn't a specific tool AFAIK; like soneek said earlier in the thread, use VGMToolBox's adx finder. Also, I don't think the voices would be in the .acb file (unless you're sure they are), I would expect them to be part of a larger .awb archive.

edited 2:57 PM EST January 29, 2015
by TabuuAkugun at 10:20 AM EST on January 29, 2015
The reason I'm sure they're in the ACB itself is because there's no AWB with her name on it AFAIK.

EDIT: All that's there is the music and the echoed voices that play before her boss battles.

EDIT 2: I cannot for the life of me unpack those accursed ACBs.

edited 4:16 PM EST January 29, 2015

edited 9:22 PM EST January 29, 2015
by TGE at 5:17 AM EST on February 2, 2015
http://www.vg-resource.com/thread-26580-post-579903.html#pid579903
by TabuuAkugun at 6:35 AM EST on February 2, 2015
Yeah, thanks a lot, TGE. I got them. I owe ya one big time.
by snakemeat at 7:10 PM EDT on July 20, 2015
I've got a WIP ACB/AWB extractor. Can someone re-upload the samples so I can test?
by Kurausukun at 12:30 AM EDT on July 21, 2015
I uploaded the sound folder here. If/when your extractor works, be sure to post it here :P
by Infernus Animositas at 1:27 AM EDT on July 21, 2015
Snakemeat I'm curious, does your ACB/AWB extractor have the ability to match the filenames located in the ACB to the files extracted from the AWB?
by snakemeat at 3:32 AM EDT on July 21, 2015
Thanks. I'm adding it to VGMToolbox, so you'll definitely see it when it's ready for public tests.

Regarding name matching yes, it uses the CueNameTable and WaveformTable entries in the ACB's UTF Table to match the cue IDs located in the AWB (AFS2) file. Hcs's utfview.exe has been invaluable in helping with this analysis.
by Sephirothkefka at 6:14 PM EDT on July 22, 2015
IIRC NiGHTS: Journey of Dreams also had 48khz files. Maybe awb files are limited to 32khz only?
by snakemeat at 6:36 PM EDT on July 22, 2015
Still trying to figure out how to map the ACB to AWB. The previous samples I researched has the same number of file names in the ACB as music files in the AWB. This one is different.
by snakemeat at 8:05 PM EDT on July 23, 2015
Finally figured out the CueName to AWB mapping. I'm throwing this up for historical purposes and since Sourceforge SVN is still down. It's been a long time since I worked with pointers, so bear with me if the notation is off:

AWB Id for a CueName Entry:

WaveFormTable[(ushort)*(&SynthTable[CueTable[CueNameTable.CueIndex].ReferenceIndex].ReferenceItems + 0x6)].Id

I've uploaded a beta VGMToolbox with the WIP ACB/AWB extractor here. It does not yet extract data from within the ACBs themselves, although I think I understand things enough to add it soon. I've only had samples for 3 file types (AT3, ADX, and HCA), so if you get an output file extension with ".EncodeType-XX.bin", please report it so I can review the file and update the code.

This version of VGMT also has a CPK extractor added. The ISO Extractor also has a CPK browser. I got sick of waiting for thousands of voice files to extract for 30 BGMs. I haven't added support for encrypted CPKs yet.

Thanks so much to hcs for the UTF/CPK code and posts. The base UTF info came in handy for both CPK and ACB/AWB stuff.

As always, please report bugs so I can fix them.
by Infernus Animositas at 11:54 PM EDT on July 23, 2015
I bring you errors from two different ACB files

Error processing <C:\Users\Infernus Animositas\Desktop\ACB\strm.acb>. Error received: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex

strm.acb is from Digimon All-Star Rumble on Xbox 360
BIRD_BGM.acb is from Dragon Ball Xenoverse on PC

Here are the ACB files for further investigation
http://www90.zippyshare.com/v/P6aqG4pI/file.html
by snakemeat at 5:21 AM EDT on July 24, 2015
Thanks. A quick check with hcs's utfview threw unexpected end of file errors. Are you sure these are the complete files? If so, I'll take a closer look to see if this is a new format or something.
by Infernus Animositas at 6:30 AM EDT on July 24, 2015
Yes, those files are complete. I just double checked by extracting the CPK archive again and comparing the files.
by snakemeat at 5:36 PM EDT on July 24, 2015
I figured out the problem, and uploaded a fixed version here.

For anyone else familiar with UTF, the samples provided seem to indicate that the offset to row information is actually a ushort at offset 0xA rather than a uint at 0x8.
by Infernus Animositas at 6:35 PM EDT on July 24, 2015
It worked :)

However, something doesn't add up completely.

The very first extracted Cue ID is 00000_BRD_BBGM_00_GOK and according to the ACF as shown here and the waveform's number of samples for that file it should be 4794827

But the converted HCA has 5266364 samples which is the exact number of samples for the second Cue ID 00001_BRD_BBGM_01_VGT as seen here and here


EDIT: Here's the ACF file for further inquiry
http://www51.zippyshare.com/v/kxnRRZ2G/file.html

edited 1:17 AM EDT July 25, 2015
by snakemeat at 8:34 PM EDT on July 24, 2015
Thanks a lot for the testing, I really appreciate it. It turns out this ACB had a different ReferenceType in the CueTable, 3. This resulted in a different offset correction for the Waveform ID, making the formula above:

WaveFormTable[(ushort)*(&SynthTable[CueTable[CueNameTable.CueIndex].ReferenceIndex].ReferenceItems + 0x2)].Id

For now, two ReferenceTypes are supported, 2 and 3. VGMT will throw an exception if a different type is encountered.

Here's an updated version.

Please keep the bug reports coming. I also realized I hadn't added ITOC support to the CPK functions yet. I'm adding that and a brute force decryptor as well for CPK in case the keys change.
by plpl3000 at 12:33 AM EDT on July 25, 2015
Error received: Object reference not set to an instance.


LGS_SOUND.acb is from Langrisser: Re:Incarnation Tensei on 3ds
sys_stream.acb is from Persona Q - Shadow of the Labyrinth on 3ds


http://www85.zippyshare.com/v/lPaV1daT/file.html
by snakemeat at 12:35 PM EDT on July 25, 2015
Here's an updated copy. It looks like maybe extra data is left in for files that are not actually there. _Or_, I need to do more analysis, since CRI Viewer seems to think some of these files exist, but I cannot test without the AWB.

But for now, here's a copy that will skip bad entries.
by Infernus Animositas at 4:35 PM EDT on July 25, 2015
HCA Decoder v.1.15

It has three separate decryption keys for HCA.

The interesting part is that it adds silence samples to the track and the number of samples can range anywhere from 100 to 5000 additional samples.

Not sure why that is though but it works just fine.

Since it's Japanese, I've roughly translated the batch decode and decryption files as well.

The decoder can also show you the file header information of a HCA too :)


In Xenoverse there are 81 HCA files in the BGM AWB archive but there are only 72 Cue IDs in the corrosponding ACB.

I'd imagine the same thing happens in other games that use this middleware as well.

Is there a way to have those additional HCAs extracted but without filenames (maybe just their offsets?) without using the HCA Extractor and manually sorting which ones weren't included from the ACB/AWB Extractor?

Here's the ACF, ACB and AWB archive from Xenoverse to test on.
Xenoverse Audio
by snakemeat at 7:55 PM EDT on July 26, 2015
I'll take a look. I was focusing on getting the CPK stuff (encryption, ITOC support) completed. Now just need to test the heck out of it.

There are a number of ACB variations that I've seen:
(1) ACB with no AWB: SFX inside the ACB
(2) ACB with more cues than AWB, usually uses a song more than once with different names (probably applies different effects to the waveform)
(3) ACB with less cues than AWB, your example above.
(4) ACB with internal AWB and external AWB (Sonic Lost World)

I'm going to work on supporting all of those ACB types and incorporating ACF categories (maybe as subfolders to separate SE, VOICE, and BGM when possible) and any other helpful ACF things (if any).

A nice thing is the ACB has internal MD5 checksums for the AWB and ACF too, which helps verify the integrity of the source data.

edited 1:06 AM EDT July 27, 2015
by Kurausukun at 11:34 PM EDT on July 26, 2015
Good luck. I hope it works out so I can extract Lost World's files. It's not completely necessary since the .adx extractor works well enough, but it would be nice to have proper names. Also IIRC some SFX archives need this. Right now the files just throw errors at me when I try to use it, so I'm either doing something wrong, or you just haven't figured the format out enough yet--not sure, sorry.
by D1Vader2 at 10:04 PM EDT on July 27, 2015
Do you think that tool would work for extracting sounds from acb files from other games (like pokepark2 for example?)
by snakemeat at 7:59 PM EDT on July 30, 2015
Here's an updated build of VGMToolbox. I've got all of the ACB/AWB samples working well, I think. Some of the items don't always seem to match CRIAtomViewer's columns, but many do match.

Any additional testing would be appreciated.
by Kurausukun at 8:53 PM EDT on July 30, 2015
Alright, I just tested with Lost World's bgm.acb file.

It properly spit out all of the .adx files, but it's not perfect; there were a some duplicates (seemingly), and a few of the files still didn't have proper names. But this is great, excellent work.

edited 2:07 AM EDT July 31, 2015
by D1Vader2 at 9:36 PM EDT on July 30, 2015
I know it's meant for sonic lost world acb and awb files, but it doesn't work on pokepark2 acb and awb files. (Since they share the same file extensions and they contain similar data, they should be similar files and might not be too much trouble for you to add support for should you decide to do so.)
by snakemeat at 4:38 AM EDT on July 31, 2015
There are acb/awb archives that may have more waveforms (music/sfx files) than cue names. Any waveform that doesn't have a corresponding cue name is extracted using the base file name and the file's id within the AWB (AFS2) file.

Also, one waveform may have 0 or more cue names, causing the duplicates. You can use VGMToolbox's checksum calculator/duplicate finder if you want to remove duplicates (or maybe I'll add an option to only use the first cue name).

As for pokepark, it should work. This tool is supposed to work for all CRI acb/awb packs.
by D1Vader2 at 8:32 PM EDT on August 3, 2015
It says that extraction is complete, but it does that regardless of what files I drop into it. It doesn't actually extract any files. Here is an example awb from pokepark2 if you want to see for yourself. http://www.filedropper.com/spikavoicestreamfiles
by snakemeat at 4:42 AM EDT on August 4, 2015
This is a CPK file, not an AWB. Drop it on the ISO/Archive Extractor tool to view the contents. Since it uses an ITOC file system, the files will not have "nice" names.


Go to Page 0

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