Risset, Sketch for Piano

The simplest patch in the PDRP study series is one to do MIDI transpositions and reflections, inspired by Risset's Eight sketches for piano. This piece, written at MIT in 1989, The second sketch, itself inspired by Weburn, has the computer respond with a reflection You can start the patch and try out the transformations, play the "section 100" sketch provided, or make your own sketch.

In addition to the score following and sequencing control panel, the patch has controls as shown:

Pitch Reflection

The first group of controls carries out reflections. There are three controls, named "reflect-on," "reflect-point," and "reflect-delay". Reflect-on is a toggle; if nonzero the reflection mechanism is running. The reflection point is a MIDI pitch such as 60 (middle C) or a quarter-tone such as 59.5 (the crack between B and C). Finally, you specify a delay in milliseconds. (If you're using a disclavier, there will be an additional delay from the disclavier mechanism; this isn't included in the "delay" value. The delay is in milliseconds; so for instance "500" means half a second.

The math in this part of the patch is easy to follow. By taking the reflection point value and doubling it, then subtracting the incoming pitch value from the doubled reflection point causes a "reflection" of the pitch to be performed equidistant and opposite to the reflection point. So, by playing MIDI 61, or C#, with the reflection point at 60 causes a MIDI 59, or B, to be played at the delay time after. If one plays the reflection point pitch, it is repeated back. Setting the reflection point to a quarter-tone means that there is no self-referential pitch.


The transposition group is almost the same as the reflection group. The controls are named "transpose-on", "transpose-interval" and "transpose-delay." Here the transposition is in semitones, should be an integer, and can be positive or negative.

The Qlist

The qlist has six events, the first of which is:

100 reflect-on 1;
reflect-point 63.5;
reflect-delay 500;

There are three messages, the first one with a delay of 100 milliseconds, and the others having no delay and so happening immediately after the first. The three messages turn on the reflection transformation. The delay of 100 is so that the note that sets the event itself off won't get transformed; the intent is that only the following chord be reflected.

The chord itself turns the reflection off after a suitable delay in event number 2. This is repeated three times, the last time with a variation, and finally, event 6 stops the piece by continuing to "section 0."