Procedural Generation | Computer Graphics | Math

Tonight was a happier night for mGen. I'm in the process of making those changes of which I spoke in the last entry. But today I focused more on EvoSpeak than anything. I've got to stop writing a half-functional plugin and then leaving it in the dust. I think EvoSpeak has a lot of potential and I need to finish it.

Training is already well-implemented in EvoSpeak and several species are coming along nicely. I already have several simple languages as well. As I mentioned earlier, it's amazing how much the language variations change the output. It's the difference between listening to English and Chinese being spoken. As far as analysis goes, the species now do zeroeth-order Markov (at all levels), multivariable zeroeth-order Markov comparing rhythm and melody (starting at level 3), zeroeth-order Markov with beat relation, which gives the analysis a spacial/time dimension (starting at level 3), and first-order Markov (starting at level 5). The analysis takes a very long time, much more than I'd like it to take. But I'm sure I'll be able to optimize it further in the future. Right now my most advanced species, Vlad, is taking about a minute-and-a-half to level up; he's at level 11 right now and has to sift through over 200 samples during the analysis.

At any rate, I finally built the backend of EvoSpeak, meaning it now functions as a plugin instead of just a configuration utility for a nonexistent plugin. The backend isn't dynamic yet so the species makes a pattern and sticks to it for the entire composition, but it's a proof-of-concept kind of thing.

And my first results with EvoSpeak as a real plugin? Very impressive. I used Arpy, my most coherent species, to generate the sample. Although Arpy is only level 3, his language is built to be an arpeggiation language, so it's very coherent and produces extremely nice results. It was very fulfilling.

When airframe gets going and starts handling the new part system, we might be looking at the possibility of another 'Sample #3' (the sample that mGen composed completely autonomously a few months ago that almost had me in tears, as I recounted in an entry).