The SEDRIS Data Representation Model
APPENDIX A - Classes
Sound Instance

Class Name: Sound Instance

Superclass - <SEDRIS Abstract Base>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class is a single case of the existence of a <Sound> instance within a given transmittal, including variations or specializations unique to that case. A <Sound Instance> instance can represent environmental audio, region-based audio, or spatialized audio:

  1. Environmental audio is audio that is non-localized and non-attenuated. It is constant over the entire environment represented by the transmittal. Environmental audio can be thought of as background sound. This type of audio has no <Location 3D> component, <Perimeter Data> component, or <Sound Volume> component and therefore cannot have a <Fade Range> component.
  2. Region-based audio is similar to environment audio, except that it is constant over a two-dimensional region (if it has a <Perimeter Data> component) or a three-dimensional region (if it has a <Sound Volume> component). Region-based audio is non-localized, but it may be attenuated to support fade out at the boundary of the region. (See examples for the <Perimeter Data> class and the <Sound Volume> class).
  3. Spatialized audio may be either two-dimensional or three-dimensional. The method of rendering spatialized audio is left to the consuming application. In this case, a <Location 3D> instance is associated with the <Sound Instance> instance, if spatialized audio is desired.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. A <Sound Instance> instance without any components specifies the constant sound of rainfall over the entire environment that is represented by the transmittal.

  2. Given a <Geometry Model Instance> instance representing a truck, a <Sound Instance> component of the <Geometry Model Instance> instance uses the <Location 3D> instance of the truck for the location of the sound of the truck.

  3. Given a <Geometry Model Instance> instance representing a fighter jet, a <Sound Instance> component of the <Geometry Model Instance> instance specifies a unique <Location 3D> instance for the audio in order to simulate propagation of sound delay (one hears the audio in a slightly different location than one sees the fighter jet).

  4. Create a two-stage sound effect for an engine. The stages are "engine crank" and "engine running". The application sets the <Sound Instance Control Link> components of both <Sound Instance> instances to "on" to start the sound, at which point the crank sound plays for 1.5 seconds, followed by the (looped) engine running sound. The engine running sound continues to play until the application sets the <Sound Instance Control Link> instance for the engine running sound to "off".

    1. The first <Sound> instance is instantiated by a <Sound Instance> instance with a <Time Interval> component from 0.0 to 1.5 seconds.
    2. The second <Sound> instance is a looped sound, and is instanced by a <Sound Instance> instance with a start delay (using the <Time Interval> instance of 1.5 seconds) and no end time.

FAQs

Can multiple sound effects be chained together?

Yes. The <Time Interval> component of <Sound Instance> can be used to daisy-chain multiple sound effects. In Example 3 (below) of an engine cranking, each of the sounds (i.e. engine crank and engine running) can be its own <Sound Instance>.

How are the components of a <Sound Instance> instance used to determine which type of audio it represents?

The components take precedence in the following manner for a <Sound Instance> instance S.

  1. If S has no <Location 3D> component, <Perimeter Data> component, or <Sound Volume> component, S represents environmental audio, and is non-localized and non-attenuated. Consequently, for this case, no <Fade Range> instance shall be present.

  2. If S has a <Location 3D> component, the <Location 3D> component takes precedence over any <Perimeter Data> component or <Sound Volume> component that may be present.

  3. If S has no <Location 3D> component, but does have a <Sound Volume> component, the <Sound Volume> component takes precedence over any <Perimeter Data> instance that may be present.

Constraints

Associated to (one-way)

Composed of (two-way)

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Boolean

active_sound_value;

7


Notes

Associated to Notes


Sound

The <Sound> instance represents the sound recording being instanced.

Composed of Notes


Fade_Range

The <Fade Range> component specifies the starting distance, relative to the sound source, at which a fade to off should begin and an ending distance, relative to the sound source, at which the fade to off should be complete.

The location of the sound source for the <Fade Range> component is determined by:

  1. the centre of the <Sound Volume> component of the <Sound Instance> instance,
  2. the centroid of the <Perimeter Data> component of the <Sound Instance> instance, or
  3. the spatial location for the sound.

NOTE  If no <Fade Range> component is present, no attenuation is to be performed, which implies instantaneous on / off transitions at the borders of the <Perimeter Data> component and <Sound Volume> component.


Location_3D

The <Location 3D> component specifies the location of the sound source for spatialized audio.


Perimeter_Data

The <Perimeter Data> component defines an area within which the <Sound> instance is to be active.


Sound_Instance_Control_Link

If a <Sound Instance> instance is subject to dynamic control (that is, if it can be turned on and off), it has a <Sound Instance Control Link> component to express that control mechanism.


Sound_Volume

The <Sound Volume> component defines a volume within which the <Sound> instance is to be active.

Fields Notes

active_sound_value

The active_sound_value specifies the default / active state of the given <Sound> instance, where SE_TRUE indicates on and SE_FALSE indicates off. For a <Sound Instance> instance with a <Sound Instance Control Link> component X, the value of the active_sound_value field is obtained from X.


Prev: Sound. Next: Sound Instance Control Link. Up:Index.