The idea of “channels” has a long history, and started with LivePRO and our WinAmp plugin. Our WinAmp plugin generated frequency analysis, and was then fed into LivePRO. Following this, we introduced a specialized application for FFT audio analysis, and realtime audio-in processing. The communication models were common for both applications. The isolation of applications created a foundation for the model, where one side supplies the data, and the second side takes the data between them (i.e. a buffer), offering an array of values. Because of the similarity with DMX, this system earned the nickname “Channels” and it has been used ever since.
A Channel is an abstract area between the place that supplies the data and the place that receives the data. As a fundamental rule, we think about this as a two step model between the sender and the receiver.
Within BEYOND, we call this Inputs, and it is commonly used within Effects. A more universal model, is to think of it as a Sender – Buffer – Receiver. You can create a fixed construction Buffer+Receiver, and leave the rights to change this are given to the Sender.
For example, it is easy to make an effect for audio-in, that will resize the frame depending on bass frequency. But what if there is no music? You could change the effect and then create two sets of effects, but Channels provides a nice alternative to this, and we highly encourage you to give this feature a try.
Our original model was pretty simple. Basically a simple array of Channel values, with common access from the sender and receiver. In BEYOND, this system has undergone a few modifications, and we’ve added Physics, Mixer and Time/Channel mix for the Effects side.
The Channels toolbar contains buttons for the Channel Settings dialog and mixer sliders. Manual control of the Channel values is available using the sliders. NOTE, that above the slider there is a panel that visualizes the real channel state. If the slider there has a Physics filter, or if the slider value is mixed with audio, than the final Channel values will be different.
Sliders do not follow the channel values. First, the slider is one of the components that decides a channel’s value. Second, as soon as audio comes and the channels start to jump left and right, and you cannot catch the slider’s handle. Because of this, BEYOND has separated the slider status indicators from the sliders themselves.
|Name||User defined name|
|Color||Color used for sliders|
|Enable Physics||Enables the mass-spring filter|
|Mass, Attraction, Friction||Parameters of the mass-spring filter|
|Enable DMX Blending||Enables the use of DMX -IN channel values within the Channel|
|DMX Channel||The Channel number|
|Enable Audio FFT Frequency blending||Enables the use of FFT values within the Channel|
|Freq. Index||Index of the bar in the Audio-In panel, that provides an index of the frequencies|
The Audio analyzer is directly embedded into BEYOND (a bit different from the way we had this configured in LivePRO). Channels also have sliders now, and can work for manual-style control. For external control, we’ve also added DMX. In addition to this, you can mix values together, rather than having to go back and forth.
The Channel tab has three sliders, one for Channel, one for DMX and one for FFT. BEYOND uses an automatic gain correction for these sliders as well. If one slider has 100% and the others 0%, than only one of the sources will have action. If two sliders are used, and both have a 100% value, then BEYOND will take half from the first, and the remaining half from the second. Using these sliders, you can mix the values or simply block a channel’s activity all together.
This is an important feature that can help you during live shows. As a rule, BEYOND Effects are based on time, either the Clock or Metronome. In both cases this is a time based action. An Effect can use a Channel, and in this case, the action based on that channel only (i.e. a channel uses audio in FFT).
BEYOND also has a master slider that mixes time based motion and channel based motion. This slider allows you to quickly switch between the Time and Channel based control, and create a mix between the two also.
Channel value can be set by using the following command:
ChannelOut ChanIndex, ChanValue
To get the channel value into the script, use the function Channel().
More information on this functionality is available within the PangoScript guide.