19.02.2013 Views

2010318163752818

2010318163752818

2010318163752818

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.8.5.4 Route statement<br />

-> route ( , ) ;<br />

-> , <br />

-> <br />

-> <br />

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

A route statement consists of a single identifier, which specifies a bus, and a sequence of one or more instrument<br />

names, which specify instruments. The route statement specifies that the instruments listed do not produce sound<br />

output directly, but instead their results are placed on the given bus. The output channels from the instruments<br />

listed each are placed on a separate channel of the bus. Multiple route statements onto the same bus indicate<br />

that the given instrument outputs shall be summed on the bus. Multiple route statements with differing numbers of<br />

channels referencing the same bus are illegal, unless each statement has either n channels or 1 channel. In this<br />

case, each of the one-channel route statements places the same signal on each channel of the bus, which is n<br />

channels wide.<br />

There shall be at least one instrument name in the instrument list (the NULL subclause in the grammar is provided<br />

so that constructions appearing later may use the same production).<br />

EXAMPLES<br />

Assume that instruments a, b, and c produce one, two, and three channels of output, respectively.<br />

1. The sequence<br />

route(bus1, a, b);<br />

route(bus1, c);<br />

is legal and specifies a three-channel bus. The first bus channel contains the sum of the output of a and the first<br />

channel of c; the second contains the sum of the first output channel of b and the second of c; and the third<br />

contains the sum of the second channel of b and the third channel of c.<br />

2. The sequence<br />

route(bus1,b);<br />

route(bus1,c);<br />

is illegal since the statements refer different numbers of channels to the same bus.<br />

3. The sequence<br />

route(bus1,a,c);<br />

route(bus1,a);<br />

route(bus1,b,b);<br />

is legal and specifies a four-channel bus. The first and third route statements each refer to four channels of audio,<br />

and the second refers to one channel, which will be mapped to each of the four channels.<br />

The resulting channel values are as follows, using array notation to indicate the channel outputs from each<br />

instrument:<br />

Table 5.1 — Example of calculating bus routing values<br />

Channel Value<br />

1 a + a + b[1]<br />

2 c[1] + a + b[2]<br />

3 c[2] + a + b[1]<br />

4 c[3] + a + b[2]<br />

© ISO/IEC 2005— All rights reserved 25

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

Saved successfully!

Ooh no, something went wrong!