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

zimex25, posted Sat Feb 13, 2016 3:35 pm (11399)


id-daemon2 wrote:
It's time to try the first public version of ABK encoder. I played the very first Need for Speed long ago in 1995, when it was all new, then NFS 2,3,4 and Porshe. I'm glad I can do something for the community, hope you'll like it.

Usage:

ABK_insert [ABK file] [wav file] [sample ? to replace]

Use it on engine ABKs. Never tested on anything else. Use mono 16-bit files only.

Numbers correspond to those we found before. 1,2 = idle, 3,4 = down throttle so on. Also note that 2000/4000/8000 rpm nominals may not be the same for all cars.

SX.exe must be in the same dir.

You need to run the tool several times to replace sounds you want. Every time it will output a file with additional "m" in the end, so you won't lose the original file. Make batch files if you need.

still do not understand...
  • Replies 237
  • Views 32
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

id-daemon, posted Sat Feb 13, 2016 4:51 pm (11400)


Run it from command line, with 3 parameters. Example:

ABK_insert CAR_21_ENG_MB_EE.abk new_sound.wav 5
  • Author
  • Localization

Zpectre87, posted Sat Feb 13, 2016 5:52 pm (11401)


id-daemon2 wrote:
Zpectre87 wrote:
id-daemon2 wrote:
Send me your WAV file


In the attachment.


This file works OK at my side.

Run this

sx.exe -raw -eaxa_blk 993_onhighnewsmall.wav -=xa.raw

and tell me the result


If this doesn't work, I'll do a system restore and try from there. I think there may be something wrong with my system. Weird, though, gin_tools work fine...

EDIT: sx.exe crashed. Which libraries do you need to run sx.exe? I think that's the problem. I'm on Windows 10, that may be another problem too. :P
  • Author
  • Localization

id-daemon, posted Sat Feb 13, 2016 6:24 pm (11402)


Zpectre87 wrote:
EDIT: sx.exe crashed. Which libraries do you need to run sx.exe?


How exactly it crashed? As far as I know, it doesn't need any libs.
  • Author
  • Localization

Zpectre87, posted Sat Feb 13, 2016 6:57 pm (11403)


id-daemon2 wrote:
Zpectre87 wrote:
EDIT: sx.exe crashed. Which libraries do you need to run sx.exe?


How exactly it crashed? As far as I know, it doesn't need any libs.


Gives me that msgbox that it stopped working. No error message in prompt.

Running as admin doesn't work either. Which date is your file? Mine is from 10/2004.
  • Author
  • Localization

id-daemon, posted Sat Feb 13, 2016 7:16 pm (11404)


sx v3.01.01 (Sound eXchange) Sep 22 2004 by Dave Mercier, EAC

i give up, we're wasting time
  • Author
  • Localization

Zpectre87, posted Sat Feb 13, 2016 7:32 pm (11405)


I'll do a complete refresh of my system (it's been due). If it STILL doesn't work after that, then I'll give up and see what else I can do.

id-daemon2 wrote:
sx v3.01.01 (Sound eXchange) Sep 22 2004 by Dave Mercier, EAC

i give up, we're wasting time


Mate, you don't have to get angry... The tool (Sound eXchange) simply won't work on Windows 10. That's it.

I ran it on Windows XP and it worked flawlessly. Thanks!
  • Author
  • Localization

id-daemon, posted Sun Feb 14, 2016 7:02 am (11410)


Zpectre87 wrote:
Mate, you don't have to get angry...


I was not angry at all, I was sad :(
  • Author
  • Localization

id-daemon, posted Sun Feb 14, 2016 10:59 am (11412)


Zpectre87 wrote:
gin_tools work fine...


It works fine, because it was made by me in 2015 with .net

And that SX.EXE is an Electronic Arts tool made in 2004.
  • Author
  • Localization

Zpectre87, posted Sun Feb 14, 2016 5:31 pm (11420)


id-daemon2, have you been able to pinpoint which rpm are the game's samples? You said something about 2000, 4000 and 8000, and I'm not exactly sure it's like that, but some sounds seem to obey these criteria despite not reaching such rpm in the game (ID 44 for example, which is 911 GT2 sound).

There are a lot of unknown parameters in attributes.bin relative to sound. I believe those may be the solution to my earlier problem with the ABK files.

spider91 wrote:
It works well on windows 10

http://puu.sh/n7if7/bcdd9141f8.png


Hence why I think my Windows 10 install is missing something, a redist or whatever crap that stops me from running sx.exe.

For now, though, sending files to and from Windows XP is working, so there's that I guess.
  • Author
  • Localization

id-daemon, posted Mon Feb 15, 2016 3:47 pm (11437)


Zpectre87 wrote:
id-daemon2, have you been able to pinpoint which rpm are the game's samples? You said something about 2000, 4000 and 8000, and I'm not exactly sure it's like that, but some sounds seem to obey these criteria despite not reaching such rpm in the game


I'm sure these are the right values for some cars, even if they're not reaching such rpm, they use 8000 rpm sample to produce higher range of their engine. But I only checked 2-3 cars, no more.

I will also investigate the ABK/GIN change phenomena later, if I will have time.
  • Author
  • Localization

Zpectre87, posted Mon Feb 15, 2016 10:27 pm (11444)


id-daemon2 wrote:
I'm sure these are the right values for some cars, even if they're not reaching such rpm, they use 8000 rpm sample to produce higher range of their engine. But I only checked 2-3 cars, no more.

I will also investigate the ABK/GIN change phenomena later, if I will have time.


After further investigation I believe you're right. The sound I mentioned never goes to 8000 rpm in the game, but, there it is in the ABK.

If possible you could get the open VLTEdit by MWisBest and play around with the values in the engineaudio node, or I could also help you with that.
  • Author
  • Localization

id-daemon, posted Tue Feb 16, 2016 5:38 pm (11464)


Zpectre87 wrote:
If possible you could get the open VLTEdit by MWisBest and play around with the values in the engineaudio node, or I could also help you with that.


I don't see how it may help?
  • Author
  • Localization

id-daemon, posted Wed Feb 17, 2016 6:40 pm (11499)


Well, it seems the game expects GIN file to have exact number of elements in its table (for each car). Maybe it is written somewhere in the engine parameters, I don't know.

Strange is that if it has more or less elements, it works wrong, but the same way. Maybe it's also the reason for what V12-POWER reported before.

Anyway, that's easy to correct. This is a new version of GIN_encode that has one more parameter: number of elements. This number is also in the output of GIN_decode. Tested on Murcielago, seems to work.

gin_encode.rar

  • Author
  • Localization

Zpectre87, posted Thu Feb 18, 2016 10:52 am (11505)


Many thanks! I'll test it ASAP.

EDIT: Works as intended. But you won't always be able to use the same number of elements as the original car, only if the sound exactly reproduces the acceleration increase of the original sample. In my example, the Diablo sound starts from higher rpm than Murcielago one, so if it ends at the same rpm I guessed I'd need more elements to better "split" the sample. So, instead of 180 like in the original GIN_Murcielago.gin, I used 195 or something like that, and it worked. Many thanks!

I believe the correct amount of elements can be calculated from the info you've posted a few pages back.

I can quickly build a batch file to easily replace all the ABK sounds, too, so I don't think we need a GUI for now.
  • Author
  • Localization

Zpectre87, posted Thu Feb 18, 2016 1:24 pm (11506)


Here's a quick batch structure file I made for ABK_insert.

Edit it with a text editor. Replace XX with sound ID (can be found with VLTEdit tool), switch between EE and SPU when necessary, and replace [file#] with your samples. Delete/add lines as needed.

You MUST have everything in the same folder. This batch WILL delete the original ABK file in the folder, so make backups!

It would be easier if the ABK_insert tool accepted wildcards, but I couldn't make it work.

abkins.zip

  • Author
  • Localization

id-daemon, posted Thu Feb 18, 2016 3:18 pm (11507)


Zpectre87 wrote:
But you won't always be able to use the same number of elements as the original car


No, you always can use the same number. And I suggest you doing so.

I think 180 is more than enough for any car. Also, for best results you must manually adjust ALL the elements, and my tool doesn't support it anyway, so it doesn't matter how many elements are used.
  • Author
  • Localization

Zpectre87, posted Thu Feb 18, 2016 7:44 pm (11510)


id-daemon2 wrote:
No, you always can use the same number. And I suggest you doing so.

I think 180 is more than enough for any car. Also, for best results you must manually adjust ALL the elements, and my tool doesn't support it anyway, so it doesn't matter how many elements are used.


Is there negative consequence for using more than that? GIN_Murcielago.gin has 180 elements. When reencoding I tried:

180: I had the same issue I was having earlier.
184: GIN_Diablo.gin number of elements. A bit better.
195: Worked correctly, but I agree that you don't need this much, I just threw in a high number to see what happened.

I insist that depending on the sound you may need more or less elements, because it's very hard to bend the sample's pitch exactly like the original sound, so the most you can have is an approximation. 180 may work if the approximation is good enough, but this particular car (Murcielago) was not the only one I had problems with. When reencoding the sample extracted from GIN_Ferrari_360.gin to replace GIN_Gallardo.gin with, I had very similar problems, which don't happen when you simply replace GIN_Gallardo.gin with the original GIN_Ferrari_360.gin, and this is important since both sounds have very close top end. (BTW Gallardo with Ferrari exhaust sounds awesome!)

I've been having some fun with your tools lately but haven't made a "right" sounding bank yet, due to procrastination.
  • Author
  • Localization

id-daemon, posted Fri Feb 19, 2016 6:18 pm (11534)


Zpectre87 wrote:
Is there negative consequence for using more than that?


I still can't understand why number of GIN elements can affect ABK sounds. With 160 and 260 it fails. So it can be broken anytime, because we don't understand the reason. I can only hope that at least with the same number it will work correctly.
  • Author
  • Localization

Zpectre87, posted Fri Feb 19, 2016 8:44 pm (11535)


I also have no idea. :( I was considering it could be because you may need more elements to correspond to how the GIN bends and increases rpm, and could also be related to the wildcard values you've used.

ABK works fine though, in fact with ABK_insert working right I can increase the pitch of ABK samples instead and keep GIN elements intact. I suspect it would work, but needs testing.
  • Author
  • Localization

id-daemon, posted Sat Feb 20, 2016 2:37 pm (11553)


Zpectre87 wrote:
I was considering it could be because you may need more elements to correspond to how the GIN bends and increases rpm


I'd understand if it could lead to GIN sounding worse, but ABK? How can it affect that?

Zpectre87 wrote:
and could also be related to the wildcard values you've used.


Wildcard values? Where?
  • Author
  • Localization

Zpectre87, posted Sun Feb 21, 2016 3:13 am (11558)


id-daemon2 wrote:
I'd understand if it could lead to GIN sounding worse, but ABK? How can it affect that?


It's possible the number of elements in the GIN affect some rpm value relative to both GIN and ABK, so if you have the wrong number the GIN plays right but the ABK doesn't.

Example: wrong table has 180 elements across the sample. This number of elements somehow doesn't give enough "length" for the ABK to play until the end. If you add some elements, you "increase" this "length" and give room for the ABK to hit the correct rpm.

If you do the reverse... Low revving GIN with high revving ABK, the GIN halts at the end of the sample when reaching max rpm. Why? Not enough elements! I looked at GIN_MBZ_CL55.gin, sound from 1st upgrade Mercedes SL 500. It revs very low (around 6000 rpm). How many elements does the GIN have? Only 130. 50 less than Murcielago, which hits around 8000 rpm on redline.

So the elements seem very important to find the right balance between GIN and ABK. It REALLY depends on the sample you use, and your tool also uses automated encoding of the file, so the element number will have to be different for the same car when reencoding with your tool. I suspect we'll need to calculate according to the formula you presented a few pages back.

id-daemon2 wrote:
Wildcard values? Where?


I misunderstood. I think you said earlier that GIN_encode used standard table values to build GIN files. Those are what I called "wildcard".
  • Author
  • Localization

id-daemon, posted Sun Feb 21, 2016 10:39 am (11561)


Zpectre87 wrote:
the GIN halts at the end of the sample when reaching max rpm. Why? Not enough elements!


That's impossible. No matter how many elements you have in GIN file, it always plays correctly on any rpm. The whole idea of the second GIN table is to distribute all the elements across the whole sample. And it never "bends" any sound. It just plays the right parts of the sample in loops. I did a lot of tests on that.
  • Author
  • Localization

Zpectre87, posted Mon Feb 22, 2016 5:46 pm (11594)


id-daemon2 wrote:
That's impossible. No matter how many elements you have in GIN file, it always plays correctly on any rpm. The whole idea of the second GIN table is to distribute all the elements across the whole sample. And it never "bends" any sound. It just plays the right parts of the sample in loops. I did a lot of tests on that.


Man, you are completely right. My apologies. :(

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. :) (actually the new sample was slightly smaller but that's not very important)

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?
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.