Return to Aeola


On Beating, Roughness and the Impossibility of Agreement:
The Physical Basis of Aeola

A. Skepp
Department of Big Ears, Aeola Project

Received 1 October 2026. Accepted: not applicable.


Abstract

Aeola is a browser-based instrument in which a listener places notes on a plane and observes what happens between them. This paper describes the physical model behind the instrument: how each note's harmonic spectrum is estimated, how beating between near-coincident harmonics is detected and displayed, how roughness is quantified, and how two tuning systems (equal temperament and per-chord just intonation) are made to disagree in an audible and visible way. We further describe a mode in which live air traffic is used as a source of notes, and show that its eight loops return to their initial alignment after approximately 2.7 million years. No claim is made that consonance is preferable to dissonance.

Keywords: beating, roughness, just intonation, equal temperament, the syntonic comma, synchroscopes, ADS-B, airports.


1. Introduction

Sound is a variation in air pressure. A sustained musical note is, to a good approximation, a periodic variation, and any periodic variation can be described as a sum of sinusoids whose frequencies are whole-number multiples of a fundamental frequency f: the harmonics f, 2f, 3f, and so on (Helmholtz, 1863).

When two notes sound together, their harmonics sound together. Where a harmonic of one note lies very close to a harmonic of the other, the two interfere. The listener hears this interference as a slow throb (beating) or, at somewhat larger separations, as a grainy unsteadiness (roughness). Where the harmonics coincide exactly, neither occurs, and the two notes appear to fuse. The phenomena commonly called consonance and dissonance are, to a first approximation, descriptions of how many of these near-coincidences exist and how strong they are (Plomp & Levelt, 1965).

Aeola makes these interactions visible. Its purpose is not to resolve them.

2. The notes

Each note placed in Aeola is a small chord: a root and two or three further tones above it (a triad, an added ninth, a suspended fourth, or an open fifth). The horizontal position of a note selects its root from the seven white keys (C to B) or, optionally, all twelve pitch classes; the vertical position selects one of three octave registers. In equal temperament, the frequency of the tone with MIDI number m is

    f(m) = 440 · 2^((m - 69) / 12)  Hz                               (1)

Each tone is produced by two oscillators detuned by ±6 cents (hundredths of a semitone) from one another, a common technique for warmth which, it should be noted, introduces a small beating of its own (approximately 1.8 Hz at middle C). A slow vibrato of up to 35 cents at 4.2–5.8 Hz is added. A note that is locked repeats indefinitely and, over periods of 52, 71 and 97 seconds, slowly varies its vibrato depth, filter brightness and pitch (by up to 6 cents). We refer to this as breathing.

3. Estimating the harmonic spectrum

The synchroscope does not listen to the audio. It reconstructs each tone's spectrum from the parameters that produced it. For an oscillator of fundamental f0, harmonic k (for k = 1…8, and only below 5 kHz) is assigned an amplitude according to the oscillator's waveform:

    sine:       a_k = 1 if k = 1, otherwise 0
    sawtooth:   a_k = 1 / k
    triangle:   a_k = 1 / k²  for odd k, otherwise 0                   (2)

Timbres with a sub-oscillator receive an additional component at f0/2 with amplitude 0.5. Each amplitude is then multiplied by the magnitude response of the timbre's filter, using the standard second-order prototypes with x = f/fc and quality factor Q:

                           1                                 x / Q
    |H_lowpass|  =  ------------------      |H_bandpass| = ------------------
                    √((1 - x²)² + (x/Q)²)                 √((1 - x²)² + (x/Q)²)

                           x²
    |H_highpass| =  ------------------                                     (3)
                    √((1 - x²)² + (x/Q)²)

Amplitudes are normalised so that the strongest harmonic of each tone is 1, and harmonics below 4% of that are discarded. The model ignores phase, masking and the detuned second oscillator. It is an estimate, and it is presented as one.

4. Beating

Two sinusoids of equal amplitude and nearby frequencies f1 and f2 sum to

    sin(2πf₁t) + sin(2πf₂t) = 2 cos(π(f₁ - f₂)t) · sin(π(f₁ + f₂)t)       (4)

That is, a tone at the mean frequency whose loudness rises and falls |f1 − f2| times per second. This is beating. Aeola compares every harmonic of one note with every harmonic of another. A pair separated by between 0.25 Hz and 14 Hz is classed as beating, weighted by the smaller of its two amplitudes (since the depth of a beat is limited by its weaker component). Pairs closer than 0.25 Hz are classed as in sync. The strongest beating pair determines the rate shown.

The result is drawn as a synchroscope: the cockpit instrument with which the pilot of a twin-engine aircraft synchronises the propellers, which rotates while the engines are out of step and stands still when they agree. In Aeola the disc between two notes rotates once per beat, in the direction of whichever note is sharp. A dashed ring around a single note indicates beating among that chord's own tones.

Worked example. In equal temperament, the third harmonic of C4 (784.88 Hz) and the second harmonic of G4 (783.99 Hz) differ by 0.89 Hz. A C major chord therefore beats at slightly less than once per second, which the reader may verify by listening, or by watching the ring.

5. Roughness

When two harmonics are too far apart to be heard as a single beating tone but too close to be heard as two separate tones, the result is roughness. Following Plomp and Levelt (1965), in the parameterisation of Sethares (1993), the roughness of two partials separated by Δf, the lower at flow, is

    d(x) = (e^(-3.5x) - e^(-5.75x)) / 0.1807,    x = 0.24 Δf / (0.021 f_low + 19)     (5)

normalised so that the worst case, at x ≈ 0.22, equals 1. For two notes A and B, the products aibjd(xij) are summed over all harmonic pairs separated by more than 14 Hz and divided by √(EAEB), where E is the sum of squared amplitudes, so that richer timbres are not judged rougher merely for having more harmonics. Values below 0.35 are treated as the ordinary grain of two notes in this register and are not displayed. Between 0.35 and 0.85 the line between the notes visibly shakes, a condition referred to in the instrument as turbulence. Above 0.6 the pair is reported as turbulent in text.

6. Two tunings, and why they cannot agree

Equal temperament (Eq. 1) divides the octave into twelve identical steps. Its intervals are close to the whole-number frequency ratios at which harmonics coincide, but, except for the octave, never equal to them. Aeola calls this magnetic north: the practical compass, slightly off from the real thing everywhere. The difference, which we call the declination, is given below in cents.

IntervalPure ratioPure (cents)Equal (cents)Declination
minor third6 : 5315.64300−15.64
major third5 : 4386.31400+13.69
perfect fourth4 : 3498.04500+1.96
perfect fifth3 : 2701.96700−1.96
major sixth5 : 3884.36900+15.64
minor seventh9 : 51017.601000−17.60

Table 1. Declination of equal-tempered intervals from their pure ratios.

True north tunes the tones of each chord to pure ratios above that chord's root (5:4, 3:2, 6:5, 4:3, 2:1, 9:4), so that the chord's own harmonics coincide and its internal beating stops. During the change, all sounding voices glide to their new frequencies over 2.4 seconds, so that the beating can be heard to slow and cease. Because vibrato and oscillator detuning would otherwise obscure the result, both are reduced to 30% under true north.

The roots, however, remain on the equal-tempered grid. The consequence is unavoidable. Under true north, the major third of a C major chord sits at 1.25 × 261.63 = 327.03 Hz, while an E minor chord built on the grid's E sits at 329.63 Hz. The two now differ by 2.60 Hz and beat accordingly, where under equal temperament they coincided exactly. Purity inside each chord is paid for between chords. This is a local instance of the syntonic comma, and no system of fixed tuning removes it: no tuning settles everything at once. The instrument considers this a feature.

7. Flight mode

In flight mode, notes are taken from live ADS-B position reports of aircraft within 40 km of Stockholm Arlanda or Cologne Bonn, as aggregated and published by adsb.lol under the Open Database License. The plane of the instrument is read as a vertical profile: horizontal position is longitude, and vertical position is altitude, scaled by its square root against a ceiling of 20,000 ft so that the low-altitude traffic near the airport occupies most of the display. An aircraft climbing out therefore rises both on the screen and through the registers. Between position reports, which are fetched every two minutes, each aircraft is advanced by dead reckoning from its last known track, ground speed and vertical rate.

Aircraft join one at a time, nearest to the airport first, at intervals of 2.2–4.0 seconds, and enter at a quarter of full loudness, reaching full loudness over three repetitions. Each repeats on a fixed loop of its own length: 5.3, 5.9, 6.7, 7.3, 7.9, 8.3, 8.9 or 9.7 seconds before scaling. These lengths, expressed in tenths of a second, are distinct primes, so the loops share no common period and drift continuously in and out of phase. This technique, tape loops of unequal length, is borrowed from Eno (1978), whose Music for Airports was written for Cologne Bonn.

The least common multiple of the eight loop lengths is 865,749,937,047,217 tenths of a second, or approximately 2.74 million years, after which the eight loops return to their initial alignment. The author does not intend to wait.

8. Limitations

The synchroscope is a visualisation, not a measurement. It reconstructs spectra rather than analysing sound, ignores phase and masking, and treats each pair of notes in isolation. Its thresholds were chosen by calculation and adjusted by ear. It is likely to be wrong occasionally, in the way an honest instrument is wrong.

No claim is made that dissonance is undesirable. The author considers it roughly half the point.

9. Conclusion

We have described an instrument that shows what happens between notes: where they settle, where they clash, and why no arrangement of tuning makes them all agree. Whether any of this resonates with the reader is beyond the scope of the present paper.

“The art engagement begins where the functional engagement ends.”
— Eno & Adriaanse (2025)

Acknowledgements

The author thanks the volunteers whose receivers feed adsb.lol, the LAME project, and the fellow passengers on a cramped flight, who were not consulted. The instrument was conceived in their company, owing to the absence of anything that would have kept the author calm, given his hands something to play, and taught him something about sound.

Funding and contributions

This work received no funding. Hyperfocus was provided by the author’s ADHD, without which the project would have been finished sooner, or never started. The code and the technical sections of this paper were written by Claude Opus 5.5 (Anthropic). The ears, the taste and the decisions are the author’s.

References

  1. Eno, B. (1978). Ambient 1: Music for Airports. Polydor / EG Records.
  2. Eno, B., & Adriaanse, B. (2025). What Art Does: An Unfinished Theory. London: Faber & Faber.
  3. Helmholtz, H. von (1863). Die Lehre von den Tonempfindungen als physiologische Grundlage für die Theorie der Musik. Braunschweig: Vieweg. English translation by A. J. Ellis, On the Sensations of Tone (1875).
  4. Plomp, R., & Levelt, W. J. M. (1965). Tonal consonance and critical bandwidth. Journal of the Acoustical Society of America, 38(4), 548–560.
  5. Sethares, W. A. (1993). Local consonance and the relationship between timbre and scale. Journal of the Acoustical Society of America, 94(3), 1218–1228.
  6. Sethares, W. A. (2005). Tuning, Timbre, Spectrum, Scale (2nd ed.). London: Springer.

Return to Aeola

Last modified: 1 October 2026.
Source code: github.com/orgfwd/aeola (GPL-3.0).
Comments may be sent to the author via the Feedback link in Aeola.