Ariadne

Theosophy through aural analysis

With controlled grace against the chaos that surrounds us, Thomas gently slices off the tip of his right index finger. From the depression immediately well a multitude of tiny white balls, connected along a seemingly endless slender white cord. The flow is sudden, uncontrolled, the spheres floating up and out, the string rapidly becoming snared in itself. In one practiced movement, he places the scalpel back in its hip-sheath and squeezes two fingers and a thumb just below the incision.

I tap him on the shoulder to get his attention.

"I don't understand," I sign.

Annoyed, he lets go long enough to sign to sign back "Obviously," before getting back to his work.

"But why can't I hear anything?"

Even though all is silence -- I cannot hear my breathing, nor the beating of my own heart -- it is obvious that he sighs before replying.

"Imagine everything in the universe -- every object, every being, every energy, every force -- imagine everything in the universe generating a sound, a unique tone represented by its vibration…can you do that?"

I nod.

"Now imagine that sound, that cacophony as everything plays at once -- no two notes exactly the same. Imagine the vibration, the force of that sonic chaos..."

I nod again. "Yes, but surely..."

"...and realize, for one moment, that sound here is not bounded by what we know as physical law down below. Realize that sound moves where it pleases here. Sound is all there is, here. Realize that neither vacuum, nor any physical barrier of any thickness you can imagine can hold it out. Nor time. Realize that no matter where you go or what you do, you will hear everything there is, was, or ever will be, always. Simultaneously."

-- from "String" -- an unfinished short story.

ARIADNE is the name I've given to a project that's haunted me for some time now.. I'm not certain where it will lead me (which is ironically appropriate given the name), but I intend to follow it.

The Ariadne Project is made up of three parts: a backstory, an API, and (possibly) an implementation of both into an actual game. All three of them are concerned with the interpretation and analysis of music structures as the basis for the construction of logical ones. Such a project, it seems to me, is the intersection of three of my passions: computers, music, and games.

A deep dive into the hearts of the multiverse

Not far from thence he grav'd the wondrous maze,
A thousand doors, a thousand winding ways:
Here dwells the monster, hid from human view,
Not to be found, but by the faithful clew;
Till the kind artist, mov'd with pious grief,
Lent to the loving maid this last relief,
And all those erring paths describ'd so well
That Theseus conquer'd and the monster fell.
Virgil, 'The Aeneid,' Book VI

The problem is basically one of human conception. Or rather, the human mind's inability to understand phenomenon at so small a scale. And thus, as humanity has done for centuries, we talk in symbols, metaphors, lies -- in an attempt to speak of the unspeakable.

Forgive me for my dalliance into such flowerly language, but I have always felt that a poet -- properly trained -- would be the finest of physicists, as he would able to transcend the mere language of fact to the art that so obviously lies beyond.

Superstring theory developed to fill the obvious void between quantum mechanics and Einsteinian relativity -- the first, possible step towards a quantum theory of gravity. It was nothing if not a modern idea, the child of the post-post-modern world whose members had grown so jaded and uncertain that they could even pretend to the inheritance of their belief.

And yet the basics of what we shall do here, what we ask of you, our first anglers into this lake of darkness -- is far, far older. It is firmly entrenched in the idea of the quest of the hidden divine within the mundane. Our work is fundamentally one of theosophy and theology rather than one of philosophy and reason, for we must put what we do in terms that are as old as mankind itself.

We seek nothing less than the very heart of the Labyrinth, following nothing more than a slender golden thread.

It is with this in mind, ladies and gentlemen, that I wish to present the Ariadne Project..."

-- Quentin Barnes, in his first speech given before the Hadrons

The story is one of three parts that make up Ariadne. With the way I design, it's fundamentally one of the most important, because everything springs from here. The game will be an eventual outgrowth of the story -- it'll take its cues, its language, its atmosphere from here. The API and the actual code work will, in turn, take its cues from the requirements set out from the other two portions.

As it now stands, though, all I really have are a mismash of ideas -- Greek mythology, the Eastern concept of God as music, superstring theory, quantum mechanics, etc. All of them seem to be reaching towards a few, repeating archtypes: a maze, a path, a seeker, a monster, the many meanings of the word 'resonance,' knowledge sought through rhythm and harmonics...

I'll just follow for now and see where it takes me.

There are always rules

"Will you play?" asked the girl, staring directly at him despite her lack of sight.
"Play at what?" asked the Boy.
"Play at where you mean -- we play the Meridian."
She pointed along the line that separated the light and shadow.
"What shall we play on?" he asked.
"On the Board," she replied.
"Where is the Board?" he asked.
"It is not yet built," she said, smiling.
The Boy was confused. There was nothing about but themselves.
"What shall we build it with?" he asked her.
"With what we have," she replied.
Her arms reached up to encompass the Sun, the Moon, and a skyfull of constellations.
"And how shall we build it?"
"How is anything built? We shall build it by rules."

From 'Ada,' an unfinished work of interactive-fiction.

The following is a first stab at some ideas for heuristics (or rules-of-thumb) for the Ariadne API. The interesting thing is that different *methods* could be written for the same heuristics for different classes or types of music. It might be possible to write a meta-language that allows end-users to define such classes and how they can be identified, as well as logic that defines how to respond to certain 'events' within a song.

Input
As I see it, I have two possible choices here: encoded, interpreted music (like MIDI) or just...well, sound (like a Vorbis file). They both have their advantages -- encoded music allows me access to information like particular notes, so I can figure out key signatures, major/minor, etc; pure sound has flexibility on its side, you could just dump in any song you wanted.

At some point, I'll have to decide if I want to support one, the other, or both.

Dynamics
The obvious rule-of-thumb here is to work with the basics of pianoforte with mezzo- at the center, and reaching towards fortississimo at one end and pianississimo at the other. There's also, obviously the...well, dynamics of dynamics -- crescendo, decrescendo, sfortzando and the like.

From what I can see, all of these can be dealt with purely on volume -- getting absolute and relative highs and lows and then figuring out the distance between them, you can create a general graph of volume throughout a piece of music relative to an 'average'.

Tempo (or "Musical Density")
Tempo, like dynamics, is most likely dealt with on an absolute and relative basis. A high and low of density (with regards to individual notes/sounds (this is obviously easier in a system of discrete notes, like MIDI) with relative highs and lows from some calculated average. If the notes come faster, the tempo's obviously increased.

Range (or "Frequency")
Again - this is easier in MIDI than dealing with pure sound - but calculating a certain range (discriminating from 'bass' versus 'treble' for example) can allow one to apply a heuristic to something defined as 'rhythm' and not 'melody' ... or vice-versa.

Phrasing
Combining tempo with range and noticing blanks or drops in musical density can allow the system to identify 'clumps' of notes as unique musical objects. In MIDI this could even be used to see if certain phrases are repeated (as we have access to specific notation, and can deal with modulation and such). Such phrasing could be used to create visual and/or *logical* objects that correspond to musical ones.

Relative and Absolute Heuristics
Almost all of the above could be applied *among* songs as well as *within* them. As an example -- say you create a game from a given set of songs -- maybe from the same album. Ariadne could figure out the 'fastest' and the 'loudest' songs and place them at the *end* of the game if your particular logic makes levels based on such songs more difficult.