Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

.gin and .abk sound formats (Need for Speed mw 2005)(help)

Featured Replies

  • Author
  • Localization

id-daemon, posted Tue Feb 23, 2016 6:41 pm (11606)


Zpectre87 wrote:
The reason it sounded different was because my sample was longer than the original. After encoding a sample of same length with same number of elements, the sound works fine. :)


I'm in doubt again. My plan was to make sample of any length playing correctly. If not, then there's no reason to make new tables, and just leave the original ones. Probably I need to do more tests, and I don't have time for this now.

Zpectre87 wrote:
I've personally got a wish to get my hands on those Carbon ABK samples but I've seen here in the thread that it's not very simple. :( Have you had any progress with them?


No, Carbon ABK is no problem. Another codec, but I'm familiar with it. Some other game had this codec too.

Try this

NFS_carbon_abk_decode.rar

  • Replies 237
  • Views 32
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

Zpectre87, posted Wed Feb 24, 2016 1:27 am (11612)


You are great, mate! Many thanks!

I'll keep testing and reporting back.

EDIT: Here's what your tools made possible. This is the stock DB9 sound from NFS Carbon but in MW format.

Transitions between ABK samples are a bit poor. The sounds won't be like in Carbon unfortunately, because MW's engine is a bit different. I hope it's ok to post this here as these aren't "exactly" the files from the game, I edited them a bit.
  • Author
  • Localization

Zpectre87, posted Wed Feb 24, 2016 12:06 pm (11619)


Ok... I'm not sure if ABK_insert is working right.

All my samples are 22050Hz.

I'm running the following batch (tool renamed for ease of use):

copy CAR_75_ENG_MB_EE.abk CAR_75_ENG_MB_EE.old
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_01.wav 1
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_02.wav 2
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_03.wav 3
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_04.wav 4
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_05.wav 5
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_06.wav 6
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_07.wav 7
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk
abkins CAR_75_ENG_MB_EE.abk CAR_86_EXH_MB_EE_08.wav 8
del CAR_??_ENG_MB_EE.abk
ren CAR_??_ENG_MB_EEm.abk CAR_??_ENG_MB_EE.abk

But, even if the samples are the same as the original, the resulting ABK still grows in size compared to the original. This doesn't happen with GIN_encode.

In the game I'm getting a "vibration" sound at high rpm acceleration. This is with original number of elements. GIN plays fine.

It's possible something is going wrong with the insertion of the samples, or it could be a compression issue. I wondered if it had anything to do with the size of the modded samples, but it doesn't. Even with original samples I still get bigger ABK than the original.

Also, sometimes the sound goes silent, mostly against the Audis.

I've attached the ABK for reference.
  • Author
  • Localization

V12-POWER, posted Fri Feb 26, 2016 5:16 pm (11654)


I have got no sound at all. not even in free roam. and the new gin encoder is not working for me.
  • Author
  • Localization

Zpectre87, posted Fri Feb 26, 2016 7:08 pm (11655)


V12-POWER wrote:
I have got no sound at all. not even in free roam. and the new gin encoder is not working for me.


Syntax: GIN_encode [wav file] [rpm1] [rpm2] [elements]

Works fine here.

Elements are a mystery, it's recommended to use the number of elements the original car used.

Have you been able to successfully insert sound into the ABK? I could, but I've got that problem in the above post.
  • Author
  • Localization

id-daemon, posted Fri Feb 26, 2016 7:59 pm (11656)


Checked your files. I need to think about it.
  • Author
  • Localization

Zpectre87, posted Sun Feb 28, 2016 2:37 am (11679)


Take your time. :)
  • Author
  • Localization

id-daemon, posted Sun Feb 28, 2016 8:43 pm (11685)


Here is what I found:

1. ABK insert is working right. Don't worry about abk growing is size, it must be that way, because i'm not replacing sounds, i'm appending them to the end, so not to break the file structure.

2. ABK sounds are all pitched according to GIN table. Even the idle & overrev sounds.

I don't know how it is done. It may be very complex. All I know as of now, is that it seems it depends NOT on the number of GIN elements, but on their length (in milliseconds or something).

For example, if you have 4 seconds GIN with 100 elements, and 8 seconds GIN with 200 elements, ABK will sound about the same with them.
  • Author
  • Localization

Zpectre87, posted Sun Feb 28, 2016 10:06 pm (11686)


Thanks for your research.

If we know this data you've found, it may not be difficult to create sounds regardless of the data we don't know. It's still useful and worth testing. :)

The Carbon GIN files are much longer and richer in sound. In fact, if you're in it for the research, Carbon may be more interesting... :) The game does quite a bit of mixing and matching between different samples to create sounds, and the result is great compared to MW. I can recognize which samples are being mixed, but some got me fooled because I didn't know the source.

One thing I desperately need to know... Is there anything related to the name of the file in the GIN? The tools we have right know don't allow editing of the names in the database. I can think of two alternatives, either the identity is in the GIN itself or the EXE. If it's the latter, we're out of luck. But I really wanted to change the names of the GIN files because it sucks to have a Ferrari V12 sound named "Cavalier". :P
  • Author
  • Localization

V12-POWER, posted Sun Feb 28, 2016 11:05 pm (11687)


It might be a great idea to try and research the assembly code in the abks...that is the only thing we did not touch yet and maybe the key to this whole pitch/lenght/elements/gin mistery.
  • Author
  • Localization

Zpectre87, posted Mon Feb 29, 2016 12:27 am (11689)


V12-POWER wrote:
It might be a great idea to try and research the assembly code in the abks...that is the only thing we did not touch yet and maybe the key to this whole pitch/lenght/elements/gin mistery.


I agree.
  • Author
  • Localization

id-daemon, posted Mon Feb 29, 2016 3:21 pm (11691)


Zpectre87 wrote:
One thing I desperately need to know... Is there anything related to the name of the file in the GIN?


Absolutely no. GIN only has 2 tables, 2 RPM values and audio sample.
  • Author
  • Localization

id-daemon, posted Mon Feb 29, 2016 3:24 pm (11692)


V12-POWER wrote:
It might be a great idea to try and research the assembly code in the abks...


I don't think so. I believe it would be easier to write a new game of your own.

Now you have all the data you need to mod ABK/GIN files. If you keep number of elements close to the scheme I described before, you can get very good results. But if you want it perfect, you need to adjust each element manually. I can make a tool for you to do this, but I doubt anyone will ever use it.
  • Author
  • Localization

Zpectre87, posted Mon Feb 29, 2016 6:17 pm (11695)


Worked perfect. Thanks!

Only issue is that, since MW sound engine is different from Carbon, it's quite difficult to make it sound the same.
  • Author
  • Localization

Zpectre87, posted Mon Feb 29, 2016 9:52 pm (11700)


Hmmm, the only thing is that the high number of elements in my sample is drastically increasing the pitch of the rev limiter sound. You can circumvent that but the odd thing is that, using a number of elements equal to [number of samples]/[number of samples in each element], the rev limiter works alright.

The sounds from Carbon can be mostly straight converted. But Carbon is a weird game, for example I'm converting DB9 and the car has both engine and exhaust GIN files for acceleration but no engine GIN file for deceleration. I suspect it's because Carbon mixes and matches sounds at will. You can notice when you upgrade DB9, it still uses DB9 sample but it's mixed with Mercedes SL65 sample. This could be done manually in MW but it depends on the ABK file because each ABK redlines at different rpm.

Ideally you'll want to mix every sound of the same class, but DB9 sounds pretty accurate without the engine ABKs, although not the same as Carbon. I need to find out what exactly they did in Carbon to make the sound richer, and I believe it's got higher bass from the exhaust samples.

EDIT: To make the sound EXACTLY the same as in Carbon, the samples aren't enough, you need to edit the database as well, at the very least the min and max rpm and engine type.

You also need to be aware that Carbon happily mixes engine of one car with exhaust of another. I can detect most of these by ear, but not all. Murcielago for example I'm pretty sure it uses the 91 ID for engine (Zonda), but Diablo exhaust in stock and Murcielago sound in upgrade. The database doesn't tell you any of this, not that I found at least.
  • Author
  • Localization

Zpectre87, posted Thu Mar 03, 2016 8:08 pm (11752)


Small question: what's the difference between EE and SPU ABKs? I have no idea... Though SPU files don't seem very important.

I've tested, and tested, and tested... I don't see an easy way of reproducing Carbon sounds in MW because there's a node in the database called "caraudio" which tells the game which sample sets to use per collection. It mixes different GIN and ABK files with each other, but the GIN files have different length and they're accelerating/decelerating sounds so bending them to make them equal will take a lot of work.

I also believe it's possible to use samples with higher frequency (32kHz), as the originals are 32kHz, but it depends on the game's memory allocation.

In MW to me it's clear - GIN is the exhaust and ABK is the engine. Carbon, however, has GIN and ABK files for both.
  • Author
  • Localization

id-daemon, posted Fri Mar 04, 2016 6:55 pm (11780)


Zpectre87 wrote:
You also need to be aware that Carbon happily mixes engine of one car with exhaust of another. I can detect most of these by ear, but not all.


You can detect that with a program that can show you which files the game loads on starting the free roam. I used that :)
  • Author
  • Localization

id-daemon, posted Fri Mar 04, 2016 6:58 pm (11781)


Zpectre87 wrote:
Small question: what's the difference between EE and SPU ABKs?


Looking at the structure there seem to be no difference. I remember we looked into that with V12-POWER, but don't remember the result. Maybe just some changes in code/data values. Samples were the same as I remember.
  • Author
  • Localization

Zpectre87, posted Fri Mar 04, 2016 10:50 pm (11785)


id-daemon2 wrote:
Looking at the structure there seem to be no difference. I remember we looked into that with V12-POWER, but don't remember the result. Maybe just some changes in code/data values. Samples were the same as I remember.


Not all of them. A few are slightly different, from other cars, too. And some banks have less samples.
  • Author
  • Localization

RedCarDriver, posted Fri Sep 30, 2016 11:40 pm (17759)


Zpectre87 wrote:
The sounds from Carbon can be mostly straight converted. But Carbon is a weird game, for example I'm converting DB9 and the car has both engine and exhaust GIN files for acceleration but no engine GIN file for deceleration. I suspect it's because Carbon mixes and matches sounds at will. You can notice when you upgrade DB9, it still uses DB9 sample but it's mixed with Mercedes SL65 sample. This could be done manually in MW but it depends on the ABK file because each ABK redlines at different rpm.

Ideally you'll want to mix every sound of the same class, but DB9 sounds pretty accurate without the engine ABKs, although not the same as Carbon. I need to find out what exactly they did in Carbon to make the sound richer, and I believe it's got higher bass from the exhaust samples.

EDIT: To make the sound EXACTLY the same as in Carbon, the samples aren't enough, you need to edit the database as well, at the very least the min and max rpm and engine type.

You also need to be aware that Carbon happily mixes engine of one car with exhaust of another. I can detect most of these by ear, but not all. Murcielago for example I'm pretty sure it uses the 91 ID for engine (Zonda), but Diablo exhaust in stock and Murcielago sound in upgrade. The database doesn't tell you any of this, not that I found at least.

If you get any version of nfsu360's VltEd that's capable of editing Carbon's database, you should find that there is a "caraudio" set of database keys that has separate intake and exhaust components.

In other news... is there anything in particular I can do to open ProStreet's audio files? I'm not terribly technically inclined, but could probably figure out slight hex editing if necessary.

Additionally - is there any obvious procedure for getting looping extracted copies of the samples in the .gin files, or would that have to be done with editing by hand?
  • Author
  • Localization

id-daemon, posted Sat Oct 01, 2016 5:29 am (17762)


RedCarDriver wrote:
Additionally - is there any obvious procedure for getting looping extracted copies of the samples in the .gin files


GIN samples are looped in game from any point to any point inside of it. For example, GIN has 1000 points. When you drive, it loops sound from point 100 to point 200. Then, since you accelerate, next fraction of a second it will loop from point 101 to point 202. And so on.
  • Author
  • Localization

brunocardoso, posted Sat Oct 15, 2016 2:23 pm (18067)


Hello, it's been a while since I've been trying to edit files abk. In my case I'm trying to edit the fifa 07, 08, 09 and 10.
I can't extract the files with their tools, but I am not able to modify the files because the file modified is mute in the game.
I'm using wav files, 22050hz, 16 bit, mono. I tried also using some different formats, some is also dumb and others do close the game.
I've tried including importing the same file that was extracted and yet is mute in the game.
What can it be?
  • Author
  • Localization

KingOfGuns, posted Sun Nov 20, 2016 12:24 am (18913)


Hey id-daemon, is there any chance you could make a ABK_insert for carbon? i need it for a mod i'm making.
  • Author
  • Localization

id-daemon, posted Sun Nov 20, 2016 7:15 pm (18920)


Chances are small. Maybe next year?
  • Author
  • Localization

V12-POWER, posted Fri Nov 25, 2016 5:19 pm (19080)


id-daemon wrote:
I recently checked some of the later NFS games (HP 2010 & Rivals) for engine sounds and found that all of them use the same GIN format, and its decoded by my tool. Seems this is unique format for smoothed audio curves and they never changed it through the years.

As for other engine sounds previously stored in ABK files, newer games use modern EA formats that they use in all their games now, including Dead Space 3, Dragon Age Inquisition, StarWars Battlefront, e.t.c. and I'm more familiar with them, I was able to decode/encode such formats already a year ago.

Do you still like to proceed with MW 2005 or maybe we choose another game?


sup, it's been a long time

quoted this to ask you the following
Maybe I misunderstood, but the audio .chunk that you dump from frostbite 2015 files, specifically from NFS2015, are, in essence, .gin files with the .chunk extension OR the .chunk is a compressed .gin file.

I ask you this because well, the guys from venice unleashed did some great progress with their tool. However, in the case that it is possible to encode the files back, there is a more complex system involving the .ebx and stuff, it's a step forwards, though

-------------

anyways, im on holidays now like last year. This time I see a spark of interest in older NFS again since another modder released a new tool for EAGL-based NFS games in september. So if you're busy with something else, I'll wait. If you need any help, im here.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.