|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.media.j3d.SceneGraphObject | +--javax.media.j3d.NodeComponent | +--javax.media.j3d.AuralAttributes
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
Reverberation Model
Reverberation Coeffient
Reverberation Delay
Reverberation Order
Distance Filter
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.
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
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 given VelocityScaleFactor. Values must be >= zero. If the scale factor value is zero is given, Doppler effect is not calculated or applied to sound.
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_DOPPLER_SCALE_FACTOR_READ
Deprecated. replaced with ALLOW_FREQUENCY_SCALE_FACTOR_READ |
static int |
ALLOW_DOPPLER_SCALE_FACTOR_WRITE
Deprecated. replaced with ALLOW_FREQUENCY_SCALE_FACTOR_WRITE |
static int |
ALLOW_DOPPLER_VELOCITY_READ
Deprecated. replaced with ALLOW_VELOCITY_SCALE_FACTOR_READ |
static int |
ALLOW_DOPPLER_VELOCITY_WRITE
Deprecated. replaced with ALLOW_VELOCITY_SCALE_FACTOR_WRITE |
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 a array of Point2f for the distanceFilter |
Method Summary | |
NodeComponent |
cloneNodeComponent()
Creates a new AuralAttributes object. |
void |
duplicateNodeComponent(NodeComponent originalNodeComponent)
Copies all node information from originalNodeComponent
into the current node. |
void |
duplicateNodeComponent(NodeComponent originalNodeComponent,
boolean duplicateRetained)
Copies all node information from originalNodeComponent
into the current node. |
float |
getAttributeGain()
Retrieve Attrribute 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 |
getDopplerScaleFactor()
Deprecated. replaced with getFrequencyScaleFactor |
float |
getDopplerVelocity()
Deprecated. replaced with getVelocityScaleFactor |
float |
getFrequencyScaleFactor()
Retrieve Frequency Scale Factor |
float |
getReflectionCoefficient()
Retrieve Reflective Coefficient |
float |
getReverbDelay()
Retrieve Revereration Delay Time |
int |
getReverbOrder()
Retrieve Reverberation Order of Reflections |
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 |
setDopplerScaleFactor(float frequencyScaleFactor)
Deprecated. replaced with setFrequencyScaleFactor |
void |
setDopplerVelocity(float velocityScaleFactor)
Deprecated. replaced with setVelocityScaleFactor |
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 |
setReverbDelay(Bounds reverbVolume)
Set Revereration Delay Time by defining the volume of bounds In this form the parameter implicitly defines the delay time between each order of reflection (while reverberation is being rendered) by specifying a reverberation bounds volume. |
void |
setReverbDelay(float reverbDelay)
Set Revereration Delay Time In this form the parameter specifies the delay time between each order of reflection (while reverberation is being rendered) explicitly given in milli- seconds. |
void |
setReverbOrder(int reverbOrder)
Set Reverberation Order of Reflections Its parameter specifies the number of times reflections are added to reverberation being calculated. |
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 |
getDuplicateOnCloneTree,
setDuplicateOnCloneTree |
Methods inherited from class javax.media.j3d.SceneGraphObject |
clearCapability,
duplicateSceneGraphObject,
getCapability,
getUserData,
isCompiled,
isLive,
setCapability,
setUserData |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
public static final int ALLOW_ATTRIBUTE_GAIN_READ
public static final int ALLOW_ATTRIBUTE_GAIN_WRITE
public static final int ALLOW_ROLLOFF_READ
public static final int ALLOW_ROLLOFF_WRITE
public static final int ALLOW_REFLECTION_COEFFICIENT_READ
public static final int ALLOW_REFLECTION_COEFFICIENT_WRITE
public static final int ALLOW_REVERB_DELAY_READ
public static final int ALLOW_REVERB_DELAY_WRITE
public static final int ALLOW_REVERB_ORDER_READ
public static final int ALLOW_REVERB_ORDER_WRITE
public static final int ALLOW_DISTANCE_FILTER_READ
public static final int ALLOW_DISTANCE_FILTER_WRITE
public static final int ALLOW_DOPPLER_SCALE_FACTOR_READ
public static final int ALLOW_FREQUENCY_SCALE_FACTOR_READ
public static final int ALLOW_DOPPLER_SCALE_FACTOR_WRITE
public static final int ALLOW_FREQUENCY_SCALE_FACTOR_WRITE
public static final int ALLOW_DOPPLER_VELOCITY_READ
public static final int ALLOW_VELOCITY_SCALE_FACTOR_READ
public static final int ALLOW_DOPPLER_VELOCITY_WRITE
public static final int ALLOW_VELOCITY_SCALE_FACTOR_WRITE
Constructor Detail |
public AuralAttributes()
public AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reverbDelay, int reverbOrder, Point2f[] distanceFilter, float frequencyScaleFactor, float velocityScaleFactor)
gain
- amplitude scale factorrolloff
- atmospheric (changing speed of sound) scale factorreflectionCoefficient
- reflection/absorption factor applied to reverbreverbDelay
- time between each order of reflectionreverbOrder
- number of times reflections added to reverb signaldistanceFilter
- frequency cutofffrequencyScaleFactor
- applied to change of pitchvelocityScaleFactor
- applied to velocity of sound in relation to listenerpublic AuralAttributes(float gain, float rolloff, float reflectionCoefficient, float reverbDelay, int reverbOrder, float[] distance, float[] frequencyCutoff, float frequencyScaleFactor, float velocityScaleFactor)
gain
- amplitude scale factorrolloff
- atmospheric (changing speed of sound) scale factorreflectionCoefficient
- reflection/absorption factor applied to reverbreverbDelay
- time between each order of reflectionreverbOrder
- number of times reflections added to reverb signalfrequencyCutoff
- distance filter frequency cutofffrequencyScaleFactor
- applied to velocity/wave-lengthvelocityScaleFactor
- applied to velocity of sound in relation to listenerMethod Detail |
public final void setAttributeGain(float gain)
gain
- scale factor applied to amplitudepublic final float getAttributeGain()
public final void setRolloff(float rolloff)
rolloff
- atmospheric gain scale factor (changing speed of sound)public final float getRolloff()
public final void setReflectionCoefficient(float coefficient)
coefficient
- reflection/absorption factor applied to reverbpublic final float getReflectionCoefficient()
public final void setReverbDelay(float reverbDelay)
reverbDelay
- time between each order of reflectionpublic final void setReverbDelay(Bounds reverbVolume)
reverbVolume
- bounds used to approximate reverb time.public final float getReverbDelay()
public final void setReverbOrder(int reverbOrder)
reverbOrder
- number of times reflections added to reverb signalpublic final int getReverbOrder()
public final void setDistanceFilter(Point2f[] attenuation)
attenuation
- array of pairs of distance and frequency cutoffpublic final void setDistanceFilter(float[] distance, float[] frequencyCutoff)
distance
- array of float distance with corresponding cutoff valuesfrequencyCutoff
- array of frequency cutoff values in Hertzpublic final int getDistanceFilterLength()
public final void getDistanceFilter(Point2f[] attenuation)
public final void getDistanceFilter(float[] distance, float[] frequencyCutoff)
distance
- arrayfrequency
- cutoff arraypublic final void setDopplerScaleFactor(float frequencyScaleFactor)
frequencyScaleFactor
- factor applied to change of frequencypublic final void setFrequencyScaleFactor(float frequencyScaleFactor)
frequencyScaleFactor
- factor applied to change of frequencypublic final float getDopplerScaleFactor()
public final float getFrequencyScaleFactor()
public final void setDopplerVelocity(float velocityScaleFactor)
velocityScaleFactor
- applied to velocity of sound in relation
to listenerpublic final void setVelocityScaleFactor(float velocityScaleFactor)
velocityScaleFactor
- applied to velocity of sound in relation
to listenerpublic final float getDopplerVelocity()
public final float getVelocityScaleFactor()
public NodeComponent cloneNodeComponent()
duplicateNode
method.Node.duplicateNode(javax.media.j3d.Node, boolean)
,
Node.cloneTree()
,
NodeComponent.setDuplicateOnCloneTree(boolean)
public void duplicateNodeComponent(NodeComponent originalNodeComponent)
originalNodeComponent
into the current node. This method is called from the
cloneNodeComponent
method which is, in turn, called by the
cloneNode
method.
For any NodeComponent objects
contained by the object being duplicated, each NodeComponent
object's duplicateOnCloneTree
value is used to determine
whether the NodeComponent should be duplicated in the new node
or if just a reference to the current node should be placed in the
new node. This flag can be overridden by setting the
forceDuplicate
parameter in the cloneTree
method to true
.
originalNodeComponent
- the original node to duplicate.forceDuplicate
- when set to true
, causes the
duplicateOnCloneTree
flag to be ignored. When
false
, the value of each node's
duplicateOnCloneTree
variable determines whether
NodeComponent data is duplicated or copied.Node.cloneTree()
,
Node.cloneNode(boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
public void duplicateNodeComponent(NodeComponent originalNodeComponent, boolean duplicateRetained)
originalNodeComponent
into the current node. This method is called from the
duplicateNode
method. This routine does
the actual duplication of all "local data" (any data defined in
this object). It then will duplicate the retained side of the
tree if this method was called from its own 2 parameter
duplicateNode
method. This is designate by setting the
duplicateRetained
flag to true
.
Without this flag a duplicateNode
method would not know
whether or not to duplicate the retained side of the object.originalNodeComponent
- the original node to duplicate.duplicateRetained
- set to true
when this
method is should initiate the duplicateRetained call. This
call walks up a nodes superclasses so it should only be called
once from the class of the original node.Node.cloneTree()
,
Node.cloneNode(boolean)
,
NodeComponent.duplicateNodeComponent(javax.media.j3d.NodeComponent)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |