Blog

Amazing Grace – transformed

Today’s post is the first “final” version. At this stage I generate multiple passes through the algorithm looking for one that has something special. This one has some nice slides with shakes. Imagine a pair of grand pianos with bottle slides and special sustain pedals that allow the notes to resonate especially long. This version gets fast and slow. It has seven times through the melody, with various levels of alteration along the way.

Play it here: or download this linkSubscribe here: to this RSS feed

Amazing Grace – now with a macro inside a macro

Today’s post was made using a new function in my pre-processor, which reads a text file and generates Csound source code. The new function makes it possible to change the name of a macro each time it is called. For example, I’ve always been able to make a different macros, and call them explicitly by name:

.pian c1v67
.any01-1-a1 d12t42
&pian.&any01-1-a1.

This snippet would produce a line like this:

c1v67d12t42

Which would in turn produce a Csound score line like this:

i1 0 42 67 42

Csound would interpret each parameter as time to start, duration, loudness, pitch, etc. There are parameters for many other note characteristics, but that’s enough for this example.

I can call a macro by name, or I can let the preprocessor pick one that meets a “wild card” match. For example:

.pian c1v67
.any01-1-a1 d12t42
.any01-1-a2 d12t3
&pian.&any01-1-a*.

This would either call any01-1-a1 or any01-1-a2, chosen by one randomization method or another. That was the limit to the preprocessor up until today. This meant that I would have to generate choices for all the measures in a hymn transformation. In one case, that was over 60 different sets of possible chords to choose from. The transformation of Now Thank We All Our God had over 8000 lines of source code, all done my hand. It was very tedious, and prone to error if I missed a letter or two. And if I discovered one particularly useful way to manipulate a chord near the end of my composition process, I couldn’t retrofit it to all the other measures.

The new method allows me to call a macro and change which one I call using simple indirection. For example:

.pian c1v67
.any01-1-a1 d12t42
.any02-1-a1 d12t3
.num 01
&pian.&any&num.-1-a*.
.num 02
&pian.&any&num.-1-a*.

The macro name is resolved inside out: first &num. is resolved to 01, then &any01-1-a* is resolved to d12t42 or d12t3. With recursion, any number of indirections are possible. Gotta love that 1980’s Turbo Pascal compiler.

This allows me to chose a different macro for each chord at execution time, but set up a massive number of variations for all chords, without coding each measure individually. That’s a 60:1 savings on code size and tedium. All good.

Today’s example is the first five chords of Amazing Grace, repeated seven times. The variation is set to maximum, so there are some strange slips and slides, and trills that your ordinary piano can’t do. Mine can. It still sounds like a piano, just one that has some extra mechanical do-dads inside.

Play it here: or download this linkSubscribe here: to this RSS feed

Amazing Grace – up & down

Today’s post uses a Csound function table to make trills and slides. At any given time, the notes can either be played straight, trilled up to the target, from the target to the next note, slid up to the target, or down to the target note. This makes for some frantic movements at first. This is just a few measures of one chord, and there are 35 in Amazing Grace.

Here’s the code for a trill up 16 steps in 72 EDO, which is a good approximation of a 7:6. The trill is 8 times up and down.
f 457 0 256 -7 1 16 1 0 1.1665290 16 1.1665290 0 1 16 1 0 1.1665290 16 1.1665290
0 1 16 1 0 1.16652904 16 1.16652904 0 1 16 1 0 1.16652904 16 1.16652904
0 1 16 1 0 1.16652904 16 1.16652904 0 1 16 1 0 1.16652904 16 1.16652904
0 1 16 1 0 1.16652904 16 1.16652904 0 1 16 1 0 1.16652904 16 1.16652904
; 7:6 156 up & down .trl7:6 g156

Graphically it looks like this:

Play it here: or download this linkSubscribe here: to this RSS feed

Amazing Grace – slip sliding away

Today’s entry has each not choosing to either slide to the next note or not, and the duration before the slide starts varies from 1/3 to 1/10th the duration of the note. For example, if I need to slide up 6 72 EDO steps, I code the following in csound:

lf 315 0 256 -6 1 218 1.0000000 12 1.0000000 12 1.0297315 12 1.0594631 1 1.0594631 1 1.0594631 ; 14 up 6 a
lf 363 0 256 -6 1 110 1.0000000 48 1.0000000 48 1.0297315 48 1.0594631 1 1.0594631 1 1.0594631 ; 14 up 6 c

This gives me one function table that rises fast, and another that’s slower.
The fast one:

The slow one:

The preprocessor chooses either one, or one that doesn’t slide at all.

Play it here: or download this linkSubscribe here: to this RSS feed

Amazing Grace – sketches for a transformation

This is a work in progress. Today’s sketches use my microtonal slide piano. The chords can slide from a 7:9:11 to 4:5:6, in various inversions. Csound allows for any function table to control the pitch, so I used several that are similar to this one:

The Csound code looks like this:

f 471 0 129 -6 1 4 1 4 1 16 1.0400 16 1.0801 4 1.0676 4 1.0551 4 1.0676 4 1.0801 4
1.0676 4 1.0551 4 1.0676 4 1.0801 4 1.0676 4 1.0551 4 1.0676 4 1.0801 4 1.0676 4
1.0551 4 1.0676 4 1.0801 4 1.0676 4 1.0551 4 1.0676 4 1.0801 4 1.0676 4 1.0551

The function starts at 1 and rises to 1.0801, which is 8 steps in 72 EDO, approximately a 13:12. I have a few dozen of these for the most common intervals. It falls by a single 72 EDO step and goes back up for 8 cycles or so. I think it sounds like a guitar whammy bar.

I’m not sure what this has to do with Amazing Grace, except that the first chord of the song is a G major. Just like Amazing Grace!

Play it here: or download this linkSubscribe here: to this RSS feed

Drei Equale

This is a work in progress. I’ve made a few updates to the ratios of some of the notes to take the advice of some microtonalists. My ratios are shown on the JPG below in blue, Marcel de Velde’s in black. I tried to eliminate the wolfs. The differences are small to Marcel’s choices, a 7/6 instead of an 6/5 at chord 12 to enable the 7th overtone, and several choices that are 81/80 or 64/63 different. What’s a 225/224 among friends? (chord 27: I like the 7/5, he has 43/32. I’m trying to make sure that when you hear a 3/2, it is a 3/2, and not a 20/27 or a 45/64, or something like it. That’s my rule for now. See measure 5, where I’ve changed the 9/8’s to 10/9, to keep a 3/2 instead of the 20/27.

Click to make it bigger.

Play it here: or download this link
Subscribe here: to this RSS feed

O Sacred Head, Now Wounded – #14

For this version, I switched from 72-EDO to pure just, to hear the effect. The samples I use are as in well tuned as I can get them, but I still hear beats in some chords, even with pure just intonation. Some of the samples move around in pitch as they transition from the attack to sustain. I can imagine those poor guys in a room playing into a microphone trying to hit a pitch. There’s only so much you can do with human beings, I guess.

Play it:

Subscribe here: to this RSS feed

Download here.

Drei Equale – Beethoven Trombone Quartet

This is a work in progress. Marcel de Velde has asked several microtonalists to apply our intonation efforts to retuning Ludwig Von Beethoven’s Drei Equale for trombone quartet. Here’s my first pass at the first 21 measures. I used Csound and a trombone sample from the McGill University Master Samples library. I don’t have any midi tools available.

I’ve used some strange ratios, especially for the diminished triads. Measure 12 starts with a D minor, which I use 10/9 4/3 5/3. In the next chord, the A becomes an Ab to make a diminshed triad. I chose the ratio of 14/9. That makes a 5:6:7 ratio, as in the otononality scale. How else to chose? Where did the diminished triad originate?

There is another diminshed triad in measure 17, last note. I chose 6:11:13 here, and it really sticks out. Maestro LVB would not approve. Any better ideas?

Play it:

Subscribe here: to this RSS feed

Now Thank We All Our God #9


This is a work in progress. This is the current ninth take. It’s shorter than the others, at just under eight minutes. The algorithm chooses how long to stay on each chord from a list of choices, one to five beats, then repeats it zero to two times. That way, it can be as short as one beat to as long as fifteen beats on each chord.

Play it:

Subscribe here: to this RSS feed