UDK Audio Implementation III – SoundNodes and SoundCues pt. 2

Apologies for the delay! Here’s part II, though I’m still considering some updates as well focusing more on the practical side.

DISTANCE CROSS-FADE: This node will allow you to perform fade ins and fade outs in volume, over distance, on as many inputs as you like. It will be calculated from the source’s location which may be useful to actually cross-fade between two or more SoundNodes in the same SoundCue. When to use this over an Attenuation Node is up to you, but one can even combine both. A common example of the Distance Cross-Fade Node use would be a distance simulation with LPF that you previously worked on your DAW; meaning you have two versions of the same sound, one of which you treated already in the way you want it to be for its audition from a farther distance – then you will obviously cross (fade) both sounds. We can make use of that for enhancing some details of something as the player gets closer, or at a certain point. Although I love the subject it’s not of these posts to discuss story / sensory enhancements options.
The following are the parameters for each input at the Node:

> Fade In Distance Start at what distance should the fade in begin;

> Fade In Distance End: distance at which the sound has faded in completely.

> Fade Out Distant Start: distance at which the fade out starts;

> Fade Out Distant End: where the volume has dropped to 0.

> Volume: volume to play the sound at.


DELAY: with this node we can set a time interval, after which the SoundNodeWave will be played. It’s mostly required that this sound is in loop, either if it is included a LoopNode in the SoundCue, or if this is managed somehow with the SoundActors or Triggers. If the Delay Min and Delay Max are different, the sound will play in a random time interval within the ones set on these parameters. Units are in seconds. Important to say is that, if the sound is looping, the first time it will be played it will be affected by the delay and not play the SoundNodeWave instantaneously.


LOOPING: it’s pretty easy to guess what this one does. Its parameters  are:

> Loop count min, Loop count max, and a check box if you want the sound to loop indefinitely. Concerning the DELAY node – or eventually another nodes – one may ask where in the chain to place the LOOPING Node.


The above picture shows the correct way to connect the nodes in such cases. Because if we switch the Delay with the Looping, the Delay Node will take effect only in the first time the SoundNodeWave is being played. After that, it will play sequentially with no awaiting time.


MODULATOR: another one that is quite simple to understand just by looking at it. Every time your SoundNodeWave will be played you can opt to vary its pitch and volume in intervals that work in the same way as the DelayNode. Both pitch and volume parameters can go higher than 1.


CONTINUOUS MODULATOR: this Node “allows game play parameters to control volume and pitch modulation in real time.” The example to come to our minds is of a vehicle. Since this node needs code work and doesn’t function stand alone within the SoundCue Editor, unfortunately for now, I cannot say much more about it, except redirect you for a few links I found on the way (see in the bottom).


OSCILLATOR: nice this is sounding familiar! This Node will take a SoundNodeWave as an input and modulate it just as an oscillator does: it produces a continuous vibration around it. In this way, we are able to modulate time and / or pitch over time (assuming this will be used for more steady sounds-capes, but it’s a free world!). Going through the parameters:

> Amplitude min and max: using a sine wave form, the values will set the limits of your sound. However – by default -, this wave is centred around 1, and not 0, meaning that if you pick one of these parameters to be 0.5 the wave will oscillate  between 0.5 and 1. The value of the amplitude chosen is for both the positive and negative values. At this point, we are already familiar with how the random values work in UDK, so if we set a min and max value, we are telling the engine to random pick values between those two.

> Frequency min and max: an oscillator oscillates at a certain frequency, right? So, this is where we set that value. However, the numerical value in there is twice the frequency in Hertz. So if, for example, we set this value for 40, it will correspond to 20 Hz. Again the min and max parameters are provided to set randomized values.

> Offset min and max: or phase! Given the phase in radians, the value one sets is multiplied by 2π. This indicates where the wave will start its cycle.

> Center Min and Max: above, in the amplitude, it was said that the amplitude of the wave is centred around 1. In this parameter, one can change that value. In this way, we can use in such way that the sound drops to 0 when reaching the lowest amplitude point, or vice-versa. Once more, the random values.



Continuous Modulator: http://forums.epicgames.com/archive/index.php/t-727381.html

One thought on “UDK Audio Implementation III – SoundNodes and SoundCues pt. 2

  1. Pingback: UDK | Pearltrees

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 )

Facebook photo

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

Connecting to %s