Platonic Music Engine logo

Heraclitus release

Here we are again. This is an exciting release. On one hand I didn't get the one thing done I really wanted to but on the other hand I added a lot of unplanned Style Algorithms that venture far outside of what I've done before.

Style Algorithms

I created a new category of Style Algorithms: Art. The PME now creates art works in several styles including Piet Mondrian's geometric works that he is famous for; Malevich's Suprematism style that isn't quite as famous but involves very simple geometric shapes painted black, red or white; and our own version of Allais's humorous monograph consisting of paintings each all of one color with funny titles and a silent piece of music.

The Allais one is our first example of an SA that combines more than one existing Style Algorithm. It also uses its own text generating algorithm to come up with names for all the paintings.

We now also have two ways of generating Texts. One is based on John Cage's mesostics for which we already have a musical version of. This will take any source text you supply (or that is built in) and generate poems based on a spine you choose. It has three different styles of printing out the poetry. We also have an SA that generates poems based on Gertrude Stein's poetry. Or at least a cheap imitation of a small aspect of her writings, that of homophony and repetition.

There is another new category, that of Divination. Here we have Style Algorithms for Tarot cards (two decks and many different spreads), the I Ching (three different methods of generating a hexagram), and for tossing runes. None of these are intended to actually tell you your future but are more about the aesthetic possibilities.

And then finally there's the Gaming category. Right now we just have one Style Algorithm and it generates a character sheet for playing Dungeons & Dragons. Like everything else it's not particularly useful (maybe for NPCs?) but more about something fun?

Lilypond

The big thing for Lilypond is that I think we've finally fixed a long-standing bug concerning octave placement of certain notes when using a few very exotic tunings. Before we had a complicated method of calculating the pitch and octave commands needed for Lilypond. Now we just have big tables of audio frequencies with corresponding Lilypond notes. It just works.

This new approach also makes it possible to add different approaches to notes like ones calibrated to just intonation or whatever else we want. Currently we have one for standard Western 12-EDO tuning and one for a non-enharmonic 48 pitches per octave tuning.

We can add lyrics easily to Lilypond output. I had this working before but it fell into a state of disrepair. It works again.

Misc

I've improved the command line options which gives us tremendous flexibility. This, along with a massive reorganization, paves the way for future changes to take this online and make it user friendly.

Style Algorithms were cleaned up all over the place and made more consistent. The directory structure was redone to make the top-level cleaner and easier to navigate.

Future

The big thing I didn't get done is getting chords to work in Lilypond. This is still a priority. It's been an issue for a long time and I need to get it done.

I think we might get one program that we run and that then calls whatever Style Algorithms you want. It will probably have a terminal interface since I still can't figure out how to get a gui working in Lua. That sucks but I think this work will make it easier to translate to an online version of the PME when the time comes.

Another priority is allowing the user to use scales that repeat at places other than the octave. It will probable necessitate rewriting a big section of our pre-parsing functions but it will be worth it for this fairly basic bit of functionality.

And of course more Style Algorithms. The infrastructure feels like it's getting pretty close to being nailed down. At least as an API which means we can focus more on an interface and Style Algorithms and not worry as much about having to update them all the time as thing change underneath.

Copyright 2015 David Bellows

Colophon