Wednesday, 7 January 2015


touchPoints


This code was created after reflecting on the creation and transformation of structures in realtime. The code aims to extend the cognitive capabilities of the performer by using the storage and calculation capabilities of the computer to store, recall and manipulate certain sounds and states.

SuperCollider was used to create a preliminary instrument for gestural interaction using the multitouch capabilities of the macbook touchpad. Coordinates for each point were obtained using the MultiTouchPad library.

Max MSP was also used to create a graphical interface whilst the code was being developed.



CODE:
https://www.dropbox.com/s/cknknoj5dkqwu4w/touchgrain_synths.scd?dl=0
https://www.dropbox.com/s/gsj7usul6xl0rwr/touchgrain_map.scd?dl=0
https://www.dropbox.com/s/zlyt8urmo3st872/touchgrainOSC.scd?dl=0

AUDIO:
https://www.dropbox.com/s/aruf4qx6yulw84a/8thjantouchPoints.aif?dl=0

Each touchpoint creates a synth which plays a segment of sound from an audio buffer. The x and y coordinates for each point are mapped to the start and duration of playback respectively. Each point has 4 layers, the volumes of which can be controlled independently from the graphical interface. The layers currently contain buffers but could easily be replaced with other synthdefs. 

Graphical interface elements were also added for creating both absolute and relative pitch changes to the grains. There is also an option for the graphical interface to effect either the currently playing synths or both currently playing and newly created synths.

Groups of points can also be stored and recalled by saving the arguments of the currently playing synths into a dictionary. Groups can consist of 1 or more points and can be started and stopped from using the recall buttons on the graphical interface. In future versions of the code these buttons could be triggered remotely adding modulation inputs. In addition to this, a second mode was created for the touchpad that allows the creation and manipulation of stored groups for each touch point.

Similarly, additional code was created exploring the probabilistic generation of groups of synths. By finding the minimum and maximum values of the synth parameters in the group to create a scaleable range of values for new synths. 

CODE: https://www.dropbox.com/s/8vh2633azw0148c/3rdjanLorenzGrains.scd?dl=0

The main disadvantages to using the touchpad is its size and the lack of tactile response, the surface does not bend or flex when pressure is applied, reducing the ability to navigate using touch. Also, the values for the z axis are calculated using the surface area of each point rather than pressure. This makes it more difficult to control, especially when attempting to articulate several points simultaneously.

Related links:
http://madronalabs.com/hardware
http://cnmat.berkeley.edu/user/david_wessel/blog/2009/01/15/slabs_arrays_pressure_sensitive_touch_pads
http://www.rogerlinndesign.com/linnstrument.html

Future experiments will explore the use of different sound generators and synthdefs for the points. Methods for incorporating this code into the modular will also be considered, allowing the points and groups to be patched. Also, various quantisation grids for the coordinates will be explored, perhaps resulting in some flexibility regarding the intervals and amount of quantisation during a performance. 

No comments:

Post a Comment