Class EffectFactory.EAXReverbDef

java.lang.Object
edu.cornell.gdiac.audio.EffectFactory.EAXReverbDef
Enclosing interface:
EffectFactory

public static class EffectFactory.EAXReverbDef extends Object
This class contains definitions for constructing a EAXReverb object

EAXReverb is a superset of the standard reverb effect with additional control over the reverb tone, reverb directivity, and reverb granularity.

The EAX Reverb is natively supported on any devices that support the EAX 3.0 or above standard, including:

  • SoundBlaster Audigy series soundcards
  • SoundBlaster X-Fi series soundcards

The EAX Reverb will be emulated on devices that only support EAX 2.0. Note: The “Generic Software” device falls into this category as the software mixer supports the EAX 2.0 Reverb effect.

Edit properties of a EAXReverbDef object then use EffectFactory.createEAXReverb() or EffectFactory.updateEAXReverb(EffectFilter, EAXReverbDef) to transfer properties from EAXReverbDef to the effect object.

  • Field Details

    • EAXREVERB_DENSITY

      public float EAXREVERB_DENSITY
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_DIFFUSION

      public float EAXREVERB_DIFFUSION
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_GAIN

      public float EAXREVERB_GAIN
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_GAINHF

      public float EAXREVERB_GAINHF
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_DECAY_TIME

      public float EAXREVERB_DECAY_TIME
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_DECAY_HFRATIO

      public float EAXREVERB_DECAY_HFRATIO
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_REFLECTIONS_GAIN

      public float EAXREVERB_REFLECTIONS_GAIN
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_REFLECTIONS_DELAY

      public float EAXREVERB_REFLECTIONS_DELAY
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_LATE_REVERB_GAIN

      public float EAXREVERB_LATE_REVERB_GAIN
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_LATE_REVERB_DELAY

      public float EAXREVERB_LATE_REVERB_DELAY
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_AIR_ABSORPTION_GAINHF

      public float EAXREVERB_AIR_ABSORPTION_GAINHF
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_ROOM_ROLLOFF_FACTOR

      public float EAXREVERB_ROOM_ROLLOFF_FACTOR
      These settings are the same as their standard reverb counterparts, refer to EffectFactory.ReverbDef
    • EAXREVERB_GAINLF

      public float EAXREVERB_GAINLF
      Tweaks reflected sound by attenuating it at low frequencies.

      This value controls a high-pass filter that applies globally to the reflected sound of all sound sources feeding the particular instance of the reverb effect. EAXREVERB_LFREFERENCE sets the frequency at which the value of this property is measured.

      • MAX: 1.0f (0db)
      • MIN: 0.0f (-100db)
    • EAXREVERB_DECAY_LFRATIO

      public float EAXREVERB_DECAY_LFRATIO
      Adjusts the spectral quality of the Decay Time parameter.

      This value is the ratio of low-frequency decay time relative to the time set by Decay Time. The Decay LF Ratio value 1.0 is neutral: the decay time is equal for all frequencies. As Decay LF Ratio increases above 1.0, the low-frequency decay time increases so it’s longer than the decay time at mid frequencies. You hear a more booming reverberation with a longer decay at low frequencies. As the Decay LF Ratio value decreases below 1.0, the low-frequency decay time decreases so it’s shorter than the decay time of the mid frequencies. You hear a more tinny reverberation.

      • MAX: 2.0f
      • MIN: 0.1f
    • EAXREVERB_ECHO_DEPTH

      public float EAXREVERB_ECHO_DEPTH
      Introduces a cyclic echo in the reverberation decay, which will be noticeable with transient or percussive sounds.

      A larger value of Echo Depth will make this effect more prominent.

      • MAX: 1.0f
      • MIN: 0.0f
    • EAXREVERB_ECHO_TIME

      public float EAXREVERB_ECHO_TIME
      Controls the rate at which the cyclic echo repeats itself along the reverberation decay.

      For example, the default setting for Echo Time is 250 ms. causing the echo to occur 4 times per second. Therefore, if you were to clap your hands in this type of environment, you will hear four repetitions of clap per second.

      • MAX: 0.25f
      • MIN: 0.075f
    • EAXREVERB_MODULATION_TIME

      public float EAXREVERB_MODULATION_TIME
      Create sa pitch modulation in the reverberant sound.

      This value will be most noticeable applied to sources that have tonal color or pitch. You can use this to make some trippy effects!

      Modulation Time controls the speed of the vibrato (rate of periodic changes in pitch). MAX: 4.0f MIN: 0.04f

    • EAXREVERB_MODULATION_DEPTH

      public float EAXREVERB_MODULATION_DEPTH
      Controls the amount of pitch change.

      Low values of Diffusion will contribute to reinforcing the perceived effect by reducing the mixing of overlapping reflections in the reverberation decay.

      • MAX: 1.0f
      • MIN: 0.0f
    • EAXREVERB_HFREFERENCE

      public float EAXREVERB_HFREFERENCE
      Determines the frequencies at which the high-frequency effects are measured.

      This value is applied to Decay HF Ratio. Note that it is necessary to maintain a factor of at least ten between HF Reference and LF Reference so that low frequency and high frequency properties can be accurately controlled and will produce independent effects. In other words, the LF Reference value should be less than 1/10 of the HF Reference value.

      • MAX: 20000.0f
      • MIN: 1000.0f
    • EAXREVERB_LFREFERENCE

      public float EAXREVERB_LFREFERENCE
      Determines the frequencies at which the low-frequency effects are measured.

      This value is applied to Decay LF Ratio. Note that it is necessary to maintain a factor of at least ten between HF Reference and LF Reference so that low frequency and high frequency properties can be accurately controlled and will produce independent effects. In other words, the LF Reference value should be less than 1/10 of the HF Reference value.

      • MAX: 1000.0f
      • MIN: 20.0f
    • EAXREVERB_REFLECTIONS_PAN

      public float[] EAXREVERB_REFLECTIONS_PAN
      Controls the spatial distribution of the cluster of early reflections.

      The direction of this vector controls the global direction of the reflections, while its magnitude controls how focused the reflections are towards this direction. It is important to note that the direction of the vector is interpreted in the coordinate system of the user, without taking into account the orientation of the virtual listener. For instance, assuming a four-point loudspeaker playback system, setting Reflections Pan to (0., 0., 0.7) means that the reflections are panned to the front speaker pair, whereas as setting of (0., 0., −0.7) pans the reflections towards the rear speakers. These vectors follow the a left-handed co-ordinate system, unlike OpenAL uses a right-handed co-ordinate system. If the magnitude of Reflections Pan is zero (the default setting), the early reflections come evenly from all directions. As the magnitude increases, the reflections become more focused in the direction pointed to by the vector. A magnitude of 1.0 would represent the extreme case, where all reflections come from a single direction.

      The vector should have a magnitude between 0 AND 1

      • MAX: [1.0f,1.0f,1.0f]
      • MIN: [-1.0f,-1.0f,-1.0f]
    • EAXREVERB_LATE_REVERB_PAN

      public float[] EAXREVERB_LATE_REVERB_PAN
      Controls the spatial distribution of the cluster of early reflections.

      The direction of this vector controls the global direction of the reflections, while its magnitude controls how focused the reflections are towards this direction. It is important to note that the direction of the vector is interpreted in the coordinate system of the user, without taking into account the orientation of the virtual listener. For instance, assuming a four-point loudspeaker playback system, setting Reflections Pan to (0., 0., 0.7) means that the reflections are panned to the front speaker pair, whereas as setting of (0., 0., −0.7) pans the reflections towards the rear speakers. These vectors follow the a left-handed co-ordinate system, unlike OpenAL uses a right-handed co-ordinate system. If the magnitude of Reflections Pan is zero (the default setting), the early reflections come evenly from all directions. As the magnitude increases, the reflections become more focused in the direction pointed to by the vector. A magnitude of 1.0 would represent the extreme case, where all reflections come from a single direction.

      The vector should have a magnitude between 0 AND 1

      • MAX: [1.0f,1.0f,1.0f]
      • MIN: [-1.0f,-1.0f,-1.0f]
  • Constructor Details

    • EAXReverbDef

      public EAXReverbDef()