Piano concerto



This is a program which will generate 3 midi files, using a few parameters. The three files encode the three movements of the concerto: These may be played in any order, although the order above seems best to me. What you hear are the 9 channels of the midi player, which sound quite bad on my computer. So this is basically conceptual art, as I cannot really control orchestration. Whatever comes out may be, if not beautiful, interesting as an automatic serial, thematic composition. The reason it exists is hidden in the mists of time... I make no claims about its pianistic or orchestral value, and if you don't like the result, try some other parameters.

The analysis, partly musical and partly algorithmic, follows.



Analysis





Note by note composition – details

Here is a schematic of the basic step of adding one note to the current score. One may take the pitch class of that note as given – assuming that we are in the middle of a given linear aspect with a given transposition.

Conceptually, it does not matter if the composition is automated or not. Practically, I am limited by the 9 voices of the music chip, and by the basic decision to use shorties (e.g. no duration below 1/16, and all durations multiples of 1/16). Then the situation is neatly represented as a table:

The white cells are all rests. The gray and red area shows all the notes already in the score. In red is the current note (last entered: it lasts 3 shorties and starts at shorty 7, voice 4). The green area is where the new note may enter; its right boundary is not defined, but its left boundary is clear: it can start at shorty 7 , or later.

The bordered region is a possible choice: voice 6, starts at shorty 8, lasts 5 shorties. Once this choice has been made, the note may be modified:

allowing repetitions, rests, subdivision of shorties and possibly different octaves, e.g.:


( with the shorty a dotted quarter ).

Now, the question arises: how exactly do I make the choice 'voice 6, starts at shorty 8, lasts 5 shorties'? Exactly is the operative word for automatic composition, because the program must be told what to do, without ambiguity. Of course, the choice may be random. But if I want some structure, or, if you prefer, organic development? I cannot implement – even if I wanted to – "the music should express yearning for Harriet Smithson" or "the music should express joy/despair at Napoleon's victory". So what is left?

One can require that the new notes must be consonant with some pre-existing notes. Consonant according to arbitrary rules of harmony, pre-existing notes a thorough bass, or some notes which appeared earlier in the score.

Here the blue cells represent the pre-existing counterpoint. It may be that "next" enters on shorty 8, because it is dissonant with some grey, red or blue notes on shorty 7, and ends on shorty 12 because it is dissonant with some blue notes on shorty 13. Presumably the "next note" is consonant with the blue, grey and red notes on shorties 8 to 12.

The procedure will reduce the arbitrariness (very little arbitrariness in dodecaphony), and connect sections among themselves. But, apart from this contrapunctal solution, I cannot think of any other non-random way of composing. On the other hand, it is a simple method of continuous development.