UDK Audio Implementation

AUDIO FILE FORMATS

wav files at 44.1 kHz / 16 bit. If there is an error on importing your audio file, it’s probably not at this sample rate and bit depth.

SOUND CLASSES

Are the way in which you define how UDK is going to handle your sound cues – what sounds take priority over other sounds.

AMBIENT ZONES

There is not a sound class, or a parameter called Ambient Zone that you can simply throw in the map. It happens when you create a ReverbVolume, it doesn’t live per se. Therefore, the AZ is the inside of the geometry you decided to turn into a ReverbVolume.

What sounds are affected by this is what you decide by

1) telling UDK what sound cues are in the Ambient Sound Class category.

2) the sounds within the above category that are inside or outside your ReverbVolume (good to remember if you have multiple AZs)

For the first, you just go to Content Browser, right-click on the SoundCue you want and choose SoundClass > SFX > Ambient. If you do not do this, the sounds won’t be affected by the reverb properties. Also remember it is a SoundCue – A SoundNodeWave cannot be classified within a SoundClass, meaning it couldn’t be affected by the Reverb Properties.

soundclass_amb

In the ReverbVolume Property window, you have all you need to program the behaviour of your associated sounds.

But how to create this? It all starts with geometry. I’m supposing you want to create a reverb for a building. On your map, click on the boundary lines of your building. In case it’s divided in different pieces, you can just click one, copy paste, adjust in position and shape for the whole block, and with the lines selected click on add volume > add ReverbVolume. You can either go to Brush or in the Volumes box on the left bar.

Your new RV will, by default, appear as yellow lines:

RV_lines

Now, I was stuck in here for some time. I could only successfully add a ReverbVolume if I associate it first with a shape on the brushes tool-bar. This shall work. For scaling your geometry object, use the options on the top tool-bar:

toolbar_scaling modes

Great, the RV is there. To dig into its properties, just right-click and obviously choose ReverbVolume Properties.

Keep in mind, audio-not-game designers, that the numbers in the various fields are multiplication values, not dB or whatsoever.

AmbientSoundActors are Sounds in your map

Similarly to Unity, they are more of some kind of containers. It’s the sound actors that trigger the SoundCues.

UDK has a full hand of different sound actors, for our delight:

  • AmbientSound
  • AmbientSoundSimple
  • AmbientSoundNonLoop
  • AmbientSoundNonLoopingToggleable
  • AmbientSoundSoundSimpleToggleable
  • AmbientSoundMovable

AmbientSound

This one triggers looping and non-looping sounds. When the listener enters the radii, previously defined in the SoundCue Editor (with the Attenuation or Attenuation and Gain nodes), the Actor is triggered once. Inside this area, all properties defined in the SoundCue are on. If the Looping node is not utilized, the audio file will trigger once when player enters the radii. If you have none of the Attenuation nodes, or checked the Auto Play property, there will be no sound playing in (for? – whatever) this Actor.

Controllable parameters: pitch and volume.

AmbientSoundSimple

This Actor will get the SoundNode, not the SoundCue. Its properties are thus set only by the AmbientSoundSimple Properties. In short, the controls are right there in the Actor and not in the SoundCue. There are a lot of them:

UDK_ASS_Properties_window

Attenuate: vote yes if you want to hear your sound from some distance, at a minor level you’ll define some fields below.

Spatialize: here’s your chance for doing flying rats. This is just to check if you want your sounds 3D… which is a funny way to simulate our own hearing. For who is not familiarized with the modes of attenuation I strongly suggest watching this: FMOD Tutorial 14 – Working with 3D Sound Properties. Although it’s about Fmod, there are the physics parameters well explained.

What’s really cool about this particular Actor: the radii lines appear in the map. It’s a great visual aid.

UDK_ASS_radii_lines

AmbientSoundNonLoop

You can actually loop this one. The difference is that you can control the time spawn between every instance.

IMPLEMENTING SOUNDS AND SEQUENCES OF SOUNDS BY TRIGGER

The first advantage I consider about using Trigger to trigger sounds is the possibility of having sequences of sounds within the time spawn you desire, combining any SoundCue of you wish.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s