I’ve just finished documenting the information on the Algorithmic Generator, which generates sound out of short lines of code!

The Algorithmic Generator has been in my “must try” list ever since I came across the article Algorithmic symphonies from one line of code, by Viznut; there, he describes his amazement at finding a 9-minute music structure generated from 23 bits of code (watch it here), and his subsequent efforts to find, understand, and spread the word on other “musical one-liners”, eventually giving rise to the ByteBeat genre.

The principle behind the generator is simple: it takes the results of a formula straight to the module’s output. The challenge is finding interesting formulas, and if you take a look at the literature, you’ll see that they look like (often) long series of bit-wise operations, with lots of >>, &, and such, plus a multiplication or two. I don’t think anyone has written a recipe (I mean Theory) book yet, so the easiest and fastest way to see what works is simply by trying and tweaking formulas in an online editor.

Precisely because the formulas are often long and contain multiplications, I was concerned that the ATtiny inside miniMO wouldn’t be able to process them fast enough to get good results. A simple copy-paste of the “traditional” formulas is indeed a hit-or-miss experience, but it is not difficult to find original formulas that produce good results. Furthermore, inspired by this machine, I decided to give control over a few parameters in the formulas, which also took some experimenting to find. Believe me, there’s a huge field here waiting to be explored! 😀

Finally, I decided to name the program “Algorithm Generator” instead of “ByteBeat Generator” because ByteBeat, to me at least, relates to the output of a subset of algorithms, and doesn’t really describe everything the program can do. For instance, while I was discussing a noise generator in the forum, I thought of adding the noise algorithm to the program; not only it works, but you can directly control the parameters in the formula, producing a whole new set of sounds from it.