Site Tools


The sound of space-filling curves

Update 30 December 2022: Fine-tuned some of the sonifications of the locality-preserving properties of several traversals in up to seven-dimensional Euclidean space and eight-dimensional permutation space, and restructured the web pages with respect to that topic.
Update 17 November 2021: Added new sonifications of the locality-preserving properties of several traversals in up to seven-dimensional Euclidean space, and in eight-dimensional permutation space.
Update 18 February 2018: New tracks through turning-function/direction mapping: hear the Peano curve's gentle rocking motion on multiple levels, and hear the interesting metre of the Meander curve.
Update 20 December 2017: Added sound tracks of four-, five-, and six-dimensional Harmonious Hilbert curves.

I am exploring approaches to make sonifications (or music?) of space-filling curves. So far, I have tried three approaches that gave interesting results. All of them sonify some properties of the curve as one follows it from the beginning to the end. In order of increasing complexity, the three approaches are:

  • Location mapping: while following the curve, sonify the coordinates of the current location. This is, conceptually, the most direct approach: each voice sonifies one coordinate. One hears how the coordinates' voices exchange rhythms and melodies between each other in correspondence with how different parts of the curve are rotated with respect to each other. In practice, the approach works for curves and traversals in up to five dimensions, in which rotation angles are multiples of 60 or 90 degrees.
  • Turning-function mapping: sonify the direction of travel. This approach was pioneered by Tom Johnson, and I explored it a bit more. One hears how the curve twists and turns to fill the space. The approach is limited to two-dimensional curves without jumps, but it lends itself to overlaying multiple zoom levels, resulting in nice polyphonic tracks (I used up to five voices).
  • Proximity mapping: sonify the distances to all other points along the curve. One of the most useful properties of space-filling curves in computer science is that they tend to preserve locality: points that are close to each other along the curve are (usually) close to each other in d-dimensional space, and vice versa. Proximity mapping is an attempt to sonify the variations in locality-preserving properties along the curves. It is my most challenging sonification approach so far. It results in quite orchestral (albeit sometimes a bit noisy) polyphonic sound tracks, that capture how a curve bounces against itself on multiple scale levels to fill the space. It works best for curves and traversals with three to seven dimensions. It also lends itself to traversals of some non-geometric spaces, such as the space of all possible permutations of eight numbers.

Actually there is a fourth approach: Axis mapping is another approach to sonify the direction of travel such that it illustrates a particular property of a particular class of higher-dimensional Hilbert curves—but it does not seem to applicable to other space-filling curves.

The example sound tracks on the four web pages linked above use various techniques, resulting in musical styles that vary from kind-of-classical to minimalist. People visiting this web page seem to have different opinions on which tracks are their favourites. Regardless of your musical taste, I recommend you first check out the page on location mapping, and listen to the beginning of some of the tracks, just to get accustomed to the main idea of what is going on here. If, however, you first want to get a sense of the end results, here is a sample:

Technical issues with play-back:
* When using Internet Explorer, instead of audio files you might see error messages “Invalid source”. Workaround: right-click on the player and select “Copy audio URL”, then paste the url into the address bar. Or use another browser.
* I recommend using good speakers/headphones. On mediocre laptop speakers/headphones, you might miss the lower tones.
sound_of_space-filling_curves.txt · Last modified: 2023/01/04 16:19 by administrator