javax.media.j3d
Class AuralAttributes

java.lang.Object
  |
  +--javax.media.j3d.SceneGraphObject
        |
        +--javax.media.j3d.NodeComponent
              |
              +--javax.media.j3d.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

Attribute Gain Rolloff

Auralization

Distance Filter

Doppler Effect Model


Field Summary
static int ALLOW_ATTRIBUTE_GAIN_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's attribute gain scale factor information.
static int ALLOW_ATTRIBUTE_GAIN_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's attribute gain scale factor information.
static int ALLOW_DISTANCE_FILTER_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's frequency cutoff information.
static int ALLOW_DISTANCE_FILTER_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's frequency cutoff information.
static int ALLOW_FREQUENCY_SCALE_FACTOR_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's frequency scale factor information.
static int ALLOW_FREQUENCY_SCALE_FACTOR_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's frequency scale factor information.
static int ALLOW_REFLECTION_COEFFICIENT_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's reflection coefficient.
static int ALLOW_REFLECTION_COEFFICIENT_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's reflection coefficient.
static int ALLOW_REVERB_DELAY_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's reverberation delay information.
static int ALLOW_REVERB_DELAY_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's reverberation delay information.
static int ALLOW_REVERB_ORDER_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's reverb order (feedback loop) information.
static int ALLOW_REVERB_ORDER_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's reverb order (feedback loop) information.
static int ALLOW_ROLLOFF_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's atmospheric rolloff.
static int ALLOW_ROLLOFF_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's atmospheric rolloff.
static int ALLOW_VELOCITY_SCALE_FACTOR_READ
          For AuralAttributes component objects, specifies that this object allows the reading of it's velocity scale factor information.
static int ALLOW_VELOCITY_SCALE_FACTOR_WRITE
          For AuralAttributes component objects, specifies that this object allows the writing of it's velocity scale factor information.
 
Constructor Summary
AuralAttributes()
          Constructs and initializes a new AuralAttributes object using default 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, 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
 NodeComponent cloneNodeComponent()
          Deprecated. As of Java 3D version 1.2, replaced by cloneNodeComponent(boolean forceDuplicate)
 float getAttributeGain()
          Retrieve Attribute Gain (amplitude).
 void getDistanceFilter(float[] distance, float[] frequencyCutoff)
          Retrieve Distance Filter in separate distance and frequency cutoff arrays.
 void getDistanceFilter(Point2f[] attenuation)
          Retrieve Distance Filter as a single array containing distances and frequency cutoff.
 int getDistanceFilterLength()
          Retrieve Distance Filter array length.
 float getFrequencyScaleFactor()
          Retrieve Frequency Scale Factor.
 float getReflectionCoefficient()
          Retrieve Reflective Coefficient.
 Bounds getReverbBounds()
          Retrieve Reverberation Delay Bounds volume.
 float getReverbDelay()
          Retrieve Reverberation Delay Time.
 int getReverbOrder()
          Retrieve Reverberation Order
 float getRolloff()
          Retrieve Attribute Gain Rolloff.
 float getVelocityScaleFactor()
          Retrieve Velocity Scale Factor used to calculate Doppler Effect.
 void setAttributeGain(float gain)
          Set Attribute Gain (amplitude) scale factor.
 void setDistanceFilter(float[] distance, float[] frequencyCutoff)
          Set Distance Filter using separate arrays for distances and frequency cutoff.
 void setDistanceFilter(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 setReverbBounds(Bounds reverbVolume)
          Set Reverberation Bounds volume.
 void setReverbDelay(Bounds reverbVolume)
          Deprecated. As of Java 3D version 1.2, replaced by setReverbBounds(Bounds)
 void setReverbDelay(float reverbDelay)
          Set Reverberation Delay Time.
 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 javax.media.j3d.NodeComponent
cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, duplicateSceneGraphObject, getCapability, getUserData, isCompiled, isLive, setCapability, setUserData, updateNodeReferences
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.
Constructor Detail

AuralAttributes

public AuralAttributes()
Constructs and initializes a new AuralAttributes object using default parameters. The following default values are used:

AuralAttributes

public AuralAttributes(float gain,
                       float rolloff,
                       float reflectionCoefficient,
                       float reverbDelay,
                       int reverbOrder,
                       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
Method Detail

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.
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

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

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 calculuate the Reverb Delay Time and the Reverb Decay. 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.
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
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(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(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.
Returns:
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
frequency - 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