bytebeat

bytebeat

sarigama

What is bytebeat?

Bytebeat output is fully defined by the input function. There are no pre-set instruments, samples or structures. Even slight changes in the input function produce significantly different output (as a hint, prime numbers generally result in less repetition).


Input function has a time index (t) and usually various bitwise and arithmetic operations. Input function is evaluated constantly and time index is incremented by one in each iteration. 


The simplest input function is "t", which produces numbers 1, 2, 3, ... and outputs a sawtooth wave audio. Sawtooth wave is generated because the result is wrapped to 8 bits (bytebeat): 0-255 remain unchanged, but 256 becomes 1, 356 becomes 101 and so on. 


Input function "t * 2" decreases the wavelength and produces a result one octave higher. Input function "t & 128" produces a square wave. Bitwise operators << and >> can be used for more interesting results. Input functions can be combined with bitwise operator "|" or even "&" and "^", for example "(t>>9) | (t>>13)".


Bytebeat Machine uses 'C -type syntax' and basic arithmetic operations, bitwise operations as well as comparisons are supported:

- arithmetic operations: +, -, *, /, %

- bitwise operations: <<, >>, &, |, ^

- comparison operations: <=, >=, ==, !=


Bytebeat was first introduced late 2011 in a blog post http://countercomplex.blogspot.com/2011/10/algorithmic-symphonies-from-one-line-of.html by 'viznut'. Online tools such as http://wurstcaptures.untergrund.net/music/ surfaced soon after, followed by a theoretical introduction http://countercomplex.blogspot.com/2011/10/some-deep-analysis-of-one-line-music.html and a paper http://arxiv.org/abs/1112.1368. Active community discussion and development in IRC and various forums (pouet.net) lasted a couple of months.


Report Page