/ Topics / Channel

ChucK . ChucK Live
Asset-based, Nonlinear Workflow
On Graphs and Code . Authoring Musical Notes
Player . Instrument . NoteStream . TimeKeeper
Channels, Effects . Control Signals
Audio I/O . MIDI Input . VST3 Plugins

Wherein we convey the means by which audio signals travel through ChucK.

Channels are responsible for routing sounds toward the ultimate destination of the ears of the audience. In ChucK, final sound can be routed to sound files and/or to your computer speakers. dac (Digital-to-Analog Converter) is a special global object that represents the route to the computer speakers.

The above image shows how the output of a channel can be routed to the input of another channel resulting in channel groups (actually, channel networks). Each channel object has a parameter, ToDAC, that automates the connection between inlet and dac. In this case, only the Group0 channel has ToDAC activated so it can play the role of master in determining the stereo mix and audio amplitude.

At right we see the dual views for editing channel values. Above right, you can see the concise channel view that packs crucial channel settings, Gain, Pan, and Mute/Solo, into a small mixing-board-like interface. Below right, we see the standard parameter view of a single channel. As stated elsewhere, values of these parameters can be controlled procedurally. In this case, the sliders and numbers will periodically update (and setting values manually will be soon be overridden by values produced in your program).

In any event, tweaking Gain and Pan values during composition development is a pretty handy tool supported by virtually all DAWs. In the programmable setting of ChucK, there are some unusual twists and caveats, but these features are important to the goals and implementation of the Fiddle Runtime.

Effects Chains

One other important (and neat) note about Channels: they can hold stereo effects chains. Alt-Double-clicking a Channel node reveals its internals. The inverse operation, popping up to the parent graph is accomplished by double-clicking on an empty area or by employing this context menu:

You can intercept the audio signal and route it to effects like Reverb, Echo, Chorus, etc. You can also control the wet/dry mix for the effects chain and temporarily bypass the effects to debug your setup. Here are some simple examples.

Effects chain for Chan0

The key take-away points:

Effects chain for Chan1

home .. topics .. interface .. reference .. examples .. tipjar