Tags

wow (82) real.life (27) mathematics (19) info.tech (13) commerce (10) doomsday (7) runescape (4)

Search This Blog

01 May 2010

Compress Your Waveform

Many World of Warcraft raiding guilds use Ventrilo (Vent) to allow raid members to communicate more easily. However, it may be frustrating to find a large variation in volume between others' voices. Fortunately, Vent has a function to alleviate that.

The Compressor module can be used for reducing the such. It works by changing the shape of the envelope, or outline, of the waveform. It can be activated by going to Setup | Voice | SFX and adding Compressor under Sound Effects. To be able to configure these settings without a recommended configuration, one needs to know some of the basics of sound synthesis, in particular the ADSR envelope.

Attack, Decay, Sustain, Release
The ADSR envelope describes the shape of a waveform in terms of:
  • The attack (A), which is the segment of the waveform between the beginning of the sound to its peak volume.
  • The decay (D), which is the segment between the peak to the sustain level.
  • The sustain (S), which is the segment that represents the main body of the sound. It specifies a sustain level, which is the average volume of this segment.
  • The release (R), which is the segment between the end of the sustain and the end of the sound.

The ADSR envelope.

To demonstrate how the Compressor works, the following synthetic drum beat from Yeah Yeah Yeahs (2010) will be used:

Its ADSR envelope is:

(Makeup) Gain
This setting controls the sustain level of the waveform (after it has been compressed). Increasing it has the effect of increasing the average volume.

Attack
This setting controls the delay, in milliseconds, from the start of the sound, after which the Compressor draws the envelope and starts changing volume levels. Increasing it has the effect of recognising less of the attack segment, and if set too high, the peak is missed and left unchanged.

Release
This setting controls the maximum length, in milliseconds, of the decay segment. Increasing it has the effect of recognising more of the decay segment.

The values of the above two settings will define the entire segment of the waveform which the Compressor will modify. For example, it might recognise the segment in negative colouring:

Threshold
This setting controls the maximum volume of the waveform. If any part of the waveform attempts to exceed the threshold, it will be clipped. Setting it at the maximum (zero) does not affect the threshold, but decreasing it has the effect of reducing it. Note that the scale sets zero at maximum power, hence the more negative the setting, the more volume that the Compressor will subtract from it. This scale is also used in Creative WaveStudio.

Ratio
This setting controls how variable the sustain levels of waveforms from quiet (below threshold) Vent clients are. Increasing it has the effect of reducing this variability, up to the point of 100.0, where volumes are fully normalised to be at the same level.

Pre delay
This setting controls how far ahead in time, in milliseconds, the Compressor will look at the waveform. Increasing it has the effect of more effectively normalising waveforms, with a potential cost of CPU performance.

Recommended settings
The following settings will suit most raid members using Vent:
  • Gain: However long a piece of string is
  • Attack: 0.01
  • Release: approx. 511
  • Threshold: approx. -30
  • Ratio: approx. 100
  • Pre delay: 4.0

References

No comments:

Post a Comment