02-10-2019, 12:23 PM
It was just concatenated headerless wav files. This BMS will extract them, and add proper headers (TOWAV function taken from aluigi ) Copy and paste into txt file and run it on QuickBMS:
Code:
get ARKSIZE asize
get BASENAME basename
do
get SIZE long
get RIFNAME string
set NAME string ""
string NAME p "%s_%s" BASENAME RIFNAME
get TWELVE long
get CHANNELS short
get CODEC short
get FREQUENCY long
get NULL long
get NULL short
get BITS long
savepos OFFSET
callfunction TOWAV
goto SIZE 0 SEEK_CUR
savepos CUR_OFF
while CUR_OFF != ARKSIZE
# Requirements: CODEC, BITS, FREQUENCY, CHANNELS, OFFSET, SIZE and NAME
startfunction TOWAV
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 CODEC 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 MEMORY_FILE2 0 44 MEMORY_FILE
append
log MEMORY_FILE2 OFFSET SIZE
append
get RIFF_SIZE asize MEMORY_FILE2
log NAME 0 RIFF_SIZE MEMORY_FILE2
endfunction