Tango #4

More keys, more variation in tempo. There are lists of durations, velocities, and notes, and the system uses a Markov Chain Drunkard’s Walk to navigate them. That is, they can only go forward or backward in the lists of lists of lists. Still not a tango, but I’m just getting used to the sounds of the piano now.

or download here:
Tango #4

Tango #1

I’m just starting to work through two very new things. I bought a sample library of a Bosendorfer piano that included 11 different volume levels. To enable this, I’ve updated my source code to support a linkage between the requested volume and the sample chosen. It was actually only a few lines of Csound code that were required to add that capability. Finding those few lines was a bit of a challenge, but it was worth it.

I also have been incorporating a Partch tonality diamond to the 31-limit. That’s not 31-EDO, but rather the overtonality and utonality to the 31st overtone. Previously I had limited my work to the 15-limit, and frequently to the 11-limit. There is a whole world out there that I’ve only begun to hear for the first time. The current scale has 16 tones per o- or u-tonality, 216 in total per octave.

This piece is just an experiment to hear what it can do. It’s not yet a tango, but that will come later.

or download here:
Tango #1
2014-11-29 16.51.08

Partch Tonality Diamond to the 31-limit

I’ve been playing around with some impressionist composers of the late 19th century, including Chopin, Debussy, and Ravel. Mostly Ravel’s Habanera, which is a charming piece for piano and soloist. I’ve heard versions with clarinet, violin, and flute, and they are really lovely. I though, well, let’s really mess it up by realizing a microtonal version. I tried some of my 15-limit scales, but quickly ran out of notes. Ravel is very chromatic, and an 8 note 15 limit scale is missing several accidentals, and the ones it has are a little strange.

To find some more of those missing notes that I’m sure Chopin, Ravel, & Debussy would use if they only had instruments that could play them, I moved up to a 31 limit. That’s 8 more notes per otonality and utonality scale to make 16 per octave per scale, with 16 scales to build. I’ll be trying to adjust my Csound sampler to accommodate the extra notes. The 31-limit in just has 216 distinct pitches per octave, so it really overwhelms to 72-EDO scale I’ve used lately. (I add two notes at the top and bottom of the scale to make the first jump 1/3 less large. There not in the diamond. While I’m at it, I plan to add the ability to automatically pick the right samples base not just on pitch but also volume. I bought a Bosendorfer sampler online, which has 5 or 6 different samples per note, depending on how hard the note is played. Most modern sample players handle that automatically, but mine, built with Csound, will take some more work. Not a lot, just some more.

Here is a picture of the 31-limit tonality diamond lined up with ratios in order from 16 to 31. It uses the following otonality ratios: 16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31. Each box in the diamond has the ratio in just, the pitch number in a non-equal 216 notes to the octave scale (1-216), and the note name in Sagittal notation. Click on the link below to enlarge it. As you might expect, 31 Limit is large. From a spreadsheet that I’d be happy to share.

Partch Tonality Diamond to the 31 Limit

Alpine Daisy – Roof of Wind #44

Another version, this time with somewhat better control over the repetition of the quartets when they join into a duodecet (12 piece ensemble). There are still major problem repeating the earlier parts in the larger ensemble. Only about 30% of the notes are the same between when they play as a quartet and when they join the full ensemble. Clearly, something is different when they go through the algorithm as four to when the go through as 12. But I can repeat the ensemble section note for note with 100% duplication. If I’m to continue exploring the Castor & Pollux template, I’m going to need to develop a new solution. But it does sound good while I’m trying to fix it.

or download here:
Alpine Daisy – Roof of Wind #44

Alpine Daisies – Roof of Wind #40

This is a new version of a piece I worked on this summer. I added a new randomization methodology. I now read random numbers from a number of files. This way I can replicate a set of notes more or less at will by resetting to the start of the file. This particular piece used the structure of Harry Partch’s Castor & Polux, in which the ensemble is split up into three different duets, and then join together to have all six replay their separate parts. In the past, I could only split the groups up and bring them together, but when they came together they would play entirely different sequences of notes. Now, I can set the groups to play their separate parts, and when they join together, I can have them play the same sequences they played when they were separate.

Here’s what the structure looks like graphically:

  • Quartet #1: Finger piano, harp, tuba, bassoon – plays a sequence of notes from random files 1,2,3, & 4 from the beginning of the file
  • Quartet #2: Baritone guitar, bass finger piano, English horn, flute – plays a sequence of notes from random files 5,6,7, & 8 from the beginning of the file
  • Quartet #3: piano, vibraphone, balloon drums, French horn – plays a sequence of notes from random files 9,10,11, & 12 from the beginning of the file
  • Ensemble duodecet (all 12 instruments) – plays the same sequence as in the first three quartets, this time as an ensemble, twice through, from the beginning of the files

This sequence is repeated three times. My programming skills are not up to the complexity of all this, so the repetitions are less than perfect. Many of the choices the algorithm makes are not repeatable. For example, some are dependent on the previous notes, rather than unique to the situation. There is a good deal of variability. The instruments choices are from a list of list of lists of lists. By the time a note is played, there may have been a dozen choices made, which makes the repetition not quite perfect. The basic sonic quality is preserved. Sort of.

At least that is the design goal. For this version, I did not use the Markov Chain Drunkard’s Walk algorithm. Instead, random numbers were generated to a set of 12 files, one for each instrument, using the Free Pascal random function:The Free Pascal implementation of the Random routine uses the Mersenne Twister to simulate randomness. This implementation has a better statistical distribution than for example a Linear Congruential generator algorithm, but is considerably slower than the latter. If speed is an issue, then alternate random number generators should be considered.

I have almost no clue what that means, but it sounds nice and numerological, so it has that going for it.


or download here:
Alpine Daisy – Roof of Wind #40