Hallo, Kyle Klipowicz hat gesagt: // Kyle Klipowicz wrote:
Frank, I'm curious about how you use list objects in composition. I'd love to see a little etude from you about that whenever you find the time. You always make such clear, concise, and fun instructional patches.
That's flattering so I guess I should give an example. ;)
[list] of course is useful for lots of stuff, e.g. as a general container for messages (it's central for sssad in this regard), to convert meta-messages to lists and back, etc.
In composition list-operations let you encapsulate many common tasks in reusable abstractions. Johannes mentions LISP in his book, which is the mother of all list-based composition software, but you can do lots of stuff in Pd as well thanks to list.
As an example attached are abstractions that do four transformations of little musical motives. The motives are stored as lists of numbers, where each number represents a scale step. In the example a major scale is used, but you can do 12-tone serialism as well and also apply the transformations to rhythm lists etc.
The four operations demonstrated are:
retrograde: play a motive backwards. That's a simple [list-rev] from the [list]-abs (included)
transpose: add a number to each list-element. I used [list-map] here.
inversion: That's a bit more complicated. Quoting Wikipedia:
Inverted melodies
When applied to melodies, the inversion of a given melody is the melody turned upside-down. For instance, if the original melody has a rising major third (see interval), the inverted melody has a falling major third (or perhaps more likely, in tonal music, a falling minor third, or even some other falling interval). Similarly, in twelve-tone technique, the inversion of the tone row is the so-called prime series turned upside-down. http://en.wikipedia.org/wiki/Inversion_(music)#Inverted_melodies
In inversion.pd this is realised by walking through the list with list-map, taking the difference between the current element and the previous element, then substracting this from the current element. The first element in a list is treated specially as it has no previous element (it's just copied).
retro-inversion: that's just a retrograde followed by an inversion. As we have abstractions for both not, just bundle them in another one.
list-compose.pd show all four operations in use to transform a little motive.
(This text is available online as well at: http://footils.org/cms/weblog/2009/mar/18/using-list-composition-pd/ )
Frank Barknecht Do You RjDj.me? _ ______footils.org__