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
-
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 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_DECAY_FILTER_READ
For AuralAttributes component objects, specifies that this object allows the reading of it's reverb decay filter information.static int
ALLOW_DECAY_FILTER_WRITE
For AuralAttributes component objects, specifies that this object allows the writing of it's reverb decay filter information.static int
ALLOW_DECAY_TIME_READ
For AuralAttributes component objects, specifies that this object allows the reading of it's reverb decay time information.static int
ALLOW_DECAY_TIME_WRITE
For AuralAttributes component objects, specifies that this object allows the writing of it's reverb decay time information.static int
ALLOW_DENSITY_READ
For AuralAttributes component objects, specifies that this object allows the reading of it's reverb density information.static int
ALLOW_DENSITY_WRITE
For AuralAttributes component objects, specifies that this object allows the writing of it's reverb density information.static int
ALLOW_DIFFUSION_READ
For AuralAttributes component objects, specifies that this object allows the reading of it's reverb diffusion information.static int
ALLOW_DIFFUSION_WRITE
For AuralAttributes component objects, specifies that this object allows the writing of it's reverb diffusion 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_REFLECTION_DELAY_READ
For AuralAttributes component objects, specifies that this object allows the reading of it's reflection delay information.static int
ALLOW_REFLECTION_DELAY_WRITE
For AuralAttributes component objects, specifies that this object allows the writing of it's reflection delay information.static int
ALLOW_REVERB_COEFFICIENT_READ
For AuralAttributes component objects, specifies that this object allows the reading of it's reverb coefficient.static int
ALLOW_REVERB_COEFFICIENT_WRITE
For AuralAttributes component objects, specifies that this object allows the writing of it's reverb 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
Constructors Constructor Description AuralAttributes()
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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description NodeComponent
cloneNodeComponent()
Deprecated.As of Java 3D version 1.2, replaced bycloneNodeComponent(boolean forceDuplicate)
float
getAttributeGain()
Retrieve Attribute Gain (amplitude).float
getDecayFilter()
Retrieve Decay Filter.float
getDecayTime()
Retrieve Decay Time.float
getDensity()
Retrieve Density.float
getDiffusion()
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
getDistanceFilterLength()
Retrieve Distance Filter array length.float
getFrequencyScaleFactor()
Retrieve Frequency Scale Factor.float
getReflectionCoefficient()
Retrieve Reflective Coefficient.float
getReflectionDelay()
Retrieve Reflection Delay Time.Bounds
getReverbBounds()
Retrieve Reverberation Delay Bounds volume.float
getReverbCoefficient()
Retrieve Reverb Coefficient.float
getReverbDelay()
Retrieve Reverberation Delay Time.int
getReverbOrder()
Retrieve Reverberation Orderfloat
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
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 bysetReverbBounds(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 javax.media.j3d.NodeComponent
cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
-
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
-
-
-
-
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.- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
-
Constructor Detail
-
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 factorrolloff
- atmospheric (changing speed of sound) scale factorreflectionCoefficient
- reflective/absorptive factor applied to reflectionsreverbDelay
- delay time before start of reverberationreverbOrder
- limit to number of reflections added to reverb signaldistanceFilter
- frequency cutofffrequencyScaleFactor
- applied to change of pitchvelocityScaleFactor
- 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 factorrolloff
- atmospheric (changing speed of sound) scale factorreflectionCoefficient
- reflection/absorption factor applied to reflectionsreverbDelay
- delay time before start of reverberationreverbOrder
- limit to number of reflections added to reverb signaldistance
- filter frequency cutoff distancesfrequencyCutoff
- distance filter frequency cutofffrequencyScaleFactor
- applied to velocity/wave-lengthvelocityScaleFactor
- 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 factorrolloff
- atmospheric (changing speed of sound) scale factorreflectionCoefficient
- factor applied to early reflectionsreflectionDelay
- delay time before start of early reflectionsreverbCoefficient
- factor applied to late reflectionsreverbDelay
- delay time before start of late reverberationdecayTime
- time (in milliseconds) reverb takes to decay to -60bDdecayFilter
- reverb decay filter frequency cutoffdiffusion
- percentage of echo dispersement between min and maxdensity
- percentage of modal density between min and maxdistance
- filter frequency cutoff distancesfrequencyCutoff
- distance filter frequency cutofffrequencyScaleFactor
- applied to velocity/wave-lengthvelocityScaleFactor
- applied to velocity of sound in relation to listener- Since:
- Java 3D 1.3
-
-
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. 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 bysetReverbBounds(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 valuesfrequencyCutoff
- 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
- arrayfrequencyCutoff
- 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 bycloneNodeComponent(boolean forceDuplicate)
- Overrides:
cloneNodeComponent
in classNodeComponent
-
-