This is a work in progress.
Play it:
This piece is pretty much finished now.
Winding out to the Pacific is the second to last piece in the Music of the Hoh River Valley series. This one is scored for vibraphone, marimba, harp, finger piano, and sine waves. The intonation system is 72 equal divisions of the octave. There are four chords derived from four scales used throughout the piece, and they are played in succession:
This sequence is repeated three times. These four scales are derived from the Partch tonality diamond to the 15th limit. Click on the images below to make them bigger.
In the diamond above, purple is the major scale, 4:5:6:7:9:11:13:15. Green is the minor scale: 12/8:10:12:7:9:11:13:15. Subminor is a mode of the major scale, shown in pink, and yellow is the supermajor, a mode of the minor. Laid out as vertical scales, they look like this:
The orange rows are the primary notes of the scale, making the major or minor sounding chords. Green is for the alternative chords, and white are the really strange ones. I construct fourth chords from these scales, and either play the chord outright, or arpeggiate it up and down. The fourths are constructed starting at the 7th note of the chord in the bass, and going up by approximately 30 steps of the 72 EDO, attempting to go up 60 steps every other note until it repeats. Here are the scale degrees of the fourth chords for each scale.
sub 726 158 473
min 736 251 473
maj 736 251 472
sup 726 148 372
The piece uses indeterminacy heavily. Each instrument has a set of choices for what to play. In this version, the choices random, but weighted towards not picking a choice if it has already been played before.
This version is the 17th run through the algorithm. The 12th and 13th are nice as well, and I might post them some time.
The length of time to stay on one of the four chords is variable from one to eight measures, also chosen with a weighted random selection method.
The tempo is continuously variable, but it tends to go faster on those chords that are played more measures, and slower when the number of measures is low. The transition from one tempo to another is gradual. Here’s a nice picture of the mouth of the Hoh River as it enters the ocean, about 56 miles from its source.
This is a work in progress…
So I took the time this morning while my wife and daughter were out shopping to code the tempo as a continuously variable speed that can be set inside the piece, instead of imposed externally with a hand coded Csound tempo command. Now, every note or phrase can have its own tempo. The speed gradually changes from one tempo to another in this version.
I can’t believe I waited this long to implement such a simple function. In this version, I let the program choose from among 5 possible tempos. The choice is made when it chooses to play a measure of 96 to 240 beats, so that longer sections have faster tempo and shorter ones play slower.
This is a work in progress…
Playing with the tempo. I’d really like the ability to set the overall tempo the way I set the overall volume: as a continuously variable speed that can change with each note. Csound allows that, I just need to code the preprocessor to support it. Today I hand code it thusly:t0 480 200 840 300 1280 600 800 700 240 900 1200 2000 1300
Where starting at time zero the tempo is 480 beats per minute, until time 200, when it reaches 840 bpm, then speeds up to 1280 at beat 300, then slows down to 800 at beat 600, and so on.
But that means I have to know when the tempo change is supposed to happen, and that varies depending on the chosen route through the piece. Simple matter of programming…
This is a work in progress…
Here we have an intermix of the minor scale with the subminor. I can’t hear the difference with this set of instruments and patterns. I may have to go back to the drawing board. My goal is to showcase the movement from subminor to minor to major to supermajor. But this musical material may not be appropriate for that idea. Oh well. It sounds good anyway.
@ play them
@
&all-t23min-48-*. &all-t23min-48-*. &all-t23min-48-*. &all-t23min-48-*.
.vel-vel a235
&all-t23min-48-*. &all-t23min-48-*. &all-t23min-48-*. &all-t23min-48-*.
.vel-vel a200
&all-t26sub-48-*. &all-t26sub-48-*. &all-t26sub-48-*. &all-t26sub-48-*.
.vel-vel a100
&all-t26sub-48-*. &all-t26sub-48-*. &all-t26sub-48-*. &all-t26sub-48-*.
.vel-vel a230
&all-t23min-48-*. &all-t23min-48-*. &all-t23min-48-*. &all-t23min-48-*.
.vel-vel a255