Wednesday, 7 January 2015


Matrix Mixer

A simple matrix mixer with the ability to store and recall presets was created in SuperCollider. The mixer can also crossfade between the current parameters and the preset. In future versions these parameter could be made available for modulation using an external source.

The code was written to accommodate different numbers of inputs and outputs using dictionaries to store the bus numbers.

CODE: https://www.dropbox.com/s/v1i8sr86tsiy4u9/4thjanMatrixMixer.scd?dl=0

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. 

Tuesday, 6 January 2015

CMOS + SuperCollider

Recent experiments aimed to explore the combination of CMOS chips and SuperCollider. 

Ndefs were used to quickly experiment with different variations of the processing and related parameters. In particular, code was created in which onsets from the input signal (CMOS chips), were used to trigger an envelope which modulates the time of a delay line. 

In certain parametric states this can produce bouncing, glissandi like trails of delayed audio when triggered by an onset. This is particularly interesting when previous trails are interrupted by new ones, producing complex and dynamic results in which the past and present states of the input signal and the processing are interdependent.


A temporary enclosure for the amplifier was also constructed using cardboard. The cardboard box emphasised lower frequencies and allowed the volume and mute switches to be used more easily.

The cmos circuit consisted of 40106, 4070 and 4066 chips and was focused around the controlled distribution of modulation signals. This was achieved using the 4070 and 4066 chips for combining and gating various signals from the 40106 and switches. 

An Arduino was also used to provide a 16 step sequence with an input for triggering the next step. 

In addition to this, the motors circuit was used to trigger small solenoids, expanding the timbres available and complementing the electronic sounds of the circuit.



AUDIO: