sound

🚧 This article is a stub. You can help expand it by submitting content in pull requests or issues in this wiki's source repo.

...

Structure and fields #

Field Type Comments
flags bitfield(32)
Flag Mask Comments
fit to adpcm blocksize 0x1
split long sound into permutations 0x2
sound class enum
Option Value Comments
projectile impact 0x0
projectile detonation 0x1
unused 0x2
unused 1 0x3
weapon fire 0x4
weapon ready 0x5
weapon reload 0x6
weapon empty 0x7
weapon charge 0x8
weapon overheat 0x9
weapon idle 0xa
unused 2 0xb
unused 3 0xc
object impacts 0xd
particle impacts 0xe
slow particle impacts 0xf
unused 4 0x10
unused 5 0x11
unit footsteps 0x12
unit dialog 0x13
unused 6 0x14
unused 7 0x15
vehicle collision 0x16
vehicle engine 0x17
unused 8 0x18
unused 9 0x19
device door 0x1a
device force field 0x1b
device machinery 0x1c
device nature 0x1d
device computers 0x1e
unused 10 0x1f
music 0x20
ambient nature 0x21
ambient machinery 0x22
ambient computers 0x23
unused 11 0x24
unused 12 0x25
unused 13 0x26
first person damage 0x27
unused 14 0x28
unused 15 0x29
unused 16 0x2a
unused 17 0x2b
scripted dialog player 0x2c
scripted effect 0x2d
scripted dialog other 0x2e
scripted dialog force unspatialized 0x2f
unused 18 0x30
unused 19 0x31
game event 0x32
sample rate enum
  • Read-only data, not meant to be edited by hand.
Option Value Comments
22050 Hz 0x0
44100 Hz 0x1
minimum distance f32 (world units)
maximum distance f32 (world units)
skip fraction Fraction: f32
random pitch bounds f32 (min & max)
  • Default value: 1,1.
inner cone angle Angle: f32
  • Default value: 6.28318548202515.
outer cone angle Angle: f32
  • Default value: 6.28318548202515.
outer cone gain Fraction: f32
  • Default value: 1.
random gain modifier f32
  • Default value: 1.
maximum bend per second f32
pad(12)
zero skip fraction modifier f32
zero gain modifier f32
zero pitch modifier f32
pad(12)
one skip fraction modifier f32
one gain modifier f32
one pitch modifier f32
pad(12)
channel count enum
  • Read-only data, not meant to be edited by hand.
Option Value Comments
mono 0x0
stereo 0x1
format enum
  • Read-only data, not meant to be edited by hand.
Option Value Comments
16-bit PCM 0x0
Xbox ADPCM 0x1
IMA ADPCM 0x2
Ogg Vorbis 0x3
FLAC 0x4
promotion count u16
pad(2)
longest permutation length u32
  • Internal to the tag and may be hidden in tools.
  • Only set when the tag is compiled into a map cache.
pad(8)
unknown ffffffff 0 u32 (little endian?)
  • Only set when the tag is compiled into a map cache.
unknown ffffffff 1 u32 (little endian?)
  • Only set when the tag is compiled into a map cache.
pitch ranges Block?
  • Read-only data, not meant to be edited by hand.
Field Type Comments
name char[32]
natural pitch f32
  • Default value: 1.
bend bounds f32 (min & max)
  • Default value: 0,1.
actual permutation count u16
  • Read-only data, not meant to be edited by hand.
pad(2)
playback rate f32 (little endian?)
  • Only set when the tag is compiled into a map cache.
unknown ffffffff 0 u32 (little endian?)
  • Only set when the tag is compiled into a map cache.
unknown ffffffff 1 u32 (little endian?)
  • Only set when the tag is compiled into a map cache.
permutations Block?
  • Read-only data, not meant to be edited by hand.
Field Type Comments
name char[32]
  • Read-only data, not meant to be edited by hand.
skip fraction Fraction: f32
  • Maximum: 1
gain Fraction: f32
  • Maximum: 1
  • Default value: 1.
format enum
  • Read-only data, not meant to be edited by hand.
Option Value Comments
16-bit PCM 0x0
Xbox ADPCM 0x1
IMA ADPCM 0x2
Ogg Vorbis 0x3
FLAC 0x4
next permutation index Index (permutations)
  • Read-only data, not meant to be edited by hand.
samples pointer u32 (little endian?)
  • Only set when the tag is compiled into a map cache.
pad(4)
tag id 0
TagID: union (little endian?)
  • id: u32
  • index: u16
  • Only set when the tag is compiled into a map cache.
buffer size u32 (little endian?)
  • Read-only data, not meant to be edited by hand.
tag id 1
TagID: union (little endian?)
  • id: u32
  • index: u16
  • Only set when the tag is compiled into a map cache.
samples
TagDataOffset
  • size: u32
  • external: u32
  • file offset: u32
  • pointer: u64
  • Read-only data, not meant to be edited by hand.
mouth data
TagDataOffset
  • size: u32
  • external: u32
  • file offset: u32
  • pointer: u64
  • Read-only data, not meant to be edited by hand.
subtitle data
TagDataOffset
  • size: u32
  • external: u32
  • file offset: u32
  • pointer: u64
  • Read-only data, not meant to be edited by hand.

This information was partially generated using Invader tag definitions.

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • Kavawuvi (Invader tag definitions)
  • MosesOfEgypt (Tag structure research)