# Augmenting Environmental Interaction in Audio Feedback Systems+
## 3 System Design and Validation
### Reverberation Level with Tempo  
Tempo effects in the feedback sounds emerge from a combination of the adaptive gain control and the long delay line in the feedback loop. The synthesis of Larsen tones requires positive amplification of feedback, and once established, negative feedback to prevent saturation. This is achieved in our system by gradually increasing/decreasing the signal amplitude using a ramp function. The choice of amplification or de-amplification is determined by comparison of the input signal to high/low threshold values. When the peak amplitude of the signal over a three millisecond window exceeds the high threshold value (0.7), de-amplification is applied, otherwise the signal is amplified when the peak amplitude does not exceed the low threshold value (0.3). When the length of a delay line set to more than approximately 5000 samples (e.g., 100 ms), this range is more relevant to tempo-scale periodic occurrences of the Larsen tones (see Figure 4). \begin{table}
\begin{tabular}{l l l l} \hline \hline
**Input Information** & **Approximation Methods** & **Control Targets** & **Control Methods** \\ \hline Reverberation & Cross-correlation of input/output & Tempo & Delay line length \\ Ambient noise volume & Peak amplitude & Output level & Gain threshold \\ Acoustic resonance & Freq. of maximum energy & Timbre & LPF cutoff freq. \\ Distribution of room modes & Variance of magnitudes & Timbre & HPF gain \\  & from the transfer function & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Comparison of input information, approximation methods, control targets and methods for composition of musical tendencies depending on information carried in the feedback signals regarding the acoustic environment. Figure 3: Overview of the system for simulating (**a**) tempo control by delay line length depending on room reverberation (Section 3.1), (**b**) volume control by gain threshold depending on volume of ambient noise (Section 3.2), (**c**) timbre control by cutoff frequency of a low-pass filter depending on a prominent resonance (Section 3.3) and (**d**) timbre control by gain of a one-pole high-pass filter according to the distribution of room modes (Section 3.4). The cross-correlation of input x[n] with delayed output y[n] is used to derive an approximate measure of the amount of reverberation in the physical space. Cross-correlation measures the similarity between two signals as a function of time-lag, and is defined as:  
\[ \begin{split}&\hat{p}_{xy}(l)=\frac{1}{N}\sum_{n=0}^{N-1}\hat{x}(n) y(n+l)\\ & l=D_{1},D_{1}+1,D_{1}+2,...,D_{2}\end{split}  \tag{1}\]  
If a sound causes strong reverberation, the reflected sound is also large and cross-correlation is expected to be high. In order to exclude direct (non-reflected) sound propagation, the cross-correlation value is taken as the mean over time-lags from 5000 (D1) to 18,000 (D2) samples (_i.e._, from 113 to 408 ms). This value is then divided by the maximum value over time-lags from zero to 18000 samples to minimize effect from amplitude of the feedback sound from the system. (Without this division, a louder feedback sound would also increase the cross-correlation value). The resulting approximation of reverberation level is mapped to the length of a delay line in the feedback loop, over a range of approximately 20,000 to 55,000 samples (450 to 1250 ms). In this experiment, two opposite mappings were investigated: proportional mapping tends to generate slow tempo by a longer delay line in strongly reverberant spaces (fast tempo in weakly reverberant spaces), and reflected mapping tends to generate fast tempo by a shorter delay line in strongly reverberant spaces (slow tempo in weakly reverberant spaces). In terms of preserving the feedback signal energy, these mappings reduce or intensify the effect of the reverberant characteristics of the acoustic environment, defined as:  
\[ \begin{split}& L_{1}=a_{1}\times r+c_{1}\\ & L_{2}=-a_{2}\times r+c_{2}\end{split}