Codemasters common .BDL audio archive

The Original Forum. Game archives, full of resources. How to open them? Get help here.
daemon1
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2343
Joined: Tue Mar 24, 2015 8:12 pm
Has thanked: 55 times
Been thanked: 2022 times

Re: Codemasters common .BDL audio archive

Post by daemon1 » Tue Dec 22, 2015 9:28 pm

here you go

BDL files have a LOT of properties unknown to me, but this converts all of the files you gave me, except those with mu-law codec (from AI folder). I can do these too.

daemon1
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2343
Joined: Tue Mar 24, 2015 8:12 pm
Has thanked: 55 times
Been thanked: 2022 times

Re: Codemasters common .BDL audio archive

Post by daemon1 » Sat Dec 26, 2015 8:32 am

New version. Moved to the first page for easier access. Now supports m-law too and all BDL versions that I have.

Let's call this new type of ADPCM, like Codemasters ADPCM.

Tiger33
n00b
Posts: 10
Joined: Mon Feb 01, 2016 6:18 pm

Re: Codemasters common .BDL audio archive

Post by Tiger33 » Mon Feb 01, 2016 6:31 pm

daemon1 wrote:New version. Moved to the first page for easier access. Now supports m-law too and all BDL versions that I have.

Let's call this new type of ADPCM, like Codemasters ADPCM.
Great Job !

Now it's possible to hear samples in BDL files so we can create our own sounds if you could make a tool which rebuilds the BDL file with other samples. :)

hatchprime
ultra-n00b
Posts: 1
Joined: Mon Dec 19, 2016 6:21 am

Re: Codemasters common .BDL audio archive

Post by hatchprime » Tue Nov 28, 2017 9:10 am

The program seems to work pretty well, but here's a couple things I found reviewing files for Dirt 2 and Dirt 3.

The samplerate should be 24,000 not 48,000

the 1024 element table looks like float32 RPM values.

the next table (about 200-400 elements, 8 bytes each), the final 4 bytes in each entry are a float32 number of seconds in the wav file used for looping. When you sample the wav file at these times the value is nearly the same (though not zero). The wav file should loop and stitch seamlessly if you splice together parts at these points.

After the audio data are a handful of 92-byte "Unnamed Loop" entries that index into the 200-400 element table. I guess these fields are start/end indexes but I'm not sure how they're used.

headrushmayor
beginner
Posts: 28
Joined: Mon Nov 29, 2010 5:03 am

Re: Codemasters common .BDL audio archive

Post by headrushmayor » Sun Jun 24, 2018 7:35 am

hi all i workout how get audio out the bdl files you have use "Ego Audio Tool" but have chance the .bdl to .raw then open file in the Ego Audio Tool program u only need do 1 file as it will unpack all files the sound there but mix up u hear a bit as well do the soundbanks files if chance the bnk to raw then unpack them as well, the Ego Audio Tool need bit more work to it make sounds better but u hear them, i don't how get wav audio play in game have keep looking in text files see enable the wav files work as want do engine sounds and turbo louder. so using the codemasters.exe it make wav files do game pickup the wav file play them in game or do need edit text enable them work.

dongvanhung
ultra-n00b
Posts: 3
Joined: Mon Sep 29, 2014 7:37 am

Re: Codemasters common .BDL audio archive

Post by dongvanhung » Fri Jul 05, 2019 4:11 pm

daemon1 wrote:
Sun Dec 20, 2015 9:48 pm
Ferrari formula 1 wrote:Well,I never really succeded in looping theese but I will try again :D
What do you plan to do with these sounds?

In addition to 4 audio samples, these BDL files contain a lot of tables. Such as 1024-elements table of RPMs, 8 to 14 tables with values about 0.9 - 1.4, and some more. I think they are using some advanced techniques to mix small parts of these samples to loop them into the engine sound needed. At least something similar was going on in NFS.

Now the samples you sent now are all the same type: 4 engine sounds each, but those inside AI & splitscreen folders are simply encoded with mu-law. While All in the root are in this special ADPCM codec. Let's see what can I do with these now.
Hi @daemon1,
How i can read 1024-elements table of RPMs as you said, because .bdl file are encoded, how i can decode and view the value of RPM table ?
Thanks

Post Reply