XeNTaX Forum Index
Forum MultiEx Commander Tools Tools Home
It is currently Mon Sep 25, 2017 2:44 pm

All times are UTC + 1 hour


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 26 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Tue Apr 05, 2016 4:51 pm 
Offline
double-veteran
double-veteran

Joined: Tue Mar 24, 2015 8:12 pm
Posts: 1178
Has thanked: 19 times
Have thanks: 548 times

Find decode function

Code:
    def decode(self):
        if not self.prim.desc.name=="SoundWaveAsset": return

and comment the check

Code:
    def decode(self):
#        if not self.prim.desc.name=="SoundWaveAsset": return


then go a little down and after this line

Code:
            chnk.ChunkId=i.value.get("ChunkId").value


add this

Code:
            chnk.ChunkId=i.value.get("ChunkId").value

            print hexlify(chnk.ChunkId)
            return


Then if you delete all EBX files except those you need, you'll get a list of chunk names to decode

You can make the ads go away by registering



Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Tue Apr 05, 2016 7:32 pm 
Offline
n00b

Joined: Tue Dec 16, 2014 10:52 pm
Posts: 11
Has thanked: 4 times
Have thanks: 0 time
It doesn't want to print there. Not even print "test".

Code:
def decode(self):
        #if not self.prim.desc.name=="SoundWaveAsset": return

        histogram=dict() #count the number of times each chunk is used by a variation to obtain the right index

        Chunks=[]
        for i in self.prim.get("$::SoundDataAsset/Chunks::array").fields:
            chnk=Stub()
            Chunks.append(chnk)
            chnk.ChunkId=i.value.get("ChunkId").value
            print hexlify(chnk.ChunkId)
            return
           
            if ChunkIdObfuscation: chnk.ChunkId="".join([chnk.ChunkId[permute] for permute in obfuscationPermutation])
               
            chnk.ChunkSize=i.value.get("ChunkSize").value


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Tue Apr 05, 2016 7:36 pm 
Offline
double-veteran
double-veteran

Joined: Tue Mar 24, 2015 8:12 pm
Posts: 1178
Has thanked: 19 times
Have thanks: 548 times
so what do you get in output? only ebx names?


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Tue Apr 05, 2016 7:38 pm 
Offline
n00b

Joined: Tue Dec 16, 2014 10:52 pm
Posts: 11
Has thanked: 4 times
Have thanks: 0 time
daemon1 wrote:
so what do you get in output? only ebx names?

did you comment the line as i said ?

Yeah i only get .ebx names like so:
Code:
toyota_supra_sz-r.ebx
toyota_supra_sz-r_overrun.ebx
toyota_supra_sz-r_playerracevehicleaudio.ebx
toyota_supra_sz-r_transmission.ebx
toyota_supra_sz-r_accel_eng_pitched_noise.ebx
toyota_supra_sz-r_accel_eng_pitched_tone.ebx
toyota_supra_sz-r_accel_exh_pitched_noise.ebx
toyota_supra_sz-r_accel_exh_pitched_tone.ebx
toyota_supra_sz-r_decel2_eng_pitched_noise.ebx
toyota_supra_sz-r_decel2_eng_pitched_tone.ebx
toyota_supra_sz-r_decel2_exh_pitched_noise.ebx
toyota_supra_sz-r_decel2_exh_pitched_tone.ebx
toyota_supra_sz-r_idle_eng.ebx
toyota_supra_sz-r_idle_exh.ebx
toyota_supra_sz-r_ignition.ebx
toyota_supra_sz-r_shutdown_eng.ebx
toyota_supra_sz-r_shutdown_exh.ebx


I put the snippet of the script that needed to change up at my other reply


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Tue Apr 05, 2016 7:42 pm 
Offline
double-veteran
double-veteran

Joined: Tue Mar 24, 2015 8:12 pm
Posts: 1178
Has thanked: 19 times
Have thanks: 548 times
these ebx's are not the same as the ones you sent me yesterday

try with those accel & decel


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Tue Apr 05, 2016 7:45 pm 
Offline
n00b

Joined: Tue Dec 16, 2014 10:52 pm
Posts: 11
Has thanked: 4 times
Have thanks: 0 time
Code:
nissan_180sx_accel_eng_02_rx_noise.ebx
nissan_180sx_accel_eng_02_rx_tone.ebx
nissan_180sx_accel_exh_02_dyn_tone.ebx
nissan_180sx_accel_int_03_dyn_noise.ebx
nissan_180sx_accel_int_03_dyn_tone.ebx
nissan_180sx_decel_eng_rx_noise.ebx
nissan_180sx_decel_eng_rx_tone.ebx
nissan_180sx_decel_exh_rx_noise.ebx
nissan_180sx_decel_exh_rx_tone.ebx

Same thing... It's weird that it doesn't print in that for loop. I'm not familiair with python but I use c# everyday. So idk if its a python thing or just something wrong in my code.


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Tue Apr 05, 2016 8:26 pm 
Offline
double-veteran
double-veteran

Joined: Tue Mar 24, 2015 8:12 pm
Posts: 1178
Has thanked: 19 times
Have thanks: 548 times
looks like the script is not changed at all. Do you save it before running? Try restarting python, deleting PYC files if there are any


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Thu Jun 29, 2017 7:15 am 
Offline
ultra-n00b

Joined: Thu Jan 12, 2017 2:11 pm
Posts: 1
Has thanked: 0 time
Have thanks: 0 time
daemon1 wrote:
looks like the script is not changed at all. Do you save it before running? Try restarting python, deleting PYC files if there are any

A small bump, if I may.

I'm trying to do exactly the same: extract engine sounds. I've come to the point, where I successfully converted chunk you gave with your tool.
Following your instructions and editing fb3decoder script to find all the chunks I need, I'm getting an error if I comment out check (if not self.prim.desc.name=="SoundWaveAsset": return):
Code:
Traceback (most recent call last):
  File "C:\Python27\fb3decoder\fb3decoder.py", line 569, in <module>
    main()
  File "C:\Python27\fb3decoder\fb3decoder.py", line 566, in main
    dbx.decode()
  File "C:\Python27\fb3decoder\fb3decoder.py", line 426, in decode
    for i in self.prim.get("$::SoundDataAsset/Chunks::array").fields:
  File "C:\Python27\fb3decoder\fb3decoder.py", line 197, in get
    raise Exception("Could not find complex with name: "+str(e)+"\nFull path: "+name+"\nFilename: "+self.dbx.trueFilename)
Exception: Could not find complex with name: $::SoundDataAsset
Full path: $::SoundDataAsset/Chunks::array
Filename: Audio/Cars/CarEngine/LAMBORGHINI_AVENTADOR/Lamborghini_Aventador_Transmission


not sure what's next.
upd: everything else in ebx is deleted

ps: pretty much thank you for all the works and tools you've done.


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Thu Jun 29, 2017 1:07 pm 
Offline
double-veteran
double-veteran

Joined: Tue Mar 24, 2015 8:12 pm
Posts: 1178
Has thanked: 19 times
Have thanks: 548 times
unfortunately I don't remember much about this now.


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Sun Sep 10, 2017 6:34 am 
Offline
ultra-n00b

Joined: Sun Sep 10, 2017 1:41 am
Posts: 2
Has thanked: 0 time
Have thanks: 0 time
Been messing around with these, haven't gotten far because it's not my forte. For the car audio fb3decoder is only picking up sounds in the 'renders' folder, I'm assuming everything else is able to be decoded with the GIN tool, but I don't know how to get the chunk id to attempt.

I'm not a hex genius but the files that fb3decoder can detect contain 'SoundWaveAsset' and the others do not, and their file structure looks very different.
https://mega.nz/#F!W4cQlYKT!jHe3Lyf3V0OWwUjJ_34KRg here's a link to the full folder of a car if somebody smart wants to take a look at the differences.

Edit: Did some more digging, the some other car sounds come under 'OctaneAsset' and I've been able to get the chunk ids using the code already there just with a simple if statement. Going to see if I can get it to open with the Gin decoder now and rename when it's done. I'm no python genius either

Edit 2: Well it half worked. Some files that contain the 'OctanceAsset' are not decoded by GIN, but it just skips over them so no biggie, the main problem is that on some chunks the tool hangs, this is the first one it hits '144837870e001922903387d43fb710d2' which is 'Audio/Cars/CarEngine/Dodge_Viper_SRT/OctaneData/Dodge_Viper_Accel_ENG_Noise'. I'm no python genius and I can't figure out how to timeout a subprocess on 2.7 properly to just skip over it as a soft fix. Instead I'll just show you my edits on how to get the chunk id for those files.

Code:
if not self.prim.desc.name=="SoundWaveAsset": return

changes to: there is probably a better way for this but whatever
Code:
if not self.prim.desc.name=="SoundWaveAsset":
            if not self.prim.desc.name=="OctaneAsset": return

Code:
chnk.ChunkId=i.value.get("ChunkId").value

underneath this add:
Code:
if self.prim.desc.name=="OctaneAsset":
                print self.trueFilename+ "   |   "+hexlify(chnk.ChunkId)


That will output the chunk id as well as the file it corresponds too.


Top
 Profile  
 
 Post subject: Re: Need for speed 2015 (2016) PC Audio
PostPosted: Sun Sep 10, 2017 10:18 am 
Offline
ultra-n00b

Joined: Sun Sep 10, 2017 1:41 am
Posts: 2
Has thanked: 0 time
Have thanks: 0 time
Decoded gin files seem to have some distortion or something similar behind them. Hard to explain what the sound actually is, I guess kind of like a repeating sound or like sound lag. https://mega.nz/#F!n4ME2ZSL!AjEjT9AAFUZ8tF1_I2LCZg contains an example of the distortion on the car sounds, and there are also other sounds decoded by the tool normally alongside for comparison too.



Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 26 posts ]  Go to page Previous  1, 2

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group