Generating Procedural Art Using Directed Evolution



My favorite way to work with Studio Artist's MSG (modular synthesized graphics) capabilities is to create procedural artwork using directed evolution. By procedural i mean that the actual imagery in the artwork is created mathematically from the internal processing in the MSG preset. As opposed to being based on a literal representation from a digital photo or something hand drawn by an artist.

Each MSG preset consists of a collection of individual MSG processors. A MSG processor may generate an image from scratch, or it may process one or more images with some kind of image processing algorithm. So by stringing together different MSG processors in the Processor Chain Editor you can build up an infinite variety of different modular image processing effects. MSG processors are configured in a linear list as opposed to a topological graph like some other modular systems. The literal analogy would be individual effect modules on a mixer bus for those of you with an audio background.

What's nice about directed evolution is that you can create an artistic effect by just clicking on individual examples you like in a collection of MSG presets and evolve a new set of mutated variations off of the particular effect you clicked on. The Evolution Editor is where the user configurable set of MSG presets you will be evolving are stored.


Clicking on a specific MSG preset (one of the small previews) in the Evolution Editor will generate a new set of previews that are mutations of the preview you clicked on. By doing this over time you are directing the evolution of a new unique MSG preset. This is a way for non technical users to create sophisticated effects and imagery without needing to have any real understanding of what is happening technically under the hood in the signal flow of the resulting MSG preset.

The new Help Browser in Studio Artist version 4 also has a large set of interactive command links you can click on to run various evolution commands on the collection of MSG presets in the Evolution Editor. For example, the Mutate command generates variations based on mutating the individual editable parameters in the MSG preset's processors. The Swap command generates variations by randomly swapping in different MSG processors to replace existing ones in the preset. As you might anticipate, a swap tends to create a more radical change in appearance of the resulting effect or abstract image generated by the MSG preset.


One evolve command i tend to use a lot is the AutoEvolve Random Presets command. What this does is choose a set of random presets from your preset collection and then randomly evolve them with things like parameter mutations, processor swaps, or meta edits. Meta Edits can be the addition of prebuilt effects that consist of 1 or more MSG processors or pre-configured standard edits. An example of a prebuilt effect addition would be adding a 3D lighting effect to an existing preset. An example of a pre-configured standard edit might be converting a color gradient mapped effect into a color palette mapped effect.

Once you have generated something interesting using directed evolution, you can always do more specific detailed edits in the MSG Advanced Editor. You can adjust the individual editable parameters associated with a particular MSG processor, or reroute the IO connections for the processor. Each MSG processor has one or more IO connections. IO stands for input-output. Input Streams come into the processor, are processed in some way by the processor, and then one or more processed Streams are output. Each MSG presets has a collection of Streams on a Bus that can be accessed for IO connections. An individual Stream can be something like an image channel or a color gradient or a color palette.

Detailed editing of a MSG preset in the advanced editor requires some technical understanding of the overall MSG architecture. What's great about directed evolution is that you can ignore all of that underlying complexity and just focus on selecting presets you like and evolving new mutated versions of them. Even if you are a technical wizard what you will find is that directed evolution has the powerful ability to create imagery and processing effects that never would have occurred to you, or which might be so complicated internally that you couldn't have built them from scratch anyway.

An example of the individual processors that compose a specific MSG preset in the Processor Chain Editor in the MSG Advanced Editor palette.

In Studio Artist 3.5 you needed to use the MSG Evolver application to edit or evolve new MSG presets. Version 4 of Studio Artist has most of the old MSG Evolver functionality built directly into it, so there's no need to go to a separate application to perform MSG edits. This is nice because it's easy to work with multiple layers of MSG effects, or to further process a rendered MSG image in the paint synthesizer or the image processing section of Studio Artist while you are working to build up your final artistic image.

Synthetik is working to finish up the release of version 4 of Studio Artist, which runs native on windows as well as intel and PPC macs. We'll be posting more version 4 feature previews here in anticipation of the upcoming release.

Labels: , ,