Lego Alpha Team (PC) .dds

Codecs, formats, encoding/decoding of game audio, video and music
Puterboy1
Posts: 382
Joined: Wed Sep 12, 2018 2:22 am

Lego Alpha Team (PC) .dds

Post by Puterboy1 »

I would like to make this playable.
brendan19
Posts: 144
Joined: Fri Aug 08, 2014 11:25 am

Re: Lego Alpha Team (PC) .dds

Post by brendan19 »

It's just raw PCM with no header.

Import it as raw audio into Audacity

Encoding: Signed 16-bit PCM
Byte order: Little Endian
Channels: 1 (Most likely mono as all the samples provided were all SFX), music might be 2 channels
Frequency: Either 22050Hz or 44100Hz (Never played the game, not sure how they're supposed to sound exactly)

Export it as a .wav file
Puterboy1
Posts: 382
Joined: Wed Sep 12, 2018 2:22 am

Re: Lego Alpha Team (PC) .dds

Post by Puterboy1 »

brendan19 wrote:It's just raw PCM with no header.

Import it as raw audio into Audacity

Encoding: Signed 16-bit PCM
Byte order: Little Endian
Channels: 1 (Most likely mono as all the samples provided were all SFX), music might be 2 channels
Frequency: Either 22050Hz or 44100Hz (Never played the game, not sure how they're supposed to sound exactly)

Export it as a .wav file

Is there a faster process like changing the extension to .pcm?
brendan19
Posts: 144
Joined: Fri Aug 08, 2014 11:25 am

Re: Lego Alpha Team (PC) .dds

Post by brendan19 »

Here's a QuickBMS script made by AlphaTwentyThree that can do it.

Code: Select all

# raw to RIFF wav example
# script for QuickBMS http://quickbms.aluigi.org

set FREQUENCY long 22050 # Change this to set the frequency rate
set CHANNELS long 1 # Change this to set the number of channels
set BITS long 16

get SIZE asize
get NAME filename
string NAME += ".wav"

set MEMORY_FILE binary "\x52\x49\x46\x46\x00\x00\x00\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x61\x74\x61\x00\x00\x00\x00"

set RIFFSIZE long SIZE
math RIFFSIZE += 36
set BLOCKALIGN long BITS
set AVGBYTES long FREQUENCY
math BLOCKALIGN /= 8
math BLOCKALIGN *= CHANNELS
math AVGBYTES *= BLOCKALIGN

putvarchr MEMORY_FILE 4 RIFFSIZE long
putvarchr MEMORY_FILE 20 1 short          # wFormatTag: Microsoft PCM Format (0x0001)
putvarchr MEMORY_FILE 22 CHANNELS short   # wChannels
putvarchr MEMORY_FILE 24 FREQUENCY long   # dwSamplesPerSec
putvarchr MEMORY_FILE 28 AVGBYTES long    # dwAvgBytesPerSec
putvarchr MEMORY_FILE 32 BLOCKALIGN short # wBlockAlign
putvarchr MEMORY_FILE 34 BITS short       # wBitsPerSample
putvarchr MEMORY_FILE 40 SIZE long

log NAME 0 44 MEMORY_FILE
append
log NAME 0 SIZE
append