rewriting

re-writing #

This idea occured when we were reading a text about Georges Perec and the Oulipo (Ouvoir de littérature potentielle) group. The group is known for exploring the combinations of mathematics and rule-based constraints for the writing of litature. One well known example of this is the novel “La Disparition” that completely omits the use of the letter “e”. Part of the Oulipo ideas also include that, in opposition to ideas on artistic choice and freedom, rules are required to “facilitate the expression of the truly individual self” (Terry 2020:xix).

While exploring the practice of playing improvised computer music, interconnecting the signals from all the players in a group (a practice that we have been developing together extensively in this project), I have found it interesting to play with Buffers. This is mainly because:

  • they are storing “memory”
  • input can be delayed, processed, variations can be created, thus you are able to influence the perceived formal structure of the piece
  • to record and play with them requires a specific kind of anticipatory listening mode

Usually when playing with Buffers, you read them in at a certain speed, and then write them out at the same speed. This would reproduce the original input. Now the idea is to re-write the input following the rules to omit or copy certain samples of the input by simply changing the reading and/or writing rate of the Buffer. This “mis-reading” of the input results in audible disturbances. Could these variations/disturbances of the input let us perceive or understand the input in a different way?

     (
        b = Buffer.alloc(s, 5000);
        a = Bus.audio(s, 1);
     )  

        (
        x = {

        var signal = In.ar(a, 1);
        var read, write;
        var writerate = MouseY.kr(-2, 2);
        var readrate= MouseX.kr(-2, 2);

        write = BufWr.ar(signal, b, Phasor.ar(0, writerate, 0, BufFrames.ir(b)));
        read = BufRd.ar(1, b, Phasor.ar(0, readrate, 0, BufFrames.ir(b)));
     }.play
     )

  i = { Out.ar(a, SoundIn.ar(0)) }.play

Sound example using a sine wave as input: