back to list

Wedge update

🔗Graham Breed <graham@microtonal.co.uk>

12/9/2001 2:18:29 PM

I've been hard at work debugging my program. It can now clear all the tests
I had for generating temperaments from unison vectors. Source code is at

<http://www.microtona.co.uk/temper.py>

and for the test scripts

<http://x31eq.com/wedgeTest.py>
<http://www.microtona.co.uk/findWedges.py>
<http://x31eq.com/writetemper.py>

Of those, wedgeTest goes over my own list of unison vectors, findWedges takes
an input file with one set of unison vectors per line, chromatic last, and
writetemper is the usual script for starting with ETs.

I forgot to upload the last script, but it's quite short so I'll copy it
here. It takes as input a file containing a list of 7-limit ratios, and
nothing else that looks like a ratio.

import temper

write = open('survey.wedge','w').write

for basis in temper.getCombinations(open('paul.survey').read()):
write(str(temper.temperOut(basis)))
write("\n\n")

I'm not sure if the input files are still there. But try

<http://x31eq.com/paul.survey>

for that one, and

<http://x31eq.com/paul.limit7.vectors>
<http://x31eq.com/gene.limit7.vectors>

for findWedges.py

I've solved a knotty problem that prevented some temperametns being printed.
It turns out that wtih some chromas, the generator ends up as a negative
interval. That meant the MOS finder went into an infinite loop, becasue it
can never be negative. So I fixed that by getting it to look for the
absolute value. One example is an early sighting of ennealimmal from Gene's
list.

(-1, -7, 4, 1, 0, 0, 0, 0), (-5, -1, -2, 4, 0, 0, 0, 0), (2, 2, -1, -1, 0, 0,
0, 0)]

0/1, -49.0 cent generator

basis:
(0.1111111111111111, -0.040838783185694151)

mapping by period and generator:
[(9, 0), (15, 2), (22, 3), (26, 2)]

mapping by steps:
[(9, 0), (13, 2), (19, 3), (24, 2)]

highest interval width: 3
complexity measure: 27 (45 for smallest MOS)
highest error: 0.000170 (0.204 cents)
unique

I still can't handle combinations beyond the 7-limit, but I expect I'll work
it out once I sit down and think about it. Most higher priority loose ends
have been tied up now.

Graham