A few weeks ago, I found something amazing: the Bohlen-Pierce Scale. To simplify my life, I designed a pitch class converter to allow scorefile input in the form T.pc (tritave, dot, pitchclass). It can handle two forms of the scale, in equal temperament and just intonation. And just to make things a bit more interesting, I created a demo -- complete with an announcer ;-)
The BP Scale
The definitive website for learning about this scale would be The Bohlen-Pierce Site
To get to the BP Scale, abandon the concept of octaves. Imagine music written for instruments that emphasize the odd harmonics -- fundamental, 3rd, 5th, and so on. In this alternate universe, the key element is the tritave. A given note and its tritave equivalent should have the frequency ratio 3:1.
Now, divide the tritave into 13 steps. If these are 13 equal steps, you have what I call 'bpet', Bohlen-Pierce Equal Temperament. It's relative is 'bpji', Bohlen-Pierce Just Intonation. (There's a chart of the interval ratio definitions here.)
The Converters
Being a Python programmer, I was eager to try out the Python opcodes in Csound. I've used them in several trivial experiments, but this is my first actual application.
You do not need the entire bohlenpierce.csd file to use the Python opcodes. If you just copy the python code from the HEADER section (lines 30 to 86) into your own orchestra, then you can access the new converters using the following syntax:
icps pycall1i "cpsbpet", int(p5), frac(p5)*100
for equal temperament.icps pycall1i "cpsbpji", int(p5), frac(p5)*100
for just intonation.
Above, I'm assuming the T.pc specification is stored in p5.
The Demo
The file is so huge because I got creative. Actually, I used an old trick of mine, audible tagging.
Every song I've ever recorded, I've usually put together a few 'beta' versions before the final release. Often, I will do a dozen or so mixdowns before the final version -- but how to keep all these different versions organized? I could have different mixes, different takes, alternate endings -- anything.
Further, I generally burn them to CD, then listen to them in the car, repeatedly. It's inconvenient (and dangerous) to riffle through a pile of written notes when I hear something that needs to be changed (or that worked well enough to duplicate).
I came up with the following solution: I use a text-to-speech program called espeak to generate a "tag" for the section I'm trying to mix. Then I mix it into the demo audio file just before the problem section.
Usually the name is a short code phrase that will remind me of what I was thinking when I put the sample together -- or let me find the place in my music notebook where I wrote down my instrument settings.
Anyway, here I used it to compare the sound of two cadences in BP.
When you hear the file, you won't have to come back here and figure out which version was equal temperament and which version was just intonation.
You'll know.
Try it out and have fun with it.
| Attachment | Size |
|---|---|
| bohlenpierce.csd | 291.56 KB |


