Flumen

July 17, 2015 5:36 AM

This song combines two elements: a water motif in the top staff and a context-free grammar in the bottom.

Top Voice

In Danksagung an den Bach, Schubert’s simple, repetitive piano accompaniment portrays the babbling of a brook. Tennyson’s poem also emphasizes this uniformity with rhyme and alliteration.

But I think that the “music” of a brook stems not from its regularity but from its unpredictability. The sounds are constantly changing, albeit it ever so slightly. The speed and configuration of the water varies as pebbles are dislodged here and dirt piles up there. These perturbations modulate the water’s murmur.

This python script models this evolution. The user sets the initial parameters: the base note (the water’s drone), the number of iterations, and the size (in quarter tones) of the melodic irregularities to be introduced.

He then chooses a note in the brook and either increases or decreases its pitch. This process is looped as many times as desired.

For example, suppose we have the following "base" brook.

[C C C C C]

Let’s say that the user chooses an irregularity of one whole step. After one loop, the brook might look like this.

[C C C D C]

After three more loops, it might be:

[Bb C D E C]

The consistency of the brook’s flow is preserved, but its tiny fluctuations are now also expressed.

Bottom Voice

This python script describes the following context free grammar. CAPS denote non-terminals, lowercase terminals.

S --> AB
A --> {x, Ct}
B --> {r, yB}
C --> {s, zA}

I used “sentences” produced by the grammar to structure this staff’s rhythm and lyrics.

Rhythm

S --> AB --> CtB --> stB --> styB --> styr
half note (s) + whole note (t) + quarter note (y) + sixteenth note

S --> AB --> CtB --> zAtB --> zxtB --> zxtyB --> zxtyr
quarter note (z) + thirty-second note (x) + whole note (t) + quarter note (y) + sixteenth note (r)

Lyrics

S --> AB --> xB --> xyB --> xyyB --> xyyr
the (x) seeking (y) soul (y) asks (r)

S --> AB --> CtB --> stB --> str
whence (s) came (t) all (r)

S → AB → xB → xr
thus (x) answer (r)

S → AB → CtB → zAtB → zxtB → zxtyB → zxtyr
not (z) through (x) Chronos’s (t) sole (y) art (r)

The score, as well as all the python and lilypond code I used, can be found here.
posted by mxcollins

This post was deleted for the following reason: poster's request -- LobsterMitten



« Older Dark as a Dungeon   |   Illustrated Resonators for Reverbs Newer »

You are not logged in, either login or create an account to post comments