/*! \page multichannel Multi-Channel I/O
The ToolKit WvIn and WvOut classes (and their subclasses) support multi-channel audio data input and output. A set of interleaved audio samples representing a single time "slice" is referred to as a sample frame. At a sample rate of 44.1 kHz, a four-channel audio stream will have 44100 sample frames per second and a total of 176400 individual samples per second.
Most STK classes process single-sample data streams via their
tick() function. In order to distinguish single-sample and
sample frame calculations, the WvIn and WvOut classes implement both
tick() and tickFrame() functions. The
tickFrame() functions take or return a reference to an StkFrames object
representing one or more sample frames. For single-channel
streams, the tick() and tickFrame() functions
produce equivalent results. When tick() is called for a
multi-channel stream, however, the function either returns a sample
frame average (WvIn) or writes a single sample argument to all
channels (WvOut).
Multi-channel support for realtime audio input and output is dependent on the audio device(s) available on your system.
The following example demonstrates the use of the FileWvOut class for
creating a four channel, 16-bit AIFF formatted audio file. We will
use four sinewaves of different frequencies for the first two seconds
and then a single sinewave for the last two seconds.
\include foursine.cpp
[Main tutorial page] [Next tutorial]
*/