OUTPUT uses so-called "bytebeat" algorithms as the foundation of its sound. It is a system for networked performers to improvise with these algorithms by freely changing bit depth, sampling rate, and parameter values. To enable relationships between algorithms and inject elements of human control, players can clone each other's settings, synchronize time variables, automate performed parameter changes, and control a range of standard audio environment elements.
Bytebeat music is produced by computing simple (often very short) formulas and treating the output values as samples within a digital audio stream. At the most basic level, these formulas have only one input variable that represents time, which increases by 1 for every desired sample of output. As the input time variable moves forward, the output produced at each time step is determined by the algorithm being used. In classic bytebeat music, the audio streams produced by these algorithms are fed to a digital/analog converter using a sampling rate of 8000Hz and bit depth of 8 (hence the name bytebeat). The technique produces audio signals with a surprising level of rhythmic, melodic, and timbral variation given the simplicity at its core.
To understand the basic technical process, consider the simplest possible algorithm, which consists of only the time variable "t". At the first time step, t = 0, and it increments by 1 at each subsequent step. When using a resolution of 8 bits, values for t will be interpreted within a range of 0 and 255 (an 8-bit number has 256 possible states). Input values of t that go beyond this range result in an output value that wraps back around to the minimum of 0. Thus, given an input t that starts at 0 and forever increments by 1, the resulting output over time will be a rising ramp that resets back to its low point each time it hits the maximum value of 255. As long as the repetition of this ramp occurs at an audible rate (20Hz or higher), we can listen to the signal and recognize it as a sawtooth waveform. This behavior can be changed by adding a mathematical operator and a constant value to the algorithm. For instance, t*2 multiplies the time variable by 2, which means that the high point of the ramp will be reached twice as quickly. In terms of the resulting signal, this has the effect of raising the frequency of the sawtooth wave by an octave. Adding several operators, constants, and other variables increases the complexity of the resulting sound dramatically and chaotically. To understand the eventual musical function of the variables p0, p1, ..., p9 in this algorithm:
((t>>p0)*(p1&(2291706249>>(t>>p2&30)))&255)+((((t>>p3|(t>>p4)|t>>8)p5+4(((t>>p6)&t>>p7)|t>>p8))&255)>>p9)
requires experimentation and practice, as some sonic features of the result are determined by the interaction of multiple parameters.