eex#0: technicalities


The basic structure consists of two interrelated DSP networks that interface with the environment through microphones and loudspeakers. One is specifically composed to treat the audio feedback loop, articulating Larsen tones and regulating their amplitude and spectral content through negative feedback dynamics (more details here). This first network is also responsible for generating control values (mainly through a rough analysis of its DSP chain) that reshape the internal dynamics of a second network, which synthesises sounds through non-standard digital feedback techniques. This reshaping process happens by altering the topology of the feedback network through a variation of the amplitude of the recirculating signals and changing the relations between the components by modifying their parameters. Since the second network works at the smallest delay possible - when the control period is equal to one sample - the two networks run on two different SuperCollider servers to avoid CPU load. The first one executes on a server having a con- trol period of sixty four samples, while the second runs on another server with block size one. The two exchange audio through a shared Jack server, as illustrated in the figure below.

Acoustic Network

The acoustic network consists of an audio feedback loop comprising (2) microphones and (2 or more) loudspeakers. The Larsen effect happens when - given sufficient amplification - the sound captured from a microphone connected to a speaker is reproduced and again captured, recursively, resulting in a positive feedback that produces pitched tones from the iterated amplification of a signal. When speakers are at fixed positions, moving a microphone will result in a modulation of the perceived pitch.

The microphones used in the performance consist of AKG CK91 small condenser capsules mounted on AKG SE300 B microphone pre-amplifiers. This specific model was chosen both for its cardioid polar pattern and its modular structure (during the piece, sometimes pre-amplifiers are used without their capsules). 

Tuning and Self Balancing

Frequency shift tunes the acoustic network to the desired frequency range. This was preferred over pitch shift for its metallic, inharmonic character that radically alters the sonic qualities of the signal, as well as to limit aliasing by compressing the spectrum in a more contained frequency range. The network is tuned between 13 and 15 kHz, in order to accentuate the directionality of the Larsen tones. In the time domain, the shift is achieved through single-sideband complex modulation. As described in (Wardle, 1998), the positive and negative frequencies of the input can be isolated from each other by calculating the Hilbert Transform (designed as FIR filters) of the signal. When applying ring modulation to the transformed signal, the frequency shifter is equivalent to a single-sideband modulator. The signal is then routed to an automated gain controller which is in in- verse relation to the input amplitude. Therefore, as the input gets louder, the shifted signal is scaled down to avoid clipping. When there is little input, the feedback gain is larger to make way to Larsen tones and other byprod- ucts; as Larsen tones and other sound materials get louder, however, the gain decreases enough to preventing too strong howling distorted sounds (Di Scipio, 2006). When a correct balance is found, the process gives way to the emergence of Larsen tones, keeps them at a rather constant amplitude, and eventually lets them fade out at a rate that is dependent on the desired ramp time.

Self Analysis

Simple analysis methods are also implemented that allow to estimate some features of the sounds produced by the network. An example is an efficient algorithm for the time-domain estimation of the spectral tendency that works by using a crossover to divide the input spectrum into two parts whose en- ergy is measured through the RMS. The imbalance between the two spectra is what creates a negative feedback loop by shifting the cutoff of the crossover towards the predominant side. As a result, the system will gradually oscillate around the point of equal energy providing a rather accurate estimation of the spectral tendency. As proposed by Dario Sanfilippo (Sanfilippo, 2018), this algorithm can be extended by inserting a low pass filter on top of the chain, whose cutoff frequency is also piloted by the spectral imbalance (see Figure 2.4). This provokes a recursive process of spectral attenuation that ends when no components are left on the lower side of the spectrum. If we apply the same process to the upper side of the spectrum we can determine the bandwidth of the signal. By combining this information with the pre- viously derived value of the point of equal energy it is possible to roughly estimate the flatness of the signal. The network running on the block size one server receives these values in the form of audio signals and adapts its behaviour accordingly - for example, the flatness is coupled inversely with the modulation index of a recursive frequency modulation process, keeping the system in a state of dynamical equilibrium between noise and tone.

Digital Network

The core of the single sample feedback network consists of two oscillators that cross-modulate each other. At each new sample the phase of the two oscillators is computed by adding the actual phase of each oscillator to the one sample old output of the two oscillators, as follows:

𝑥(𝑡) = 𝑐𝑜𝑠(𝑤𝑡 𝐴𝑥(𝑡 − 1) + 𝐵𝑦(𝑡 − 1))

𝑦(𝑡) = 𝑐𝑜𝑠(𝑤𝑡 𝐶𝑥(𝑡 − 1) + 𝐷𝑦(𝑡 − 1))

In frequency modulation synthesis A, B, C and D are usually called mod- ulation indexes and their value determines the amount of modulation that is applied to the signal. As described in the previous section, these indexes are dependent on the analysis performed by the first network. In particular, they are in an inverse relation with each other: modulation indexes increase when the output is soft, and decrease when this is louder or more noisy.

Other major components of the network are an adaptive comb filter, a zero crossing frequency estimator and a square wave generator. All these elements are organised in a feedback loop whose recirculating signals are reorganised through a 8x4 feedback matrix. This matrix is responsible for combining different sources and rescaling the amount of signal that is fed back to the process in the successive iteration. A simplified representation of the network is in Figure 2.5.