This post continues the discussion yesterday regarding directed evolution of MSG presets using the Evolution Editor. We’ll be taking a look at Add mutation in this post. The MSG preset effect above was created by using Add mutation in the Evolution Editor to evolve yesterday’s MSG preset into a new effect.
The Add button is located in the top toolbar of the Evolution Editor. When pressed it mutates the MSG presets associated with the Evolution Editor preview cells by randomly adding a new MSG processor to their internal processor chains. Add evolution can change the resulting MSG effect as well as increases the potential complexity of the effect due to the addition of another processor.
The screen shot gallery below shows the progression of the directed evolution session I used to generate the MSG effect at the top of this post. The first image shows the starting preset in the MSG Advanced Editor, which was the MSG preset we created in yesterday’s post. I clicked on the preview image to populate the Evolution Editor preview cells with parameter mutated variations of yesterdays preset (as seen in the second gallery image).
I then pressed the Add button in the toolbar at the top of the Evolution Editor. A random MSG processor was added to each MSG preset associated with the Evolution Editor preview cells. The random processor is placed at a random position in each preset’s internal processor chain. The Add mutate command tries to be smart about hooking up the IO connections for the new randomly inserted processor.
I then clicked on the preview cell effect I liked the best to propagate parameter mutated variations of the clicked effect into all of the preview cells (as seen in the third gallery image). I ran another Add mutate cycle by again clicking on the Add button, and then clicking on the preview effect I liked the best.
The 4th gallery image shows the MSG Advanced Editor after the second cycle of clicking on the Add mutated preview preset I liked the best. Because I pressed the Add button twice over the course of my directed evolution session so far, there are 2 additional processor in the processor chain editor as opposed to what was there when we started in the first gallery image. Note that a new ICompressor_C process was added at the end of the processor chain, and a 1Sketch3 processor was added in the second processor position.
I still wasn’t satisfied with my new processing effect, so I wanted to do one more cycle of Add mutation. This time I shift clicked the Add button at the top of the Evolution Editor. Shift clicking the Add button mutates the preview cells by adding a random meta edit as opposed to a single processor. MSG Meta Edits are prebuilt editing commands that add one of more MSG processors to a presets processor chain editor to add some kind of effect. We briefly covered meta edits and the associated commands in a previous post on MSG Help Commands.
After shift clicking the Add button in the Evolution Editor, I then clicked the preview effect I liked the best, which caused a parameter mutated variation of that effect to be distributed to all of the preview cells (as shown in the 5th gallery image). The processor chain for the new MSG effect is shown in the last gallery image. Note that 2 processors were added in this cycle, since meta edits can be composed of more than one processor to build their associated effect. The meta edit mutation I ended up liking the best introduced a symmetry warp into the final MSG preset.
There’s an art to working with Add mutation. You don’t want to do it too much or you’ll end up with a very complicated effect with a large number of MSG processors. Option clicking the Add button will mutate by randomly removing a processor, so you can alway use this to reduce effect complexity.
The Add evolution code tries to be smart about the kind of IO connections it makes when adding or removing random processors. But it doesn’t always make the best decisions. If you are comfortable with more detailed editing of MSG presets using the MSG Advanced Editor, it’s sometimes worth checking the IO connections when working with Add mutation, since a little manual editing adjustment to the IO routing might improve the visual appearance of the mutated effects if the Add code made a less than optimal automatic IO connection decision.