Information Technology Reference
In-Depth Information
Figure 5. Dynamic adjusting of analysis window size
To illustrate this approach, consider the Fanout
Composite which takes as input a slice and is build
from a list of MarSystems . The input Slice is shared
as input to all each internal MarSystem and their
outputs are stacked as observations in the output
Slice of the Fanout . For example a filterbank can
be easily implemented as a Fanout where each
filter is an internal component MarSystem . The
filterbank will take as input a Slice of N samples
by 1 observations and write to an output Slice of
N samples by M observations, where M is the
number of filters. Because the inner loops of Mar-
Systems iterate over both samples and observa-
tions if we connect the filterbank with a Normalize
MarSystem each row of samples corresponding
to a particular observation (each channel of the
filterbank) will be normalized accordingly. This
can be very handy in large filterbanks as the part
of the network after the filterbank does not need
to know how many filter outputs are produced.
This information is taken implicitly from the
number of observations. Figure 6 shows graphi-
cally how Slices are used in Fanout . The dotted
lines show the patching that is done implicitely
by the Fanout . The black arrows show the main
flow created implicitely by a Series Composite . In
constrast, in environments with explicit patching
such as Max/MSP each connection between the
filters of the filterbank and the input would have
to be created by the user. Figure 7 shows the dif-
ference between Implicit Patching (left) where the
dotted lines are created automatically from the
semantics of Composites, and Explicit Patching
(right) where each connection must be created
separately. Even though environments such as
Max/MSP or PD provide sub-patching, the burden
of internal patching is still on the user.
We conclude this section with a nontrivial
example illustrating the expressive power of
Implicit Patching . Figure 8 shows how a layer
of nodes in an Artificial Neural Network (ANN)
can be expressed using a Fanout . The input to the
layer (the output of the previous layer) consists of
4 number x 1 , x 2 , x 3 , x 4 . These 4 numbers (obser-
MarSystem*net=mng.create(“Series”,“net”);
net->addMarSystem(src);
net->addMarSystem(g);
net->addMarSystem(dest);
for(inti=1;i<1000;i++)
{
net->updctrl(“natural/inSamples”,i);
net->tick();
}
Figure 6. Fanout composite
Figure 7. Fanout composite with implicit patching
(left) and explicit patching (right)
Search WWH ::




Custom Search