sampler instrument
CODE: https://www.dropbox.com/s/m337pe68klb7grq/sampler.sc?dl=0
https://www.dropbox.com/s/ieexghp7wckv1z2/samplerRun.scd?dl=0
https://www.dropbox.com/s/y16mfhb1jyy8kfd/grainSampler.scd?dl=0
https://www.dropbox.com/s/ieexghp7wckv1z2/samplerRun.scd?dl=0
https://www.dropbox.com/s/y16mfhb1jyy8kfd/grainSampler.scd?dl=0
This instrument was constructed to combine of various separate pieces of code in order to obtain a clearer sense of its current state and future direction. The instrument is centred around a sampler which allows the recording and playback of live audio. Record buttons are used to make selections of this audio from a constantly recording buffer, providing access to sounds that occurred before the button was pressed. After a selection is made, the audio is stored and made available for use with looping and granular playback engines, allowing the creation and manipulation of multiple streams of sound using the same source material. Several midi controllers in combination with a keyboard and joystick were used to control this software.
The development process for this instrument allowed me to focus on the physical experience of playing and analyse the suitability of various decisions/predictions that had been made about the software and its mapping. This focused around developing an understanding of the spatial relationships between the bodies of the instrument and performer, whilst helping to determine the boundaries of what is physically possible whilst playing the instrument. Similarly, the limited number of physical parameters immediately available (without shifting through menus) helped to prioritise certain features and functionality.
In particular, decisions regarding the placement and distances between parameters were made to facilitate intuitive and fluid navigation of the instrument's interface. More specifically, parameters were grouped and arranged according to their function and frequency of use, reducing the distance between parameters that tend to be manipulated successively or simultaneously. Similarly, parameters were provided for adjusting envelope fade times for starting and stopping of playback events giving the performer more time to react and facilitating the manipulation of multiple parallel processes.
In this way, the resultant mapping and arrangement of parameters aims to allow the performer to react freely, encouraging simultaneity and multiplicity of actions. This allowed for a more continuous flow of actions that are less influenced by the physical limitations of the human body and the time frames available during a performance.
In addition to this, a keyboard was used to control six different parameters using six toggle buttons to enable and disable the control for each parameter. This allows control over the pitch of the looped and granular playback using discrete intervals to create multi voiced harmonies and synchronised shifts in register.
However, the multiple voices cannot be played at different pitches simultaneously. The performer is required to enable and disable the controls for each voice and set the pitches individually. This could be solved by using multiple keyboards or adding an adjustable offset for each of the voices. In the latter case, a button could be added to enable and disable the offset intervals thus retaining the ability to set all the voices to one pitch using one key.
GRAINS
The granular section of the instrument consists of two grain generators which are controlled using sliders and a joystick. The sliders control the first generator and allow for four presets to be stored and recalled. The joystick can then be used to set the parameters of the second generator by interpolating between these four presets. A slider on the base of the joystick also allows for blending between this interpolated state and the current slider positions.
In addition to this, the parameters for the second generator can be set from the joystick using the thumb trigger button. This was found to be particularly useful as it allows the performer to hold a state which may be hard to reproduce on the joystick. Furthermore, this allows for single parameters to be adjusted using the sliders, altering the state which was initially stored. This facilitates the creation of interesting variations using the joystick, exploring the interplay between the two layers. In particular, the subtle shifts of difference between the two tend to introduce emergent and evolving qualities.
In this way, the combination of the sliders and joystick gives a wide range of control over the grain generators, providing many possibilities for the transitioning and transformation of different states. Similarly, the different interfaces also afford different gestures. The joystick provides a more gestural control, lending itself to the creation of discrete sounds, whilst the sliders are better for creating more continuous streams of sounds.
The bimanual operation of these two devices also encourages thinking about higher level musical structures. For example, the movements of the two limbs controlling these devices can be associated with two different streams of sounds. This lends itself towards call and response style structures and manipulations relating to the degree of similarity between the two streams.
BUFFER SELECTION
Additional experiments were also carried out exploring the probabilistic selection of different sound files per grain.
Parameters for center position and deviation were used and found to be most effective when the various sound files are chosen and organised in a way that produces the desired range of timbres. Through this selection and organisation, a continuum between similarity and difference can be created, arranging the sounds according to perceptual qualities such as dark to light or low to high.
As the mappings for the duration and density of grains is relative to the sounds length more relevant controls are achieved when all the chosen sounds have a similar duration. This could be improved in future versions by setting the parameters using absolute values or using analysis of the sounds to set relevant ranges.
The recording below exemplifies this using various metallic hits with long decays
DETECTING ONSETS
In addition to this, these samples were later replaced by sounds from the loops recorded by the sampler. This wass achieved by detecting onsets within the loop and storing their sample positions into a list. This provides much more useful/relevant control over the playback and variation of the material within the buffer.
Furthermore, code could also be added to automatically organise these segments of the buffer according the their different characteristics. For example, the sounds could be organised according to their duration, spectral centroid or timbral similarity. However, strategies for translating/representing and categorising these qualitative aspects in a way the computer can understand need to be further investigated.
FILTERS
Probabillistic control over the output bus for the grains was also added, allowing the audio to be send to one of four membrane simulation filters with different tunings. This produced the effect of scattering the grains across the different outputs/surfaces and produced particularly interesting sounds when playing with the relationship of resonances between the filter and input signal.
AUDIO: https://www.dropbox.com/s/83rqxi4rvjjrjuc/grainResFilter.aif?dl=0
AUDIO: https://www.dropbox.com/s/83rqxi4rvjjrjuc/grainResFilter.aif?dl=0
A mode was also created in which the filters can be played using either a midi keyboard or the multitouch trackpad allowing polyphonic manipulation of tuning and damping for multiple simulated membranes. This configuration was particularly effective as grains/source played by joystick in the right hand, filters/membranes played by touchpad in the left hand.
However, these filters have a very distinct sound quality, especially at highly resonant settings. This was improved by adding small amounts of noise to the tuning of the filter. This noise is scaled by the amplitude of the input signal causing the tuning to drift in a way that is related to its input. Another solution could involve the interpolation of more varied filters such as convolution and other simulated resonators.
SOUND SOURCES
Whilst developing and playing the instrument various sound sources were explored. The use of a microphone facilitated this process and I enjoyed the sense of spontaneity it added, allowing for any object within my immediate environment to be used as a sound source. This was particularly prominent when using my voice/body and provided a sense of fluency with the instrument. This was accentuated through the use of analysis to modulate/articulate the time parameter of a delay placed on the master channel of the instrument.
In addition to this, the use of a microphone inevitably introduces the use of feedback techniques, allowing the sounds to slowly take on characteristics of the environment they inhabit, merging and manipulating the sense of space.
This concept will be further explored in future projects involving the intermingling of voice, objects and their environment.
AUDIO: https://www.dropbox.com/s/r39uwozyq1f0hzy/samplerJam1guitar.aif?dl=0
https://www.dropbox.com/s/8g3203fivs4xm13/samplerJam2guitar%2Bmic.aif?dl=0
https://www.dropbox.com/s/3bzq7jkobec6i9i/samplerJam3mic%2Bsamples.aif?dl=0
https://www.dropbox.com/s/xi1ifrc6cwgwdw8/samplerJam4mic%2Bharmonica.aif?dl=0
https://www.dropbox.com/s/sjj3v3vs5fpmxuc/samplerJam5.aif?dl=0
https://www.dropbox.com/s/8g3203fivs4xm13/samplerJam2guitar%2Bmic.aif?dl=0
https://www.dropbox.com/s/3bzq7jkobec6i9i/samplerJam3mic%2Bsamples.aif?dl=0
https://www.dropbox.com/s/xi1ifrc6cwgwdw8/samplerJam4mic%2Bharmonica.aif?dl=0
https://www.dropbox.com/s/sjj3v3vs5fpmxuc/samplerJam5.aif?dl=0








