Class AuralAttributes


public class AuralAttributes extends NodeComponent
The AuralAttributes object is a component object of a Soundscape node that defines environmental audio parameters that affect sound rendering. These attributes include gain scale factor, atmospheric rolloff, and parameters controlling reverberation, distance frequency filtering, and velocity-based Doppler effect.

Attribute Gain

    Scale factor applied to all sound's amplitude active within this region. This factor attenuates both direct and reflected/reverbered amplitudes. Valid values are >= 0.0

Attribute Gain Rolloff

    Rolloff scale factor is used to model atmospheric changes from normal speed of sound. The base value, 0.344 meters/millisecond is used to approximate the speed of sound through air at room temperature, is multipled by this scale factor whenever the speed of sound is applied during spatialization calculations. Valid values are >= 0.0. Values > 1.0 increase the speed of sound, while values < 1.0 decrease its speed. A value of zero makes sound silent (but it continues to play).

Auralization

    Auralization is the environmental modeling of sound iteratively reflecting off the surfaces of the bounded region the listener is in. Auralization components include early, distinct, low-order reflections and later, dense, higher-order reflections referred to as reverberation. These reflections are attenuated relative to the direct, unreflected sound. The difference in gain between direct and reflected sound gives the listener a sense of the surface material and the relative distance of the sound. The delay between the start of the direct sound and start of reverberation (as detected by the listener), as well as the length of time reverberation is audible as it exponentially decays, give the listener a sense of the size of the listening space.

    In Java3D's model for auralization there are several parameters that approximate sound reflection and reverberation for a particular listening space:

      Reflection Coefficient
        Gain attenuation of the initial reflections across all frequencies.
      (Early) Reflection Delay
        The time it takes for the first low-order reflected sound to reach the listener.
      Reverb Coefficient
        Gain attenuation of the late reflections (referred to as 'reverb') across all frequencies.
      Reverb Delay
        The time it takes for reverbered sound to reach the listener.
      Decay Time
        Describes the reverb decay curve by defining the length of time reverb takes to decay to effective zero.
      Decay Filter
        High-frequencies of the late reverberation can be attenuated at a different rate.
      Density
        Modal density (spectral coloration) of reverberation.
      Diffusion
        Echo dispersement of reverberation.
      Reverb Bounds
        Approximates the volume of the listening space. If specified, it defines the reverberation delay.
      Reverb Order
        Optionally limits the amount of times during reverb calculation that a sound is recursively reflected off the bounding region.

    Reflection Coefficient

      The reflection coefficient is an amplitude scale factor used to approximate the average reflective or absorptive characteristics for early reflections of the composite surfaces in the region the listener is in. This scale factor is applied to the sound's amplitude regardless of the sound's position. The range of valid values is 0.0 to 1.0. A value of 1.0 denotes that reflections are unattenuated - the amplitude of reflected sound waves are not decreased. A value of 0.0 represents full absorption of reflections by the surfaces in the listening space (no reflections occur thus reverberation is disabled).

    Reflection Delay

      The early reflection delay time (in milliseconds) can be explicitly set. Well-defined values are floats > 0.0. A value of 0.0 results in reverberation being added as soon as possible after the sound begins.

    Reverberation Coefficient

      The reverb coefficient is an amplitude scale factor used to approximate the average reflective or absorptive characteristics of late reflections. A value of 0.0 represents full absorption of reflections by the surfaces in the listening space (no reflections occur thus reverberation is disabled).

    Reverberation Delay

      The reverb delay time (in milliseconds) is set either explicitly, or implicitly by supplying a reverb bounds volume (from which the delay time can be calculated). Well-defined values are floats > 0.0. A value of 0.0 results in reverberation being added as soon as possible after the sound begins. Reverb delay, as calculated from non- null reverb bounds, takes precedence over explicitly set delay time.

    Reverberation Bounds

      The reverb bounding region defines the overall size of space that reverberation is calculated for. This optional bounds does not have to be the same as the application region of the Soundscape node referencing this AuralAttributes object. If this bounding region is specified then reverb decay and delay are internally calculated from this bounds.

    Reverberation Order

      The reverb order is a hint that can be used during reverberation to limit the number of late reflections required in calculation of reverb decay. All positive values can be interpreted during reverb rendering as the maximum order of reflections to be calculated. A non-positive value signifies that no limit is placed on the order of reflections calculated during reverberation rendering. In the case where reverb order is not limited, reverb decay is defined strictly by the Reverberation Decay Time parameter.

    Decay Time

      The reverberation decay time explicitly defines the length of time in milliseconds it takes for the amplitude of late reflections to exponentally decrease to effective zero. In the case where reverb delay is set non-positive the renderer will perform the shortest reverberation decay possible. If ReverbOrder is set, this parameter is clamped by the reverb time calculated as time = reverb Delay * reverb Order. If ReverbOrder is 0, the decay time parameter is not clamped.

    Decay Filter

      The reverberation decay filter defines how frequencies above a given value are attenuated by the listening space. This allows for modelling materials on surfaces that absorb high frequencies at a faster rate than low frequencies.

    Reverberation Diffusion

      The reverberation diffusion explicitly defines echo dispersement (sometimes refered to as echo density). The value for diffusion is proportional to the number of echos per second heard in late reverberation, especially noticable at the tail of the reverberation decay. The greater the diffusion the more 'natural' the reverberation decay sounds. Reducing diffusion makes the decay sound hollow as produced in a small highly reflecive space (such as a bathroom).

    Reverberation Density

      The reverberation density explicitly defines modal reverb density The value for this modal density is proportional to the number of resonances heard in late reverberation perceived as spectral coloration. The greater the density, the smoother, less grainy the later reverberation decay.

Distance Filter

    This parameter specifies a (distance, filter) attenuation pairs array. If this is not set, no distance filtering is performed (equivalent to using a distance filter of Sound.NO_FILTER for all distances). Currently, this filter is a low-pass cutoff frequency. This array of pairs defines a piece-wise linear slope for range of values. This attenuation array is similar to the PointSound node's distanceAttenuation pair array, except paired with distances in this list are frequency values. Using these pairs, distance-based low-pass frequency filtering can be applied during sound rendering. Distances, specified in the local coordinate system in meters, must be > 0. Frequencies (in Hz) must be > 0.

    If the distance from the listener to the sound source is less than the first distance in the array, the first filter is applied to the sound source. This creates a spherical region around the listener within which a sound is uniformly attenuated by the first filter in the array. If the distance from the listener to the sound source is greater than the last distance in the array, the last filter is applied to the sound source.

    Distance elements in these array of pairs is a monotonically-increasing set of floating point numbers measured from the location of the sound source. FrequencyCutoff elements in this list of pairs can be any positive float. While for most applications this list of values will usually be monotonically-decreasing, they do not have to be.

    The getDistanceFilterLength method returns the length of the distance filter arrays. Arrays passed into getDistanceFilter methods should all be at least this size.

Doppler Effect Model

    Doppler effect can be used to create a greater sense of movement of sound sources, and can help reduce front-back localization errors. The frequency of sound waves emanating from the source are raised or lowered based on the speed of the source in relation to the listener, and several AuralAttribute parameters.

    The FrequencyScaleFactor can be used to increase or reduce the change of frequency associated with normal Doppler calculation, or to shift the pitch of the sound directly if Doppler effect is disabled. Values must be > zero for sounds to be heard. If the value is zero, sounds affected by this AuralAttribute object are paused.

    To simulate Doppler effect, the relative velocity (change in distance in the local coordinate system between the sound source and the listener over time, in meters per second) is calculated. This calculated velocity is multipled by the given VelocityScaleFactor. Values must be >= zero. If is a scale factor value of zero is given, Doppler effect is not calculated or applied to sound.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's attribute gain scale factor information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's attribute gain scale factor information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reverb decay filter information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reverb decay filter information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reverb decay time information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reverb decay time information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reverb density information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reverb density information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reverb diffusion information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reverb diffusion information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's frequency cutoff information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's frequency cutoff information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's frequency scale factor information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's frequency scale factor information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reflection coefficient.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reflection coefficient.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reflection delay information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reflection delay information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reverb coefficient.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reverb coefficient.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reverberation delay information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reverberation delay information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's reverb order (feedback loop) information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's reverb order (feedback loop) information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's atmospheric rolloff.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's atmospheric rolloff.
    static final int
    For AuralAttributes component objects, specifies that this object allows the reading of it's velocity scale factor information.
    static final int
    For AuralAttributes component objects, specifies that this object allows the writing of it's velocity scale factor information.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs and initializes a new AuralAttributes object using default parameters.
    AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reflectionDelay, float reverbCoefficient, float reverbDelay, float decayTime, float decayFilter, float diffusion, float density, float[] distance, float[] frequencyCutoff, float frequencyScaleFactor, float velocityScaleFactor)
    Constructs and initializes a new AuralAttributes object using specified parameters with separate float arrays for components of distanceFilter and full reverb parameters.
    AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reverbDelay, int reverbOrder, float[] distance, float[] frequencyCutoff, float frequencyScaleFactor, float velocityScaleFactor)
    Constructs and initializes a new AuralAttributes object using specified parameters with separate float arrays for components of distanceFilter.
    AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reverbDelay, int reverbOrder, javax.vecmath.Point2f[] distanceFilter, float frequencyScaleFactor, float velocityScaleFactor)
    Constructs and initializes a new AuralAttributes object using specified parameters including an array of Point2f for the distanceFilter.
  • Method Summary

    Modifier and Type
    Method
    Description
    Deprecated.
    As of Java 3D version 1.2, replaced by cloneNodeComponent(boolean forceDuplicate)
    float
    Retrieve Attribute Gain (amplitude).
    float
    Retrieve Decay Filter.
    float
    Retrieve Decay Time.
    float
    Retrieve Density.
    float
    Retrieve Diffusion.
    void
    getDistanceFilter(float[] distance, float[] frequencyCutoff)
    Retrieve Distance Filter in separate distance and frequency cutoff arrays.
    void
    getDistanceFilter(javax.vecmath.Point2f[] attenuation)
    Retrieve Distance Filter as a single array containing distances and frequency cutoff.
    int
    Retrieve Distance Filter array length.
    float
    Retrieve Frequency Scale Factor.
    float
    Retrieve Reflective Coefficient.
    float
    Retrieve Reflection Delay Time.
    Retrieve Reverberation Delay Bounds volume.
    float
    Retrieve Reverb Coefficient.
    float
    Retrieve Reverberation Delay Time.
    int
    Retrieve Reverberation Order
    float
    Retrieve Attribute Gain Rolloff.
    float
    Retrieve Velocity Scale Factor used to calculate Doppler Effect.
    void
    setAttributeGain(float gain)
    Set Attribute Gain (amplitude) scale factor.
    void
    setDecayFilter(float frequencyCutoff)
    Set Decay Filter In this form, reverberation decay filtering is defined as a low-pass filter, starting at the given reference frequency.
    void
    setDecayTime(float decayTime)
    Set Decay Time Length of time from the start of late reflections reverberation volume takes to decay to effective zero (-60 dB of initial signal amplitude).
    void
    setDensity(float ratio)
    Set Density.
    void
    setDiffusion(float ratio)
    Set Diffusion.
    void
    setDistanceFilter(float[] distance, float[] frequencyCutoff)
    Set Distance Filter using separate arrays for distances and frequency cutoff.
    void
    setDistanceFilter(javax.vecmath.Point2f[] attenuation)
    Set Distance Filter using a single array containing distances and frequency cutoff as pairs of values as a single array of Point2f.
    void
    setFrequencyScaleFactor(float frequencyScaleFactor)
    This parameter specifies a scale factor applied to the frequency of sound during rendering playback.
    void
    setReflectionCoefficient(float coefficient)
    Set Reflective Coefficient.
    void
    setReflectionDelay(float reflectionDelay)
    Set early Refection Delay Time.
    void
    setReverbBounds(Bounds reverbVolume)
    Set Reverberation Bounds volume.
    void
    setReverbCoefficient(float coefficient)
    Set Reverb Coefficient.
    void
    setReverbDelay(float reverbDelay)
    Set Reverberation Delay Time.
    void
    setReverbDelay(Bounds reverbVolume)
    Deprecated.
    As of Java 3D version 1.2, replaced by setReverbBounds(Bounds)
    void
    setReverbOrder(int reverbOrder)
    Set Reverberation Order This parameter limits the number of times reflections are added to the reverberation being rendered.
    void
    setRolloff(float rolloff)
    Set Attribute Gain Rolloff.
    void
    setVelocityScaleFactor(float velocityScaleFactor)
    Set Velocity scale factor applied during Doppler Effect calculation.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • ALLOW_ATTRIBUTE_GAIN_READ

      public static final int ALLOW_ATTRIBUTE_GAIN_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's attribute gain scale factor information.
      See Also:
    • ALLOW_ATTRIBUTE_GAIN_WRITE

      public static final int ALLOW_ATTRIBUTE_GAIN_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's attribute gain scale factor information.
      See Also:
    • ALLOW_ROLLOFF_READ

      public static final int ALLOW_ROLLOFF_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's atmospheric rolloff.
      See Also:
    • ALLOW_ROLLOFF_WRITE

      public static final int ALLOW_ROLLOFF_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's atmospheric rolloff.
      See Also:
    • ALLOW_REFLECTION_COEFFICIENT_READ

      public static final int ALLOW_REFLECTION_COEFFICIENT_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reflection coefficient.
      See Also:
    • ALLOW_REFLECTION_COEFFICIENT_WRITE

      public static final int ALLOW_REFLECTION_COEFFICIENT_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reflection coefficient.
      See Also:
    • ALLOW_REFLECTION_DELAY_READ

      public static final int ALLOW_REFLECTION_DELAY_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reflection delay information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_REFLECTION_DELAY_WRITE

      public static final int ALLOW_REFLECTION_DELAY_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reflection delay information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_REVERB_COEFFICIENT_READ

      public static final int ALLOW_REVERB_COEFFICIENT_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reverb coefficient.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_REVERB_COEFFICIENT_WRITE

      public static final int ALLOW_REVERB_COEFFICIENT_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reverb coefficient.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_REVERB_DELAY_READ

      public static final int ALLOW_REVERB_DELAY_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reverberation delay information.
      See Also:
    • ALLOW_REVERB_DELAY_WRITE

      public static final int ALLOW_REVERB_DELAY_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reverberation delay information.
      See Also:
    • ALLOW_REVERB_ORDER_READ

      public static final int ALLOW_REVERB_ORDER_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reverb order (feedback loop) information.
      See Also:
    • ALLOW_REVERB_ORDER_WRITE

      public static final int ALLOW_REVERB_ORDER_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reverb order (feedback loop) information.
      See Also:
    • ALLOW_DECAY_TIME_READ

      public static final int ALLOW_DECAY_TIME_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reverb decay time information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DECAY_TIME_WRITE

      public static final int ALLOW_DECAY_TIME_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reverb decay time information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DECAY_FILTER_READ

      public static final int ALLOW_DECAY_FILTER_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reverb decay filter information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DECAY_FILTER_WRITE

      public static final int ALLOW_DECAY_FILTER_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reverb decay filter information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DIFFUSION_READ

      public static final int ALLOW_DIFFUSION_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reverb diffusion information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DIFFUSION_WRITE

      public static final int ALLOW_DIFFUSION_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reverb diffusion information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DENSITY_READ

      public static final int ALLOW_DENSITY_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's reverb density information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DENSITY_WRITE

      public static final int ALLOW_DENSITY_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's reverb density information.
      Since:
      Java 3D 1.3
      See Also:
    • ALLOW_DISTANCE_FILTER_READ

      public static final int ALLOW_DISTANCE_FILTER_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's frequency cutoff information.
      See Also:
    • ALLOW_DISTANCE_FILTER_WRITE

      public static final int ALLOW_DISTANCE_FILTER_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's frequency cutoff information.
      See Also:
    • ALLOW_FREQUENCY_SCALE_FACTOR_READ

      public static final int ALLOW_FREQUENCY_SCALE_FACTOR_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's frequency scale factor information.
      See Also:
    • ALLOW_FREQUENCY_SCALE_FACTOR_WRITE

      public static final int ALLOW_FREQUENCY_SCALE_FACTOR_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's frequency scale factor information.
      See Also:
    • ALLOW_VELOCITY_SCALE_FACTOR_READ

      public static final int ALLOW_VELOCITY_SCALE_FACTOR_READ
      For AuralAttributes component objects, specifies that this object allows the reading of it's velocity scale factor information.
      See Also:
    • ALLOW_VELOCITY_SCALE_FACTOR_WRITE

      public static final int ALLOW_VELOCITY_SCALE_FACTOR_WRITE
      For AuralAttributes component objects, specifies that this object allows the writing of it's velocity scale factor information.
      See Also:
  • Constructor Details

    • AuralAttributes

      public AuralAttributes()
      Constructs and initializes a new AuralAttributes object using default parameters. The following default values are used:
        attribute gain: 1.0
        rolloff: 1.0
        reflection coeff: 0.0
        reflection delay: 20.0
        reverb coeff: 1.0
        reverb delay: 40.0
        decay time: 1000.0
        decay filter: 5000.0<> diffusion: 1.0
        density: 1.0
        reverb bounds: null
        reverb order: 0
        distance filtering: null (no filtering performed)
        frequency scale factor: 1.0
        velocity scale factor: 0.0
    • AuralAttributes

      public AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reverbDelay, int reverbOrder, javax.vecmath.Point2f[] distanceFilter, float frequencyScaleFactor, float velocityScaleFactor)
      Constructs and initializes a new AuralAttributes object using specified parameters including an array of Point2f for the distanceFilter.
      Parameters:
      gain - amplitude scale factor
      rolloff - atmospheric (changing speed of sound) scale factor
      reflectionCoefficient - reflective/absorptive factor applied to reflections
      reverbDelay - delay time before start of reverberation
      reverbOrder - limit to number of reflections added to reverb signal
      distanceFilter - frequency cutoff
      frequencyScaleFactor - applied to change of pitch
      velocityScaleFactor - applied to velocity of sound in relation to listener
    • AuralAttributes

      public AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reverbDelay, int reverbOrder, float[] distance, float[] frequencyCutoff, float frequencyScaleFactor, float velocityScaleFactor)
      Constructs and initializes a new AuralAttributes object using specified parameters with separate float arrays for components of distanceFilter.
      Parameters:
      gain - amplitude scale factor
      rolloff - atmospheric (changing speed of sound) scale factor
      reflectionCoefficient - reflection/absorption factor applied to reflections
      reverbDelay - delay time before start of reverberation
      reverbOrder - limit to number of reflections added to reverb signal
      distance - filter frequency cutoff distances
      frequencyCutoff - distance filter frequency cutoff
      frequencyScaleFactor - applied to velocity/wave-length
      velocityScaleFactor - applied to velocity of sound in relation to listener
    • AuralAttributes

      public AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reflectionDelay, float reverbCoefficient, float reverbDelay, float decayTime, float decayFilter, float diffusion, float density, float[] distance, float[] frequencyCutoff, float frequencyScaleFactor, float velocityScaleFactor)
      Constructs and initializes a new AuralAttributes object using specified parameters with separate float arrays for components of distanceFilter and full reverb parameters.
      Parameters:
      gain - amplitude scale factor
      rolloff - atmospheric (changing speed of sound) scale factor
      reflectionCoefficient - factor applied to early reflections
      reflectionDelay - delay time before start of early reflections
      reverbCoefficient - factor applied to late reflections
      reverbDelay - delay time before start of late reverberation
      decayTime - time (in milliseconds) reverb takes to decay to -60bD
      decayFilter - reverb decay filter frequency cutoff
      diffusion - percentage of echo dispersement between min and max
      density - percentage of modal density between min and max
      distance - filter frequency cutoff distances
      frequencyCutoff - distance filter frequency cutoff
      frequencyScaleFactor - applied to velocity/wave-length
      velocityScaleFactor - applied to velocity of sound in relation to listener
      Since:
      Java 3D 1.3
  • Method Details

    • setAttributeGain

      public void setAttributeGain(float gain)
      Set Attribute Gain (amplitude) scale factor.
      Parameters:
      gain - scale factor applied to amplitude of direct and reflected sound
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getAttributeGain

      public float getAttributeGain()
      Retrieve Attribute Gain (amplitude).
      Returns:
      gain amplitude scale factor
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setRolloff

      public void setRolloff(float rolloff)
      Set Attribute Gain Rolloff.
      Parameters:
      rolloff - atmospheric gain scale factor (changing speed of sound)
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getRolloff

      public float getRolloff()
      Retrieve Attribute Gain Rolloff.
      Returns:
      rolloff atmospheric gain scale factor (changing speed of sound)
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setReflectionCoefficient

      public void setReflectionCoefficient(float coefficient)
      Set Reflective Coefficient. Scales the amplitude of the early reflections of reverberated sounds
      Parameters:
      coefficient - reflection/absorption factor applied to reflections
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getReflectionCoefficient

      public float getReflectionCoefficient()
      Retrieve Reflective Coefficient.
      Returns:
      reflection coeff reflection/absorption factor
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setReflectionDelay

      public void setReflectionDelay(float reflectionDelay)
      Set early Refection Delay Time. In this form, the parameter specifies the time between the start of the direct, unreflected sound and the start of first order early reflections. In this method, this time is explicitly given in milliseconds.
      Parameters:
      reflectionDelay - delay time before start of reverberation
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • getReflectionDelay

      public float getReflectionDelay()
      Retrieve Reflection Delay Time.
      Returns:
      reflection delay time
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • setReverbCoefficient

      public void setReverbCoefficient(float coefficient)
      Set Reverb Coefficient. Scale the amplitude of the late reflections including the decaying tail of reverberated sound.
      Parameters:
      coefficient - reflective/absorptive factor applied to late reflections
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • getReverbCoefficient

      public float getReverbCoefficient()
      Retrieve Reverb Coefficient.
      Returns:
      late reflection coeff. reflection/absorption factor
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • setReverbDelay

      public void setReverbDelay(float reverbDelay)
      Set Reverberation Delay Time. In this form, the parameter specifies the time between the start of the direct, unreflected sound and the start of reverberation. In this method, this time is explicitly given in milliseconds.
      Parameters:
      reverbDelay - delay time before start of reverberation
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getReverbDelay

      public float getReverbDelay()
      Retrieve Reverberation Delay Time.
      Returns:
      reverb delay time
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setDecayTime

      public void setDecayTime(float decayTime)
      Set Decay Time Length of time from the start of late reflections reverberation volume takes to decay to effective zero (-60 dB of initial signal amplitude).
      Parameters:
      decayTime - of late reflections (reverb) in milliseconds
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • getDecayTime

      public float getDecayTime()
      Retrieve Decay Time.
      Returns:
      reverb decay time
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • setDecayFilter

      public void setDecayFilter(float frequencyCutoff)
      Set Decay Filter In this form, reverberation decay filtering is defined as a low-pass filter, starting at the given reference frequency. This allows for higher frequencies to be attenuated at a different (typically faster) rate than lower frequencies.
      Parameters:
      frequencyCutoff - of reverberation decay low-pass filter
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • getDecayFilter

      public float getDecayFilter()
      Retrieve Decay Filter.
      Returns:
      reverb decay filter cutoff frequency
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • setDiffusion

      public void setDiffusion(float ratio)
      Set Diffusion. Sets the echo dispersement of reverberation to an amount between the minimum (0.0) to the maximum (1.0) available. Changing this increases/decreases the 'smoothness' of reverb decay.
      Parameters:
      ratio - reverberation echo dispersement factor
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • getDiffusion

      public float getDiffusion()
      Retrieve Diffusion.
      Returns:
      reverb diffusion ratio
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • setDensity

      public void setDensity(float ratio)
      Set Density. Sets the density of reverberation to an amount between the minimum (0.0) to the maximum (1.0) available. Changing this effects the spectral coloration (timbre) of late reflections.
      Parameters:
      ratio - reverberation modal density factor
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • getDensity

      public float getDensity()
      Retrieve Density.
      Returns:
      reverb density
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.3
    • setReverbDelay

      public void setReverbDelay(Bounds reverbVolume)
      Deprecated.
      As of Java 3D version 1.2, replaced by setReverbBounds(Bounds)
    • setReverbBounds

      public void setReverbBounds(Bounds reverbVolume)
      Set Reverberation Bounds volume. In this form, the reverberation bounds volume parameter is used to calculate the reverberation Delay and Decay times. Specification of a non-null bounding volume causes the explicit values given for Reverb Delay and Decay to be overridden by the implicit values calculated from these bounds. ALLOW_REVERB_DELAY_WRITE flag used setting capability of this method.
      Parameters:
      reverbVolume - the bounding region
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.2
    • getReverbBounds

      public Bounds getReverbBounds()
      Retrieve Reverberation Delay Bounds volume.
      Returns:
      reverb bounds volume that defines the Reverberation space and indirectly the delay/decay ALLOW_REVERB_DELAY_READ flag used setting capability of this method.
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      Since:
      Java 3D 1.2
    • setReverbOrder

      public void setReverbOrder(int reverbOrder)
      Set Reverberation Order This parameter limits the number of times reflections are added to the reverberation being rendered. A non-positive value specifies an unbounded number of reflections.
      Parameters:
      reverbOrder - limit to the number of times reflections added to reverb signal
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getReverbOrder

      public int getReverbOrder()
      Retrieve Reverberation Order
      Returns:
      reverb order
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setDistanceFilter

      public void setDistanceFilter(javax.vecmath.Point2f[] attenuation)
      Set Distance Filter using a single array containing distances and frequency cutoff as pairs of values as a single array of Point2f.
      Parameters:
      attenuation - array of pairs of distance and frequency cutoff
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setDistanceFilter

      public void setDistanceFilter(float[] distance, float[] frequencyCutoff)
      Set Distance Filter using separate arrays for distances and frequency cutoff. The distance and frequencyCutoff arrays should be of the same length. If the frequencyCutoff array length is greater than the distance array length, the frequencyCutoff array elements beyond the length of the distance array are ignored. If the frequencyCutoff array is shorter than the distance array, the last frequencyCutoff array value is repeated to fill an array of length equal to distance array.
      Parameters:
      distance - array of float distance with corresponding cutoff values
      frequencyCutoff - array of frequency cutoff values in Hertz
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getDistanceFilterLength

      public int getDistanceFilterLength()
      Retrieve Distance Filter array length.
      Returns:
      attenuation array length
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getDistanceFilter

      public void getDistanceFilter(javax.vecmath.Point2f[] attenuation)
      Retrieve Distance Filter as a single array containing distances and frequency cutoff. The distance filter is copied into the specified array. The array must be large enough to hold all of the points. The individual array elements must be allocated by the caller.
      Parameters:
      attenuation - array of pairs of distance and frequency cutoff values
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getDistanceFilter

      public void getDistanceFilter(float[] distance, float[] frequencyCutoff)
      Retrieve Distance Filter in separate distance and frequency cutoff arrays. The arrays must be large enough to hold all of the distance and frequency cutoff values.
      Parameters:
      distance - array
      frequencyCutoff - cutoff array
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setFrequencyScaleFactor

      public void setFrequencyScaleFactor(float frequencyScaleFactor)
      This parameter specifies a scale factor applied to the frequency of sound during rendering playback. If the Doppler effect is disabled, this scale factor can be used to increase or decrease the original pitch of the sound. During rendering, this scale factor expands or contracts the usual frequency shift applied to the sound source due to Doppler calculations. Valid values are >= 0.0. A value of zero causes playing sounds to pause.
      Parameters:
      frequencyScaleFactor - factor applied to change of frequency
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getFrequencyScaleFactor

      public float getFrequencyScaleFactor()
      Retrieve Frequency Scale Factor.
      Returns:
      scaleFactor factor applied to change of frequency
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • setVelocityScaleFactor

      public void setVelocityScaleFactor(float velocityScaleFactor)
      Set Velocity scale factor applied during Doppler Effect calculation. This parameter specifies a scale factor applied to the velocity of the sound relative to the listener's position and movement in relation to the sound's position and movement. This scale factor is multipled by the calculated velocity portion of the Doppler effect equation used during sound rendering. A value of zero disables Doppler calculations.
      Parameters:
      velocityScaleFactor - applied to velocity of sound in relation to listener
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • getVelocityScaleFactor

      public float getVelocityScaleFactor()
      Retrieve Velocity Scale Factor used to calculate Doppler Effect.
      Returns:
      scale factor applied to Doppler velocity of sound
      Throws:
      CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
    • cloneNodeComponent

      public NodeComponent cloneNodeComponent()
      Deprecated.
      As of Java 3D version 1.2, replaced by cloneNodeComponent(boolean forceDuplicate)
      Overrides:
      cloneNodeComponent in class NodeComponent