I've noticed that in the past few years I've come to rely more and more on generative systems or algorithms--various devices that output specific pitches and rhythms. It's not that I don't have musical ideas spontaneously arising in my mind, it's that those ideas are usually textural, not thematic. In other words I hears sounds and shapes more often than specific melodies. Dictating a texture directly from the brain has proven a complicated challenge for me, so I've developed intermediary techniques. This is the story of the system I composed on Friday to get the right texture from the vocalists in my dissertation.

I chose the text from Samuel Beckett's

Waiting for Godot

. At the beginning of the second act Vladimir sings a short recursive song that could loop indefinitely. I see this song as a microcosm for the entire play, and think it represents the aesthetic of my dissertation piece quite nicely. Here is the text in French (the original language of the play) and in English (the playwright's native language) from Beckett's translation.

Un chien vint dans l'office
Et prit une andouillette.
Alors à coups de louche
Le chef le mit en miettes.
Les autres chiens ce voyant
Vite vite l'ensevelirent
Au pied d'une croix en bois blanc
Où le passant pouvait lire:
Un chien vint dans l'office
Et prit une andouillette...etc.
A dog came in the kitchen
And stole a piece of bread
And cook up with a ladle
And beat him until he was dead.
Then all the dogs came running
And dug the dog a tomb
And wrote upon the tombstone
For the ages of dogs to come:
A dog came in the kitchen
And stole a piece of bread...etc.

I knew I wanted this text to evolve in a specific way: beginning as vowels, gradually changing to non-sense phonemes, and finally becoming clearly understood as language at the very end of the piece. This process will probably begin around five minutes into the piece and take around 10 minutes or so to work itself out. The trick was to find a logical process by which the text could gradually evolve over that period of time.

I started with the text, then broke it down into syllables. Here's the 56 syllables in the English version:

ə dɒg kem ɪn ðə kɪt tʃən

ænd stol ə pis əv brɛd

ðɛn kʊk əp wɪθ ə le dəl

ænd bit hɪm ən tɪl hi wəz dɛd

ðɛn ɒl ðə dɑgz kem rən nɪŋ

ænd dəg ðə dɒg ə tum

ænd rot ə pɑn ðə tum ston

fɔr ðə edʒ əz əv dɒgz tu kəm

I had to manipulate the French text a little bit to get 56 syllables:

œ᷉ ʃjɛ᷉ vɛ᷉ dɑ᷉ lɔ fis

e pʁi yn ɑ᷉ du ɪ jɛt

a lɔʀ a ku də luʃ

lə ʃɛf lə mi ɑ᷉ mjɛt

le zo tʀ ʃjɛ᷉ sə vwa jɑ᷉

vi tə lɑ᷉ sɛ vɛ li ʀɑ᷉

o pi je dyn kʀwa zɑ᷉ bwa blɑ᷉

u lə pa sɑ᷉ pu vɛ li ʀ

So with each text now divided into 56 syllables and each one labelled 1-56, I could use numbers to effect an even distribution of changes over several iterations of text. I used a random sequence generator to create a the order of syllable for the first iteration of text. I created a different initial sequence for each of three soprano parts. The first two sopranos will sing "toward" the English text and the third sopranos will sing "toward" the French text. Here are the basic distributions for the first two sopranos:

Soprano 1
Soprano 1

Soprano 1

Soprano 2

In the charts above each column represents one sequence of syllables. The first column on the left contains the first


 sequence and the last column on the right contains the syllables in original,


, sequence. The changes found in each iteration of the text (i.e. each column, top to bottom) are shown, otherwise, the empty squares mean nothing has changed at that position in that sequence. I left most squares empty so that the changes will stand out.

The pattern of changes is mirrored between the two English parts above. In the first, two "correct" syllables enter the sequence on each iteration, beginning at the middle first, then expanding outward. In the second, "correct" syllables enter the sequence at the beginning and ending first, continuing toward the middle. I opted not to move directly from center to ends and

vice versa

 because I felt that with 26 sequences intelligible text patterns would become apparent too early. In other words, if the soprano 1 began to make sense with a string of intelligible words by the third or fourth iteration, that string would simply get longer each time via a simple additive process that would get extremely boring. By reiterating the pattern four times nothing becomes intelligible as language until the final few iterations. There are persistent gaps in the middle.

Soprano 3

For the French text in the third soprano part I doubled up on changes and combined both patterns shown above.

I liked the pacing of this part and began to wonder how to deal with the difference with the pacing in the other two parts. They take 26 iterations to arrive at the original text, while this one only takes 16 (there are some minor errors in the Soprano 3 chart). Since these parts will probably be proportionally notated I didn't need to figure out how to fit 16 into 26--I could just pace it more intuitively.

But then I started wondering if there was a way to speed up the pacing of the other two parts. I have used this method of reiteration with small changes in the past. The third movement of


 for string quartet is basically one 10-bar melody that takes 17 iterations to moves from 10 bars of one single pitch to the "original" 10-bar melody at the very end. I like this idea of revealing the original idea at the end. There are pitfalls, the biggest of which is pacing--it can be boring without tweaking along the way. The other major pitfall is creating a sense of linearity. In other words, the sense that the music is progressing directly along a straight path. Without getting into more detail, it's the difference between a straight line and a curve. The music should move along a curve, not a straight line. Straight lines arise from one-to-one relationships. I try to build more complexity into my systems so the outcome doesn't feel too predictable.

So, here are the revisions I made to the first two soprano parts. I've overlapped the iterations of the patterns. I think this will improving on the steady (plodding) pacing and shortening the process and also by increasing the number of changes in each iteration.

Soprano 1, revised

Soprano 2, revised

The process at this point is simply filling in the empty squares with whatever is left of the empty square:

Soprano 1, mid-process

Soprano 1, complete

Soprano 2, mid-process

Soprano 2, complete

Soprano 3, mid- process

Soprano 3, complete

Finally, I used find and replace in Excel to fill in all the syllables in International Phonetic Alphabet symbols.

Footnote--I will begin with vowels alone and gradually add consonants in the piece.

©2017 Joshua Harris