Quake 4 Sound Placement
Ambient Sounds:
When you place ambient sounds and edit reverb data in Quake 4, it is all done in real-time while the game is actually running. The following screeshot is what all of the audio tools looks like while you’re placing them in the game environment.
- This is the audio editor. This is the place where you edit the majority of speaker data in the game.
- This is the actual game running in windowed mode
- This is the reverb editor for OpenAL use.
Ready to get going? Good! Start the game and run in windowed mode (r_fullscreen 0, then vidrestart), load the map you wish to start placing ambient sounds in. You might want to kill all the monsters in the level by bringing the console down and typing “killmonsters” and going invulnerable by typing “god”. That way you will be able to go through the level without being bothered. You might also want to bind a key to “noclip” so you can get to hard to reach spaces easily.
Now bring down the console and type “editsounds”. This will open up the sound editor that allows you to preview and place ambient sounds throughout the level. It will analyze the shader file for all of the sound’s attributes (meaning volume & radius settings), but you can make changes to each individual speaker that you place in the world.
As you can see, the majority of the tool itself is self-explanatory. If you wish to select a specific speaker while playing, just click on the speaker like you’re shooting it in the game environment. You can also choose certain speakers from the pulldown menu. You might want to make sure you’re in “noclip” mode though. If you choose a speaker that is up in the sky, the player will fall to his/her demise.
It’s always a good idea to immediately play through the level like normal after you finish placing ambient sounds. This makes sure that your ambient sounds aren’t too overpowering.
Editing Reverb:
If you are running the game in OpenAL, then you can edit reverb settings in your maps as well by typing “editreverb” on the console. The reverb data is derived from portal data in your map, so if you update the portal data, you MUST updated the reverb information. Generally, the reverb-pass should be the last thing you do before you call the map “final”.
World Objects and Animations:
This is a process that can get very involved, so prepare thyself! The way to do this is to start the game, drop the console down, and start Modview. This will open our in-house model/animation viewer tool. Load up the model and/or animation you wish to attach a sound to, note the frame numbers you wish the sound effects to occur on, then open the appropriate .def file (in this case, the gladiator.def file) that is home to the animation you wish to edit. Add whichever sound shaders to the model definition like this:
"snd_sight" "gladiator_alert" "snd_stomp" "gladiator_footsteps_run" "snd_punch" "gladiator_punch" "snd_swing" "gladiator_swing"
Next, find the specific animation in the .def file then use something like this to edit:
anim range_attack1 models/monsters/gladiator/gla_blaster_strafe.md5anim { frame 6,21 sound snd_stomp frame 1,25 sound snd_breathe frame 4,25 sound snd_servo }
This shows that for the animation for the gladiator’s range_attack1, the stomp sound will occur on frame 6 and 21, and his breathing falls on frame 1 and 25, while his servo sounds fire off on frame 4 and 25.