self-directing feedback


Since the early 1980s, neural networks have been used in algorithmic composition, but invariably employed as pattern matching or learning mechanisms. Here a continuous time model was developed and used as a pattern generating compositional tool.

Neural oscillators are continuous time, real valued neuron models, arranged in pairs such that the output of one inhibits the activity of the other, creating an oscillatory output at a fundamental frequency. If a periodic input signal is applied to the pair, it will entrain the input frequency. When nodes are arranged such that the output of one node acts as input for other nodes, the frequency of oscillation across the network will be identical, although the phase and exact shape may vary.

neural oscillator model

Schematic of a neural oscillator node. The oscillator equations simulate two neurons in mutual inhibition as shown here. Black circles correspond to inhibitory connections, open to excitatory. The mutual inhibition is through the g[xi]+ connections
([x]+ = max(x,0)), and the bvi connections correspond to self-inhibition. The input gj is weighted by a gain hj, and then split into positive and negative parts. The positive part inhibits neuron 1, and the negative part neuron 2. The output of each neuron yi is taken to be the positive part of the firing rate xi and the output of the oscillator as a whole is the difference of the two outputs.


If an oscillatory input is applied, the node will entrain the input frequency i.e. it will produce an output of equal frequency, but not necessarily the same phase, as the input. This can be shown to be true over a wide range of input amplitudes and frequencies. The fundamentally dynamic nature and specific behaviours associated with its entrainment properties make this model an attractive resource. The input driving signal can be given either by an external source, or from another software system, making it a useful component in a modular system. Networks of oscillators exhibit a range of musically-relevant behaviours which are parameterised by a handful of variables. The sonic effects of changing these parameters is of course determined in part by the mapping.

neural oscillator line


One of the simplest, and perhaps most effective, methods of sonifying this system is to simply map the output value of each unit onto a pitch value. When the bias of each oscillator node is between zero and one, the output will always be in the range (-1,1). This means the output can be easily mapped onto pitches in a chosen audible range. The image above shows an example where the pitch has been quantised to semitones. The scored notes represent the waveform within the dotted box above.

The periodic oscillation of the node produces a basic arpeggiated effect. Under this mapping, changing the constant c varies the amplitude, and so pitch range of the line. Quantising the continuous output means that small changes in output, as well as fixed values result in a constant pitch. In the example sabove these repeated values were excluded, automatically introducing some rhythmic variation. The time constants affect the fundamental frequency of oscillation as well as its form, so can be used to alter the melodic contour of the output. Changing the absolute value of the weight between nodes as well as its sign determines the extent and nature of the influence of each node on connected nodes, changing the relations between parts.

Audio Examples

listen Neural Oscillator with changing weights.
This track illustrates the basic arpeggiated line generated as well as the effect of inverting the weights between nodes. In the example here, the outputs of two nodes with the same bias but slightly different time constants are played on two pianos. Initially node two is played alone after five cycles (20'') the second piano enters. The weights are negative, causing the outputs to be in opposite phase, creating a sense of turn taking. The weights are then inverted at 55'' causing both parts to play in unison.

listen Neural Oscillator entraining to external input.
Applying an external input can have several musically useful effects. Primarily of course, if above a certain amplitude, it will determine the overall frequency of the sys- tem output. Continuous periodic input (such as a sinusoidal function) of low frequencies clamps the outputs of strongly connected nodes during the positive or negative parts (depending on the polarity of the weight). This causes the output to freeze at a particular value, being released when the amplitude of the input drops. Sonically this creates the effect of a line pausing, or resting on a pitch, then coming back to life. Finally although the external input entrains the overall frequency of output, characteristics of the fundamental oscillation are preserved. This produces an inner pattern which is modulated at the period marked by the main input.

Examples of these effects can be heard on the above track. Again there are two voices here, a piano and a sustained synth sound. Initially the synth is clamped, repeating the same note. Once it comes in it takes a simple descending four note motif, which is modulated by the input frequency, altering the pitch of some of the notes in the internal structure. Here the synth sound is triggered only at local minima rather than continously, creating a bass line feel.

listen Neural Oscillator with changing input.
Track 11 gives an example with four parts playing and demonstrates the effect of altering the input amplitude and frequency. At the start, four nodes are connected with different time constants and biases, giving each a characteristic shape. There is no input signal, so the frequency is determined internally by the nodes. From 20'' - 60'' the amplitude of the input signal is gradually increased. This has a differential effect on individual units depending upon how closely they are connected to it, and how strong their weights are. At 1'10, the frequency of the input signal is decreased, the longer period clamping the outputs. Here repeated notes are omitted so this audibly this thins out the parts. Finally at 1'50, the input is removed and the ensemble returns to its initial cycle.

listen Excerpt from Organised Entry

This model was used in conjunction with a set of Lotka Volterra equations for an installation Organised Entry shown at The Big Blip 2005

Made at Creative Systems Lab and CCNR, Sussex University.

© ecila. 2010