k brown wrote:Many of Eno's 'generative music' concepts/systems could be thought of as forms of procedural generation, and there is nothing random about them.
Kevin, the point here is that there are two terms that describe a certain way of producing something.
"random generation" means, everything is created by rolling dice. This also means you have to prepare every little bit of what you want to have randomized (if can't be shuffled, if it doesn't exist)
"procedural generation" means, the program builds everything by itself. To do that it uses arithmetically generated noise patterns of specific types as a base input. It them creates, whatever is needed, on predefined rules rather than prepared assets.
Simple example.
If you were to draw walls, you could draw a dozen of differently colored and shaped walls, then roll the dice and take the wall that matches the random number. That's "random generation".
The other way is to draw a couple of bricks, define broad rules on how to build with bricks, then apply a noise map that controls how to build the wall based on set rules. Since noise maps are not random numbers but arithmetic rules, you get a very natural result, but with infinite variations. Which enables you to have walls of infinite length that don't look repetitive, without having to draw them by yourself. The program does it for you. It's the procedures (aka functions) you program, that gave this method its name. That's "procedural generation".
In case of a drum machine, the difference is very obvious. With "random generation" you get results that don't generate a drum beat, but just random noises. With "procedural generation" you get a natural sounding drum beat with infinite variations.
"generative music" is similar yet different, only loosely based on the concept of "procedural generation".