Difference between revisions of "SCUMM/Technical Reference/Sound resources"

Jump to navigation Jump to search
Some info on music and sounds based on MI2.
(→‎Original: Improved consistency, added some bits.)
(Some info on music and sounds based on MI2.)
Line 1: Line 1:
=Music=
=Music=


Todo:
* Adlib, GM, MT-32 etc formats
* Adlib, GM, MT-32 etc formats
* Digital
* Digital
* iMUSE (separate tracks and specific markers in each song format)
* iMUSE (separate tracks and specific markers in each song format)


=Sounds=
==Early v5==


==Resource.001==
In Monkey Island 2 (MI2), music blocks are stored in LFLF blocks, outside of the ROOMs, so they can be accessed globally. The containing sound block looks like this:


Up until the CD Talkie version of [[Indiana Jones and the Fate of Atlantis]] (Indy 4), sounds are stored in the .001 resource files. They are contained within ROOM(?) blocks.
Block name        4 bytes ("SOUN")
Block size        4 bytes
Block name        4 bytes ("SOU ")
Block size        4 bytes
 
The redundant header is possibly due to building on a legacy implementation, or for easier identification in the table stored in the .000 index file.
 
The music block may contain any combination of ROL (Roland MT-32), ADL (Adlib/OPL FM), or SPK (PC speaker) blocks. They can also store a single SBL block for digitized sound (described in a later section). Aside from SBL, each of these blocks follow the same basic pattern.
 
  Block name        4 bytes ("ROL ", or "ADL ", or "SPK ")
  Block size        4 bytes
  MIDI data        variable
 
Every track is stored in MIDI format, in order to make use of the iMUSE technology through System Exclusive (SysEx) messages.
 
Due to the predominance of the Sound Blaster and Adlib/OPL FM technology at the time of MI2's release, every musical SOUN block contains an ADL block.
 
=Digitized Sounds=
 
==Early v5 - SBL blocks==
 
Digitized sounds first appeared in Monkey Island 1 & 2. They are contained in the .001 resource file as part of "SOUN" blocks (see the music section above).
 
  Block name        4 bytes ("SBL ")
  Block size        4 bytes
  Sound header      4 bytes ("AUhd" or "WVhd")
  Unknown          3 bytes (always 00 00 80)
  Data header      4 bytes ("AUdt" or "WVdt")
  VOC data          variable
 
AUhd and AUdt are used in Monkey Island, while WVhd and WVdt are used in the non-interactive demo of Sam & Max. The actual sound data is stored in a variant of the Creative VOC format.


"SOUN" header (incl. size?)
==Early v5 - CD tracks==
"SBL " header
"CREA" block (Creative VOC file)


Games that use CD tracks (Loom/CD, MI1/CD, Zak256/FM-TOWNS) are a bit different. For MI1/CD at least, the block size is 32-bytes, and provides information on the CD track to play.
Games that use CD tracks (Loom/CD, MI1/CD, Zak256/FM-TOWNS) are a bit different. For MI1/CD at least, the "SOU " block size is always 32 bytes and presumably points to the CD track to play.


==MONSTER.SOU==
==v5-v6 - MONSTER.SOU==


===Original===
===Original===
Line 23: Line 52:
From Indy 4 onwards, sound effects and speech are stored in a separate resource file called "MONSTER.SOU". The format is:
From Indy 4 onwards, sound effects and speech are stored in a separate resource file called "MONSTER.SOU". The format is:


  Block name        4 ("SOU ") bytes
  Block name        4 bytes ("SOU ")
  Block size        4 bytes
  Block size        4 bytes
  One or more:
  One or more:
   Block name        4 ("VCTL") bytes
   Block name        4 bytes ("VCTL")
   Block size        4 bytes
   Block size        4 bytes
   Lip-sync tags    variable
   Lip-sync tags    variable
125

edits

Navigation menu