Directivity Extension¶
- to describe radiation pattern of virtual sound sources
- Orientation of entity (Yaw, Pitch, Roll) towards a listener (--> orientation is now handled in the core)
Review¶
Spatialisateur (aperture)¶
not written yet, see IRCAM_Spatialisateur
Space Unit Generator¶
Frequency independent source radiation pattern is defined through the back
parameter which sets the radiation gain between 0 and 1. in the opposite direction. The result is a radiation pattern in cardioid shape form.
ViMiC¶
The source directivity (azimuth) can be modeled through a frequency independent gain factor between 0 and 1. for each radiation angle to a 1º accuracy.
AudioTwist¶
not written yet
DIVA¶
not written yet
OpenAL¶
ability to simulate realistic directivity characteristics by either specifying parametric filtering associated to radiation angles, or triplets of angle, frequency and attenuation.
(Jean Marc Jot, "Scene Description Model and Rendering Engine for Interactive Virtual Acoustics", 120th AES Convention)
X3D Sound Node¶
- Inner ellipsoid defines a volume of space in which the maximum level of the sound is audible. Within this ellipsoid, the normalized sample data is scaled by the intensity field and there is no attenuation. The inner ellipsoid is defined by extending the direction vector through the location. The
minBack
andminFront
fields specify distances behind and in front of the location along the direction vector respectively. The inner ellipsoid has one of its foci at location (the second focus is implicit) and intersects the direction vector atminBack
andminFront
.
- Outer ellipsoid defines a volume of space that bounds the audibility of the sound. No sound can be heard outside of this outer ellipsoid. The outer ellipsoid is defined by extending the direction vector through the location. The
maxBack
andmaxFront
fields specify distances behind and in front of the location along the direction vector respectively. The outer ellipsoid has one of its foci at location (the second focus is implicit) and intersects the direction vector atmaxBack
andmaxFront
. - The
minFront
,maxFront
,minBack
, andmaxBack
fields are defined in local coordinates, and are ≥ zero. minBack
≤maxBack
minFront
≤maxFront
- Parameters are specified in the local coordinate system but the ellipsoids' geometry is affected by ancestors' transformations.
- Between the two ellipsoids, there shall be a linear attenuation ramp in loudness, from 0 dB at the minimum ellipsoid to -20 dB at the maximum ellipsoid: attenuation = -20 × (d' / d") (d' is the distance along the location-to-viewer vector, measured from the transformed minimum ellipsoid boundary to the viewer, and d" is the distance along the location-to-viewer vector from the transformed minimum ellipsoid boundary to the transformed maximum ellipsoid boundary)
Sound : X3DSoundNode { SFVec3f [in,out] direction 0 0 1 (-∞,∞) SFFloat [in,out] intensity 1 [0,1] SFVec3f [in,out] location 0 0 0 (-∞,∞) SFFloat [in,out] maxBack 10 [0,∞) SFFloat [in,out] maxFront 10 [0,∞) SFNode [in,out] metadata NULL [X3DMetadataObject] SFFloat [in,out] minBack 1 [0,∞) SFFloat [in,out] minFront 1 [0,∞) SFFloat [in,out] priority 0 [0,1] SFNode [in,out] source NULL [X3DSoundSourceNode] SFBool [] spatialize TRUE }
DirectX Audio / XACT AUDIO_CONE¶
- concentric cones
- at any angle outside the outer cone, the volume is attenuated. The outside cone volume level is expressed as a linear amplitude scaler: 1.0f represents no attenuation applied to the original signal, 0.5f denotes an attenuation of 6dB, and 0.0f results in silence. Amplification (volume > 1.0f) is also allowed and is not clamped. The valid volume range is actually 0.0f to 2.0f.
- Between the inner and outer cones is a zone of transition from the inside volume to the outside volume. The volume approaches the cone's outer volume as the angle increases.
- Cones can affect parameters other than volume. Low pass filter and reverb send level may also be affected. For example, with a cone on the listener, one can specify all sounds behind the listener get a bit muffled and have slightly higher reverb-to-direct ratio content.
API X3DAUDIO_CONE¶
Specifies directionality for a single-channel non-LFE emitter by scaling DSP behavior with respect to the emitter's orientation.
typedef struct X3DAUDIO_CONE { FLOAT32 InnerAngle; FLOAT32 OuterAngle; FLOAT32 InnerVolume; FLOAT32 OuterVolume; FLOAT32 InnerLPF; FLOAT32 OuterLPF; FLOAT32 InnerReverb; FLOAT32 OuterReverb; } X3DAUDIO_CONE, *LPX3DAUDIO_CONE;
Members
InnerAngle
: Inner cone angle in radians. This value must be within 0.0f to X3DAUDIO_2PI.OuterAngle
: Outer cone angle in radians. This value must be within InnerAngle to X3DAUDIO_2PI.InnerVolume
: Volume scaler on/within inner cone. This value must be within 0.0f to 2.0f.OuterVolume
: Volume scaler on/beyond outer cone. This value must be within 0.0f to 2.0f.InnerLPF
: LPF direct-path or reverb-path coefficient scaler on/within inner cone. This value is only used for LPF calculations and must be within 0.0f to 1.0f.OuterLPF
: LPF direct-path or reverb-path coefficient scaler on or beyond outer cone. This value is only used for LPF calculations and must be within 0.0f to 1.0f.InnerReverb
: Reverb send level scaler on or within inner cone. This must be within 0.0f to 2.0f.OuterReverb
: Reverb send level scaler on/beyond outer cone. This must be within 0.0f to 2.0f.
CATT SD0/SD1/SD2/SD3 format¶
- SD1 based on interpolation from measured 10º full space data:
- A reference direction is described as "front" and the spatial changes of the relative sound pressure level are specified along semicircle slices
- The data of each of these slices begin at the reference direction (0°) and are stated in 10° steps on an angle sector of 180°.
- This results in 19 level readings in dB noting that the first has to be 0 dB as reference point.
- 36 semicircle slices are to specify for spatial presentation. They all have to cut not only at the reference point "front", but also at the opposite point "back" showing the same level readings.
- The count direction of the 36 semicircle slices begins vertically above the sound source ("Top") and looking in reference direction continues counterclockwise by 10° steps (mathematically positive). [adapted from here]
- legacy format:
o SD0: based on interpolation from 15º horizontal and vertical polar diagrams - successor formats:
o SD2: supports loudspeaker array modeling and handles extended near-fields [more]
o SD3: 5º full space data optionally with phase
Common Loudspeaker File Format (CLF)¶
- Open file format to describe loudspeaker performance and polar data
- CLF is defined in two parts, a text-based format used for data input and editing, and a binary format for data distribution.
- Tools are available for data editing, conversion from text to binary format and viewing binary data.
- CLF 1.0 supports two data resolutions. A CLF Type 1 file contains Octave/10 degree data, a CLF Type 2 file contains Third Octave/5 degree data.
- Jukka Pätynen proposed a method to transfer directivity data from previously completed anechoic instrument recordings into CLF
o Pätynen J. (2009) Directivities of orchestra instruments for auralization, In Proc. of the EAA Symposium on Auralization, Espoo, Finland. 2009
OpenDAFF - Open Directional Audio File Format¶
- http://www.opendaff.org/
- data format for describing directivities of sound sources (e.g. loudspeakers, musical instruments) and sound receivers (e.g. microphones, head-related transfer functions, HRIRs/HRTFs)
- Matlab and C++ lib is under development