|
|||||||||
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
Auralization
In Java3D's simple model for auralization there are four parameters that approximate sound reflection and reverberation for a particular listening space:
Reflection Coefficient
Reverberation Delay
Reverberation Bounds
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.
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
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 | |
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 |
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_FREQUENCY_SCALE_FACTOR_READ
public static final int ALLOW_FREQUENCY_SCALE_FACTOR_WRITE
public static final int ALLOW_VELOCITY_SCALE_FACTOR_READ
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
- 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 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 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 listenerMethod Detail |
public void setAttributeGain(float gain)
gain
- scale factor applied to amplitude of direct and reflected soundpublic float getAttributeGain()
public void setRolloff(float rolloff)
rolloff
- atmospheric gain scale factor (changing speed of sound)public float getRolloff()
public void setReflectionCoefficient(float coefficient)
coefficient
- reflection/absorption factor applied to reflectionspublic float getReflectionCoefficient()
public void setReverbDelay(float reverbDelay)
reverbDelay
- delay time before start of reverberationpublic float getReverbDelay()
public void setReverbDelay(Bounds reverbVolume)
setReverbBounds(Bounds)
public void setReverbBounds(Bounds reverbVolume)
reverbVolume
- the bounding regionpublic Bounds getReverbBounds()
public void setReverbOrder(int reverbOrder)
reverbOrder
- limit to the number of times reflections added to reverb signalpublic int getReverbOrder()
public void setDistanceFilter(Point2f[] attenuation)
attenuation
- array of pairs of distance and frequency cutoffpublic void setDistanceFilter(float[] distance, float[] frequencyCutoff)
distance
- array of float distance with corresponding cutoff valuesfrequencyCutoff
- array of frequency cutoff values in Hertzpublic int getDistanceFilterLength()
public void getDistanceFilter(Point2f[] attenuation)
public void getDistanceFilter(float[] distance, float[] frequencyCutoff)
distance
- arrayfrequency
- cutoff arraypublic void setFrequencyScaleFactor(float frequencyScaleFactor)
frequencyScaleFactor
- factor applied to change of frequencypublic float getFrequencyScaleFactor()
public void setVelocityScaleFactor(float velocityScaleFactor)
velocityScaleFactor
- applied to velocity of sound in relation
to listenerpublic float getVelocityScaleFactor()
public NodeComponent cloneNodeComponent()
cloneNodeComponent(boolean forceDuplicate)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |