mirror of
https://github.com/thestk/stk
synced 2026-01-11 20:11:52 +00:00
28 lines
1.6 KiB
Plaintext
28 lines
1.6 KiB
Plaintext
/*! \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 <I>sample frame</I>. 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
|
|
<TT>tick()</TT> function. In order to distinguish single-sample and
|
|
sample frame calculations, the WvIn and WvOut classes implement both
|
|
<TT>tick()</TT> and <TT>tickFrame()</TT> functions. The
|
|
<TT>tickFrame()</TT> functions take or return a reference to an StkFrames object
|
|
representing one or more sample frames. For single-channel
|
|
streams, the <TT>tick()</TT> and <TT>tickFrame()</TT> functions
|
|
produce equivalent results. When <TT>tick()</TT> 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
|
|
|
|
[<A HREF="tutorial.html">Main tutorial page</A>] [<A HREF="polyvoices.html">Next tutorial</A>]
|
|
*/
|