Childhood Reflections

Childhood Refelections is my Bachelor Thesis, was made for Music Technology and Acoustics Engineer Demartment on Creta’s University 2016.

This thesis deals, in theory and practice, with the interaction between the piano and the computer during a live performance. In the first, theoretical part, some historical data about the said subject are cited, the live electronics is explained in details and the piece ‘’Duet for one Pianist’’ by Jean Claude Risset is analyzed as an example. The piece has this title because it is written for piano and computer with a selected piano sound so that its audio result is a piano “duet” with a single performer. The score is predetermined and the computer reacts by producing random algorithms that audibly correspond to music notes. Based on the above analysis, the practical part of the thesis contains small music pieces composed in a similar style with common morphological features. The program used to generate the algorithm is the Maxmsp environment.

Then I developed the idea of algorithmic composition in a music theatre performance in collaboration with the theatre group Elephas Tiliesis.

A musical work of interaction on stage. A constructed code that transforms mathematics into music, giving the dimension of chance, interacts live with a musician and an actor on the stage of the Television Control Centre.

Following emotional associations stemming from childhood experiences, they tell stories, play music, sing, improvise, and faithfully serve the fragile and unstable nature of music, creating human relationships, living in the present, sharing the joy of creation with the audience, and contemplating the victory of the accidental and the unfinished. A musical performance that takes on political meaning and happens in real time.
“For centuries Western civilization has been struggling to see the world. But the world is not seen, heard, read or listened to. Nothing substantial happens where sound is not present. Noise everywhere. On the street, at work, noises of people, of cities, of animals. A society is its noises, its art, its fun, its music. When you hear the sounds of a society you understand better what it is that leads to the insanity of people and numbers and wonder what hope there might still be.
Music as a tool of knowledge, as a means by which one can perceive the world. A mirror that does not lie, that shows imperfections and mistakes, that leads to lost collectivity, prioritizing the creative process rather than a finished shiny product. This is Childhood Reflections.


The algorithm composition

Based on the original composition by J.C.Risset, using similar techniques and morphological processes but in a more modern environment, that of Maxmsp, childhood reflections was programmed and composed musically. It is a composition of live interaction between pianist and computer using only piano sounds. The musician reads and performs the score in front of him while the computer recognizes the notes, reacts by creating its own part and generates piano sounds.
This composition was created on a Yamaha Clavinova. Externally it looks like a standard acoustic piano but has midi input and output ports to allow connection to a computer which can respond to midi signals. The computer handles the midi [out/in] signals and is responsible for the piano player’s notes and how they are played. The relationship between the two (piano and computer) was designed from the beginning in the Maxmsp program. The computer on which this synthesis was implemented operates in 32bit mode, but the patch has added the option for a computer with 16bit mode in case the program is implemented by other users or other equipment.
The original idea was to build a program so that the Risset techniques discussed above could be reproduced with more modern methods and equipment while retaining their morphological characteristics. Three of them were chosen.

  • delays – based on the doubles,
  • mirrors – based on the technique of the same name
  • arpeggios – which was based on extensions The criteria for their selection were made based on simple logic to program separate algorithms for each of them.
    The next section details the programming, its logic and the necessary connections to a series of images of the main patch and the smaller ones contained in it.

Main audio connections

The wiring for the creation and recording of the tracks was exactly the same as Risset’s. With a very slight difference in that acoustics were added during the recording to provide better sound control.

A short signal path

The architecture of the algorithms and their operation in the maxmsp environment will be presented below. For an adequate understanding of the description, knowledge of the operation of this environment is required.
The input of the midi signal from the piano to the program is done when one or more keys of the piano are pressed, via a midi input port and the [note in] object. At this point midi information about pitch (pitch) and velocity (velocity) arrive. These outputs are each individually connected to the virtual clavier which gives us a visual representation of the pressed keys on its b inputs. From the outputs of the clavier the midi information is input to [pack], where it is joined into a list and sent to [s notes] to end up in the subpatch [p prepareMidi].

The outputs of the [midi open patch] subpatch are three. The first is connected to the midi-keyboard input. The second one is connected to the midi-keyboard input related to velocity and finally the third one is connected to the [Reset-midi] subpatch.
Going back to the original patch, the center point of the program, inside the gray frame the three techniques/effects (delay, mirrors and arpeggios) of the three subpatches are shown respectively. Each has a separate function and will be discussed in a later part of the text. The outputs of the three techniques are appropriately driven to perform the following functions:

A. the (midi) Record fx-out, to allow the effect to be recorded and stored as a separate midi signal,
B. of Record-Audio: to allow the effect to be recorded and stored as audio,
C. 1. in the matrix, on the vst input, to allow the vst to be selected and linked to the effects, since it is essentially the vst that plays the effects during the interaction
2. in the matrix, at the [note-out] input, so that the dry signal can be synchronized and react with the effects.
These (C1 & C2) in turn end up at the [Record-Midi-Out] output, where only the dry midi signal is written; stored there.
D. of matrix in, (del., mir., arp.), to insert the midi-signals of the effects into the matrix and use them appropriately.
This was a brief description of the path the signal takes through the patch.

The matrix

The matrix, located on the left side of the patch, looks like a grid and makes input-output crossings. The columns act as inputs and the rows as outputs, so that there is better control. At the point where a row intersects a column, pressing [click] with the mouse creates a node and thus activates the desired function.

All the outputs of the matrix end up in the subpatch [p prepared-Midi], which is where all its basic functions happen.
The main matrix process is controlled by the routers. They are the ones that blink its inputs. So each router corresponds to a matrix. Each of them has five slots for receiving midi information. Starting from left to right we can look at each router individually.
In the first router, as we can see in Figure 16, the first slot receives midi information from Vst, i.e. Matrix2. The first node sends the dry signal to vst, the second from the delay to vst, the third from the mirrors to vst and the fourth from the Arpeggios to vst.
The second router receives midi information from Matrix3 i.e. from the effects. This happens when one of the twelve nodes available in the third matrix is activated. The crossings that can be made here are:

  • Dry-Delay
  • Dry-Mirrors,
  • Dry-Arpeggios
  • Delay-Delay
  • Delay-Mirrors
  • Delay-Arpeggios
  • Mirrors-Delay
  • Mirrors-Mirrors
  • Mirrors-Arpeggios

Delay patch

The delay patch is the first of the three effects that was programmed and was essentially the basis for the construction of the program. It is located within the grey frame of the main patch and is the first effect shown. The analysis of the effect will begin with the patch inputs. The first corresponds to the time duration of the delay and the second to its intensity (velocity). Notes are taken from the [s¬ del notes In] of [p preapare Midi]. The signal continues in [unpack], is divided into pitch and velocity, and the latter is passed through [maximum 0]. There the velocity of the signal holds all velocities that are above 0 (corresponding to note-off), and continues to [pipe] which triggers the delay, ending in pack, to give the effect in [s notes delay]. There are four other similar mechanisms which mean a total of five iterations of the delay. The second iteration has twice the volume, the third iteration with three times the volume, and so on until the fifth iteration.

Mirror Patch

In the mirror-patch the processing is applied to the pitch. There is a central note and around it other notes are played with symmetry. The notes enter from the [s mirror-notes-in] which located in the [p prepare-midi] when the clavier is playing (natural or virtual). Multiply by the [-1] because we need the difference in pitch on the clavier. On the right we see the central frequency that we set which is doubled and is added to the incoming note.

Here you can find the whole thesis, which is around 80 pages and only in Greek.

Childhood Reflections | Marion (Maria Pelekanou) (