L4D2 Custom Sound and Music Tutorial: Difference between revisions
ThaiGrocer (talk | contribs) No edit summary |
ThaiGrocer (talk | contribs) |
||
Line 8: | Line 8: | ||
The following file types and specifications have been known to work: | The following file types and specifications have been known to work: | ||
.WAV - 22 Khz and 44 Khz - Mono and Stereo | .WAV - 22 Khz and 44 Khz - Mono and Stereo | ||
.MP3 - 128 Kbps - Mono and Stereo | .MP3 - 128 Kbps - 22 Khz and 44 Khz - Mono and Stereo | ||
{{note|You can test out other specifications. These are just confirmed to work.}} | |||
==MP3 Method== | ==MP3 Method== |
Revision as of 18:55, 13 February 2010
Introduction
Adding custom sound and music in a Left 4 Dead 2 map appears to be more flexible than Left 4 Dead. The following tutorial will first cover getting custom sounds to work in-game, then followed by customizing existing in-game event sounds (such as music and sound effects).
It is recommended to start with at least the following:
- A map that can be loaded in-game named however you like - maps/<map name>.bsp
- A blank per-map soundscript (a .txt file) named maps/<map name>_level_sounds.txt
Sound File Requirements
The following file types and specifications have been known to work: .WAV - 22 Khz and 44 Khz - Mono and Stereo .MP3 - 128 Kbps - 22 Khz and 44 Khz - Mono and Stereo

MP3 Method

.MP3 sound files will play in-game if they are added in the sound/music/<folder or no folder> folder and do not need to be embedded to work in-game or when shipping a VPK.
Embedded BSP Method
Custom .WAV files must be embedded in a BSP to work and when shipped as a VPK, but they can be placed anywhere, preferably under the sound folder for the internal path. Third-party tools like Pakrat currently do not work with L4D2 BSP files.
Create a list of files you would like to embed C:\Program Files\Steam\steamapps\common\left 4 dead 2\bin\<listfile>.txt:
internal_path\file1 external_path\file1 internal_path\file2 external_path\file2 ...
- Internal paths ('relative paths') are the location the file will take within the BSP, e.g.
materials/metal/new_steel.vmt
. - External paths ('full paths') are the location of the file to be packed, e.g.
C:\Users\Public\our_maps\materials\metal\new_steel.vmt
.

- It is recommended to copy the <map name>.bsp to C:\Program Files\Steam\steamapps\common\left 4 dead 2\bin (Windows 32-Bit, default)
- Open the Windows Command Prompt, preferable with administrator privileges.
- Go to bin directory containing bspzip.exe:
cd C:\Program Files\Steam\steamapps\common\left 4 dead 2\bin
- Embed the files with the following commands:
bspzip -addlist <bspfile> <listfile> <newbspfile>
Tip:You can quickly select your file in command prompt by typing in the first letters of <map name> and hit
TAB
to cycle through file names - If BSPZIP is looking for gameinfo.txt try:
bspzip -addlist <bspfile> <listfile> <newbspfile> -game "C:\Program Files\Steam\steamapps\common\left 4 dead 2\left4dead2"
Creating the Soundscript
Open <map name>_level_sounds.txt with a text editor.
An entry can be played in-game via console or entity, such as ambient_generic or ambient_music. An example entry:
entry.name { channel CHAN_AUTO volume VOL_NORM pitch PITCH_NORM soundlevel SNDLVL_NORM wave common/null.wav }
If a value has a space or tab character within it, wrap it in "quote marks".
Examples
Ambience.Siren { channel CHAN_WEAPON volume VOL_NORM pitch PITCH_NORM soundlevel SNDLVL_NORM wave siren1.wav }
Arbitrary.Song { channel CHAN_AUTO volume VOL_NORM pitch PITCH_NORM soundlevel SNDLVL_NORM wave music/singalongsong.wav }
Foo.Song_mp3 { channel CHAN_STATIC volume VOL_NORM pitch 100 soundlevel SNDLVL_NORM wave music/songalongdong.mp3 }
Testing In-Game
- Open <map name>.bsp via console
map <map name>.bsp coop
- Test out the sound via console
playgamesound entry.name