Anyone know if it's possible to extract Loom's CDDA.SOU?

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

apprentice_fu
Posts: 12
Joined: Thu Dec 23, 2010 8:16 am
Location: Germany

Post by apprentice_fu »

As my previous post was a bit vague:

The offset at the start of the file seems to be 800 bytes (or 800 + x*1177)

With stereo, 8-bit, 44100 Hz and 13.33 ms you get 1176 bytes audio data + 1 byte shifting info. The shifting info is at the start of such a

The lower four bits of the shifting info (info & 0xf) are for the right channel the higher four (info >> 4) are for the left channel.

At the beginning of the file there are some bytes (0x10 up to 0x1f) which I can't make sense of.

(edit corrected bits to bytes)
Last edited by apprentice_fu on Sun Feb 02, 2014 6:37 pm, edited 1 time in total.

User avatar
icanntspell
Posts: 95
Joined: Mon May 18, 2009 12:14 pm
Location: The Netherlands
Contact:

Post by icanntspell »

Thanks a lot, great work! I managed to build a working decoder with this info. It took me some time to realize it was encoded in signed pcm. I am not really an audio guy as well.

jepael
Posts: 32
Joined: Sat Oct 25, 2008 8:16 pm

Post by jepael »

apprentice_fu wrote:
With stereo, 8-bit, 44100 Hz and 13.33 ms you get 1176 bytes audio data + 1 byte shifting info.
The 1176 is an interesting value, as one audio CD sector contains 1176*2=2352 bytes of 16-bit stereo data. It may be that the game internally uses cd-rom sector numbers or the minute:second:frame format when it starts playing the audio. There are 75 frames (audio sectors) per second.

User avatar
clone2727
Retired
Posts: 1611
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Post by clone2727 »

jepael wrote:The 1176 is an interesting value, as one audio CD sector contains 1176*2=2352 bytes of 16-bit stereo data. It may be that the game internally uses cd-rom sector numbers or the minute:second:frame format when it starts playing the audio. There are 75 frames (audio sectors) per second.
Of course it references the audio data that way; they didn't actually change the SCUMM data from the CD version. In Loom's case, it specifies offset from the beginning of the disc (see scumm/script_v5.cpp:2612).

dtungsten
Posts: 1
Joined: Mon Feb 03, 2014 10:37 pm

Post by dtungsten »

icanntspell wrote:Thanks a lot, great work! I managed to build a working decoder with this info. It took me some time to realize it was encoded in signed pcm. I am not really an audio guy as well.
I managed to build a working decoder too, thanks!

Post Reply