19.02.2013 Views

2010318163752818

2010318163752818

2010318163752818

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ISO/IEC 14496-3:2005(E)<br />

5.15.3.4 AudioFX orchestra execution<br />

The run-time synthesis process proceeds according to the rules cited in subclause 5.7.3.3 for a standard SA<br />

decoding process, with the following exceptions and additions:<br />

As no access units will be received by an AudioFX process, no communication with the systems layer need be<br />

maintained for this purpose. The only events used are those that are in the score field of the node itself. At each<br />

time step, the AudioFX orchestra shall request from the systems layer the input audio buffers that correspond to<br />

the child nodes. These audio buffers shall be placed on the special bus input_bus and then sent to whatever<br />

instruments are specified in the global orchestra header.<br />

Also, at each control-rate step, the params[] fields of the AudioFX node shall be copied into the global params[]<br />

array of the orchestra. These fields are exposed in the scene graph so that interactive aspects of other parts of the<br />

scene graph may be used to control the orchestra. At the end of each control cycle, the params[] array values<br />

shall be copied back into the corresponding fields of the AudioFX node and then routed to other nodes as<br />

specified within the scene graph. (It is not possible to give a more semantically meaningful field name than<br />

params since the purpose of the field may vary greatly from application to application, depending on the needs of<br />

the content).<br />

At every point in time, the output of the orchestra becomes the output of the AudioFX node.<br />

5.15.3.5 Speed change functionality in the AudioFX node<br />

Speed change functionality for sounds provided from the input sources is supported in the AudioFX node. The<br />

SAOL core opcode fx_speedc is provided for this purpose; see subclause 5.9.14.4.<br />

5.15.4 Interactive 3-D spatial audio scenes<br />

When an AudioSource or AudioFX node is the child of a Sound node, the spatial location, direction, and<br />

propagation pattern of the sound subtree represented at the position of the Sound node, and the spatial location<br />

and direction of the listener, are provided to the SAOL code in the node. In this way, subtle spatial effects such as<br />

source directivity modelling may be written in SAOL.<br />

The standard names position, direction, listenerPosition, listenerDirection, minFront, maxFront, minBack,<br />

and maxBack (see subclauses 5.8.6.8.18-5.8.6.8.25) are used for this purpose.<br />

It is not recommended that content providing 3-D spatial audio in the context of audio-visual virtual reality<br />

applications in BIFS use the spatialize statement within SAOL to provide this functionality. In most terminals, the<br />

scene-composition 3-D audio functionality will be able to use more information about the interaction process to<br />

provide the best-quality audio rendering. In particular, spatial positioning and source directivity are implemented at<br />

the end terminal with a sophistication suitable for the terminal itself (see ISO/IEC 14496-1, Sound node<br />

specification, subclause 9.4.2.82). Content authors can use SAOL and the AudioFX node to create enhanced<br />

spatial effects that include reverberation, environmental attributes and complex attenuation functions, and then let<br />

the terminal-level spatial audio presentation be used to interface with the available rendering method for the<br />

terminal. The spatialize statement in SAOL is provided for the creation of non-interactive spatial audio effects in<br />

musical compositions, so that composers may tightly integrate the spatial presentation with other aspects of the<br />

musical material.<br />

120<br />

© ISO/IEC 2005— All rights reserved

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!