Twilight Princess sounds by Avatarus at 8:14 AM EST on November 29, 2012
Greetings. I'm making a Zelda game and need to get sound effects from Twilight Princess. I have used baad and wsyster tools, and it extracted them. There are no readable names and they all look like simple sounds. In game they are played in groups with different pitch, reverb etc. I'm still trying to sort them with a special tool, but this becomes harder and harder. You can watch the progress here.
I have looked in Z2Sound.baa.bstn with hex editor and there are some file system. Perhaps, this is the name of sound effects (groups of simple sounds). Game files should have info about sound effects and sounds of which they consist. I'm hoping to link that file system to the extracted sounds. Any ideas?
Ditto, mentioned this in the IRC channel. Too bad there weren't even any ops on channel at the time. HCS, if you're reading, purge all but the first post; it was legit.
Analyzing the format takes some time (; So far I wrote a tool that lists all sound entries with their paths and their type (I get results similar to Z2Sound.txt). The .bstn only contains the symbol/name of each sound entry and the .bst the actual entries. It also contains the file name for each stream and a number for each sequence referencing the sequence entry in Z2SoundSeqs.arc. But the SE entries don't reference the location/name of the samples at all. This must be stored in another file, which I still try to find.
No, there is no link to the Z2BgmWaves, these are stored in the wsys files as I pointed out in another thread. There is only a reference to the sequences in Z2SoundSeqs.arc. z2cstable.bct seems similar to the .bst and .bstn files but contains completely different entries. The other files in Z2CSRes.arc aren't very interesting. The last idea I have is the .bsc file, but it has a very complex format (it uses command bytes like the sequences do).
EDIT: The .bsc definitely seems to contain the SE entries. I found out its basic structure, now I hope I'll find the relevant values...
Is it possible to delete duplicates from the final results and somehow replace a references to them with ones from that list? Link: Sounds.txt I have used NoClone and now there are 4284 Z2SeWave files left, instead of original 13209. This makes sorting a lot easier, but now I'm unsure how to link them with sequences.
I don't really understand what you want to link? And the sound effects don't have anything to do with sequences, the .bsc just has a similar format. But your result is right, when I look at the .bsc it has approximately 4275 entries. The duplicates seem to have something to do with the banks they are stored in, so the game just loads the necessary ones.
I also don't understand why there are .bnk files for the sound effects. I mean this makes sense for the instrument samples of the sequences, but for SEs?
EDIT: Now I found out. I was wondering why the BSC does not store the sample IDs, they are stored in the BNK files (like the BGM samples are). The BSC format is so similar to that of the sequences because it actually is some kind of sequence. It sets bank, instrument and key and then the appropriate sample in the BNK is looked up. What a complex audio system ...
This sequence-like format has this information. It does not directly say which aw/wav is used but it gets the ID of the used sample from the BNK. All duplicates have the same ID, so if you delete the duplicates there will still remain one sample with this ID.
I want to implement that in my JAudio Library because the SE seqs are very similar to the music sequences. The problem is that the format is very complex, so this will take some more time, I think.
I successfully linked the SE entries in the BST with the sequences in the BSC, that was the easier part. The more difficult one is playing them correctly because their format is harder to understand than the music sequences. Also, most of the sequences don't only consist of a single sound, the menu SEs for example have only one instrument sample as a streamed file, the rest is done by the sequence. This will taker longer than I've estimated...
Can you send your results? I'll see, maybe further work is not that necessary. The main thing I need is a files connected with BSTN entries. That will greatly ease using of sounds.
I could send you the resource viewer and the BSC header format, but then you would only know at which position you find the sequence. Reading out the file name is not that easy.
I uploaded the Resource Viewer. It shows you the offset of the SE entries, but it does not translate the sequences into a human readable form. And remember, it only stores the notes which have to be looked up in the instrument sample banks.
Yeah, it works now. Location is an offset of the sequence in the corresponding file, right? Will that easy to make a list, that shows the list of WAV's for each sequence?
This would be possible but I've problems processing the sequences. What do you want to do with the wavs? I mean most of them don't sound a bit like the sequences they belong to.
I want to use these sounds in my game. Video Baad&Wsyster make sounds very hard to find or determine what is it for. I've sorted some of them, but it looks like a waste of time.
Wow, this game looks very promising. That motivates me to continue my work on the sequences ^^ Perhaps I'll get them to play correctly and to export them someday.
Off-topic: Do you still search people for this project?
I would be interested in programming for the game. Do you need audio/music programmers? Because I'm currently writing an engine for interactive/dynamic music like in TP.
Fully dynamic music may be a little expensive. I'm not sure. But if you cut a track to a parts of 5-10 seconds that will be played interactively, that will work. And yes, I need everyone who wants to help.
Fully dynamic music is AFAIK only possible with sequences, but these are mostly low-quality and hard to implement. I want to implement interactive music with streamed files and support Vertical Re-Orchestration (different music "layers") and Horizontal Re-Sequencing (different segments). You can find both in TP.
When I could do this for the game that would be great. Maybe I should post that in the project jobs section?