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

Jump to navigation Jump to search
→‎iMUSE: replace dead external link with ScummVM wiki link
(→‎Early v5 - SBL blocks: implied VOC header info)
(→‎iMUSE: replace dead external link with ScummVM wiki link)
 
(2 intermediate revisions by 2 users not shown)
Line 13: Line 13:
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 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.
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 name        4 bytes ("ROL ", or "ADL ", or "SPK ")
Line 21: Line 21:
Every track is stored in MIDI format, in order to make use of the iMUSE technology through System Exclusive (SysEx) messages.
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, in at least MI2 every musical SOUN block contains an ADL block.
Due to the predominance of the Sound Blaster and AdLib/OPL FM technology at the time, in at least MI2 every musical SOUN block contains an ADL block.


==iMUSE==
==iMUSE==
Line 27: Line 27:
From SCUMM v5 onwards, LucasArts games used a dynamic music playback system called iMUSE. This basically consists of standard MIDI data, with embedded System Exclusive (SysEx) messages that act as markers in the song. iMUSE allows operations like conditional jumping & looping, adjusting the volume of parts, turning parts on and off, changing instruments, and detuning parts.
From SCUMM v5 onwards, LucasArts games used a dynamic music playback system called iMUSE. This basically consists of standard MIDI data, with embedded System Exclusive (SysEx) messages that act as markers in the song. iMUSE allows operations like conditional jumping & looping, adjusting the volume of parts, turning parts on and off, changing instruments, and detuning parts.


You can find the original patent document [http://pat2pdf.org/pat2pdf/foo.pl?number=5315057 here], and some technical details can be found [http://alban.dotsec.net/15.html here].
You can find the original patent document [http://pat2pdf.org/pat2pdf/foo.pl?number=5315057 here], and some technical details [[SCUMM/Technical Reference/iMuse data|can be found here]].


==Mac0==
==Mac0==
Line 80: Line 80:
   Block size        4 bytes
   Block size        4 bytes
   Sound header      4 bytes ("AUhd" or "WVhd")
   Sound header      4 bytes ("AUhd" or "WVhd")
  Block size        4 bytes
   Unknown          3 bytes (always 00 00 80)
   Unknown          3 bytes (always 00 00 80)
   Data header      4 bytes ("AUdt" or "WVdt")
   Data header      4 bytes ("AUdt" or "WVdt")
  Block size        4 bytes
   VOC data          variable
   VOC data          variable


Line 147: Line 149:
  TOWS - FM Towns
  TOWS - FM Towns
  SBL  - Sound Blaster digitized sound (Creative VOC file)
  SBL  - Sound Blaster digitized sound (Creative VOC file)
  ADL  - Adlib (OPL FM)
  ADL  - AdLib (OPL FM)
  AMI  - Amiga MOD
  AMI  - Amiga MOD
  ROL  - Roland MT-32
  ROL  - Roland MT-32
125

edits

Navigation menu