Sound cutoffs

Certain sounds in vanilla Doom are almost always interrupted before they can completely play, due to two possible causes: interruption by a new sound, and object removal.

Technical
Up to eight sounds can be played simultaneously in vanilla Doom, depending on the setup configuration. If a sound is added past this limit, the oldest sound still playing will be stopped before it can finish. Additionally, most sounds can be interrupted if a new sound emanates from the same source as an existing one. (See Silent BFG trick.)

Certain sounds will almost always be interrupted by design. With the exception of chainsaw sounds, it is unclear whether this was intentional or even noticed during development.

Sounds interrupted by other sounds
These sounds are usually interrupted because an object's animation will quickly trigger another sound instead. For most states of the chainsaw, the same sound is rapidly repeated, interrupting itself each time.


 * Object movement
 * DSBSPACT (Arachnotron)
 * DSMETAL (Cyberdemon)
 * DSBOSCUB (Boss cube)
 * Chainsaw sounds
 * DSSAWUP
 * DSSAWIDL
 * DSSAWFUL
 * DSSAWHIT
 * Fire start (DSFLAMST)
 * Demon pain (DSDMPAIN), interrupted when that monster has a continuous "chase" noise (e.g. the Spider Mastermind)

DSFLAMST
DSFLAMST is supposed to sound as soon as a flame appears during an Arch-Vile attack. The sound should play for 4/35ths of a second until DSFLAME (fire crackle) interrupts it. Instead, this sound is never heard during the game, even if the game is paused after the fire spawns and before the crackle starts. This is because A_StartFire, the function which plays the sound in question, is supposed to execute on the first spawn frame of the flame. However, due to the way the Doom engine works, the first spawn frame of an object cannot execute functions, and therefore it skips over the function without executing it.

Sounds interrupted by object removal
Sounds are usually associated with an object that is emanating the sound in order to calculate the sound's origin relative to the player. If the object is removed from the game (usually the result of an explosion) before the sound finishes playing, the origin cannot be calculated and the sound will stop prematurely.


 * DSPEDTH (Pain Elemental death)
 * DSBAREXP (Exploding barrels and rockets fired by Cyberdemon, player and Revenant)
 * DSFIRXPL (Lost Soul death, exploding fireballs from various monsters)

Exceptions
The sounds listed above will always be interrupted in normal game play, but will play fully on certain occasions:


 * Pausing the game either by pressing the Pause key or by bringing up the menu in single player mode will allow these sounds to finish playing, as they cannot be interrupted until the game continues.
 * Exiting a level will allow sounds to finish playing while the screen melts into the intermission screen.
 * If the chainsaw was the active weapon when the previous level ended, DSSAWUP is fully played at the end of the intermission sequence (except for console versions of Doom where this sound is not played at the start of the level).
 * DSBAREXP is also the sound played in the final stage of an Arch-Vile's attack. The sound's origin is the Arch-Vile itself, so it will play completely if the Arch-Vile does not start another sound.
 * Barrels will not disappear if they are crushed by a fast crushing ceiling, due to a bug in which they are instead transformed into pools of blood. Since they are not removed in this case, the explosion sound plays completely. (This also applies to Pain Elementals being crushed.)
 * DSBSPACT or DSBOSCUB may be played fully when the user quits to DOS.