Hi! I'm Iván. For a while I have been interested in the problem of modeling the perceptual exploration of parameter spaces of algorithmic composition architectures.
In other words, in building formal representations for the results of the process through which a performer/composer takes an algorithm, and repeatedly performs changes in their parameters looking for, and classifying, new material. This can be selected for a particular purpose that the performer already has in mind, or it can only seems interesting.
As a part of this research I developed an integrated system, during a residency at
Hangar, to perform this task. This page works as a repository for the code, ideas, and material of that process and its updates.
The whole methodology is designed from computer music and livecoding perspectives, and the process is framed within a free and open source philosophy, which considers the act of programming, as essentially creative, and as a social and political expression. So, let's code together!
Next, you will find the repositories for each part of the system. Essentially it works with a
SuperCollider script, where the algorithms to be explored are written, and
Processing for the exploration interface. Optionally you can also build a box for "blind" exploration/performance if you want. The rule-extraction algorithms that process the selected material form another part of my current research. Have fun!
GeMuSE was designed to perform perceptual parameter exploration. It allows to visualize all parameter values at the same time by using polygons. To do this, the values of the n parameters are mapped (from min to max) into the n lines that join the center with the vertexes of an n-polygon. Then, each combination defines a different polygon in the space.
I know, it also stands for
"vegetables" in german. Just
click here if you want the code.
The algorithms for sound generation are written in SuperCollider. From there the data is sent to GeMuSE.
This repository shows an example of the perceptual parameter exploration idea. The system to be explored is stored as an object (Ndef(\x,{object})).
click me!