Deep Improv
Overview
Deep Improv is my ongoing research and creative practice exploring the relationship between improvisation, recorded sound, computation, and live performance. The project seeks to understand how technology can extend improvisational practice without replacing the performer and lets data captured during performance become another form of musical response.
The project is particularly interested in the space between composition and improvisation. Rather than trying to treat a recording as a finished musical object, mathematical techniques are applied to recordings to create prepared recordings which become stimuli for improvisors: material to respond to, interrupt, imitate, transform, or deliberately contradict.
The resulting process aims to neither be neither conventional composition nor conventional improvisation. A recording may be prepared in advance using code, but its meaning is determined in the live encounter with performers, instruments, the space in which the performance takes place, etc.
Sound as Material
A central influence of this approach is the musique concrète tradition, particularly the work of Pierre Schaeffer and the idea of treating recorded sound as a sound object. The recording is detached from its original narrative context and becomes something that can be reused ina new setting.
Deep Improv extends this idea through digital computation. Instead of physically cutting tape, a program can search thousands of seconds of recorded material, identify regions according to acoustic properties, and construct new temporal relationships between them.
Public-domain orchestral recordings are particularly useful in this context. Works by composers such as Debussy, Mahler and Sibelius can be treated not simply as compositions to be analysed, but as large reservoirs of timbre, gesture, texture, harmony and orchestral movement.
A short orchestral event can therefore become a completely different object: reversed, time-expanded, layered with another recording, embedded in a drone, or allowed to decay into a long reverberant field. The resulting recording retains traces of its source while functioning as new material for improvisation.
Compositional Approaches
The project draws on a broad history of experimental approaches to sound, structure and chance. Schaeffer's manipulation of recorded sound provides one point of departure, while the work of Iannis Xenakis provides another: the use of mathematical and computational processes to generate, organise and transform musical structures.
Other important reference points include the electronic and spatial practices of Karlheinz Stockhausen, the indeterminate procedures of John Cage, the transformative tape and studio practices associated with Luciano Berio and other post-war composers, and later developments in sampling, digital signal processing and computer music.
These influences are not treated as a fixed stylistic model. Instead, they suggest different ways of thinking about musical material: as objects, processes, probability distributions, gestures, spatial events, data, or transformations.
Current experiments include selecting material according to loudness, spectral brightness, onset density and other acoustic characteristics; reversing and time-expanding orchestral passages; creating long-form transformations from multiple recordings; and constructing evolving relationships between continuous drones and fragmented instrumental material.
↓
analysis / segmentation
↓
selection of musical events
↓
transformation / recombination
↓
prepared recording
↓
live improvisation
↓
real-time capture and analysis
↓
new material / performer response
Code and Computation
Computation is used both as a compositional tool and as a means of investigating musical structure. Python provides a flexible environment for manipulating recorded audio, extracting measurements, selecting material and constructing new recordings. SuperCollider provides a complementary environment for real-time synthesis, transformation and interaction.
Current experiments use digital signal processing techniques including segmentation, time stretching, reversal, convolution, delay, spatial processing and spectral analysis. Audio can also be represented as measurable data: amplitude, spectral centroid, onset density, frequency content and temporal change can all become criteria for selecting or transforming musical material.
This makes it possible to construct processes that would be impractical to perform manually. A program can search a long orchestral recording for regions with particular characteristics, select them according to a set of constraints, transform them, and assemble the resulting material into a new temporal form.
The intention is not necessarily to automate composition. Instead, computation provides a different way of listening to a recording and a different set of possibilities for preparing material for human performers.
Technology-Assisted Improvisation
The next stage of Deep Improv moves these processes into the performance itself. During an improvisation, software can capture audio and other performance data in real time, analyse what is happening, and return information or sound to the performers.
This creates a feedback loop between performer and computational system:
↓
audio / MIDI / control data
↓
real-time analysis
↓
detected gesture / texture / event
↓
computational transformation
↓
sound / visual / control stimulus
↓
PERFORMER RESPONSE
The system therefore becomes another participant in the improvisation. It might respond to density, register, rhythmic activity, silence, spectral change or other measurable characteristics of the performance. A performer could receive a transformed fragment of something played several minutes earlier, while another performer responds to the resulting texture.
This approach is deliberately different from a conventional backing track or interactive effects processor. The aim is to create systems in which the computational process has access to the history of the performance and can introduce that history back into the musical present.
Research Directions
Several related research questions emerge from this practice.
How can recorded sound function as an improvisational stimulus? Rather than asking how an algorithm can generate music autonomously, the project asks how computationally prepared material changes what musicians hear, anticipate and play.
What kinds of musical information are useful in real-time interaction? Amplitude, spectral characteristics, event density and temporal structure are relatively straightforward to measure, but their usefulness to performers is less obvious. The research therefore treats the performer as part of the evaluation loop.
How much agency should the computational system have? A system might simply provide material, suggest a transformation, respond to performance data, or generate its own musical response. These different levels of agency produce very different improvisational relationships.
Can the history of an improvisation become its future material? This is perhaps the central question of Deep Improv: whether a performance can continually accumulate a memory of itself and use that memory as material for subsequent improvisation.
The longer-term aim is to develop practical systems in which recording, analysis, transformation and performance form a continuous loop rather than separate stages of a production process.
Background Reading
Background reading includes literature in musique concrète, electroacoustic composition, computer music, algorithmic composition, computational creativity, machine learning and improvisation.
The background reading archive collects relevant papers, books and other resources as the project develops.
Code
Experimental code for audio analysis, transformation, recording and computational improvisation is available through the Deep Improv GitHub repository .
The repository is intended as an evolving research environment rather than a single software product. Experiments range from offline preparation of audio material to real-time systems for performance and interaction.