back to list

Has anything like this ever been made?

🔗Petr Pařízek <p.parizek@chello.cz>

1/27/2008 1:56:09 PM

Hi tuners.

I don't know to which extent this is possible or if there already is such a piece of software -- but if there is, I'd be very happy to know about it. Although I know quite precisely what I'd like the program to do, I'm unable to do it myself as I'm not a good programmer. Moreover, it would be quite meaningless to write such a program if there was already something like this written by someone else. I'll try to demonstrate what I'd like the program to do by taking meantone temperament as an example. The user-specified data are enclosed in the < and > signs to make them distinguishable from my suggestion of what the program could write on the screen.

=== EXAMPLE ===
Period? <2/1>
Unison vectors? <3136/3125, 703125/702464>
Primes found:
2, 3, 5, 7
Period: 2/1
Generator for preserving the highest prime: (56/1)^(1/10)
Prime mapping by period and generator:
1 0
1 1
0 4
-3 10
=== END ===

Of course, the period, if necessary, could be split as well to do the job, which is the case of diaschismatic and other temperaments.

Perhaps some of you know if such a tiny utility exists somewhere?

Thanks in advance.

Petr

🔗Graham Breed <gbreed@gmail.com>

1/27/2008 7:04:56 PM

Petr Pařízek wrote:
> Hi tuners.
> > I don't know to which extent this is possible or if there already is such a > piece of software -- but if there is, I'd be very happy to know about it. > Although I know quite precisely what I'd like the program to do, I'm unable > to do it myself as I'm not a good programmer. Moreover, it would be quite > meaningless to write such a program if there was already something like this > written by someone else. I'll try to demonstrate what I'd like the program > to do by taking meantone temperament as an example. The user-specified data > are enclosed in the < and > signs to make them distinguishable from my > suggestion of what the program could write on the screen.

I've already given you links to my Python library. You can at least use it to write the program you want. http://x31eq.com/temper I think.

> === EXAMPLE ===
> Period? <2/1>

That should be "Equivalence Interval" as the period is output below.

> Unison vectors? <3136/3125, 703125/702464>

There's a routine somewhere for converting text to unison vectors, which the web front-end uses.

> Primes found:
> 2, 3, 5, 7

I think it's possible for a prime not to be involved in any of the unison vectors. At least I prefer to infer the primes from a big set of vectors instead of the minimal one.

> Period: 2/1

Sometimes the period won't be a simple ratio.

> Generator for preserving the highest prime: (56/1)^(1/10)

See makeIntervalExact. Sometimes this isn't uniquely determined.

> Prime mapping by period and generator:
> 1 0
> 1 1
> 0 4
> -3 10
> === END ===
> > Of course, the period, if necessary, could be split as well to do the job, > which is the case of diaschismatic and other temperaments.
> > Perhaps some of you know if such a tiny utility exists somewhere?

It should be simple using my library, where it's possible. It's very similar to what the online script does anyway.

Graham

🔗Petr Pařízek <p.parizek@chello.cz>

1/28/2008 3:23:55 AM

Graham wrote:

> I think it's possible for a prime not to be involved in any
> of the unison vectors.

I’m not sure if I understand what you mean. Are you talking about excluding the 2 to make the coordinates 3-dimmensional? If so, this would make it necessary to take non-octave scales into account as well, which can be seen, for example, in the case of 245/243 which doesn't contain 2 at all and so the most probable equivalence interval could be 3/1.

> Sometimes the period won't be a simple ratio.

The solution for schismatic and other temperaments could be writing the factor like (2/1)^(1/2) or something similar.

> See makeIntervalExact. Sometimes this isn't uniquely
> determined.

Right now, I have to admit I can’t think of any case where this could happen.

> It should be simple using my library, where it's possible. > It's very similar to what the online script does anyway.

It is, indeed, but for some reason, at least as far as the online version of your script is concerned, although it works okay when I type "2401/2400, 1029/1024", it refuses to show any results if I type "1029/1024" alone even though these are 3-dimmensional prime coordinates which should be simpler to process than the 4-dimmensional ones. And, AFAIK, 1029/1024 is tempered out nicely with a generator 7 times smaller than 18/7.

Petr

🔗Petr Pařízek <p.parizek@chello.cz>

1/28/2008 4:30:12 AM

PS: Having thought I would get 13-limit hanson, I tried "625/624, 676/675". But no results were shown. Am I doing anything wrong?

Petr

🔗Graham Breed <gbreed@gmail.com>

1/28/2008 5:23:59 AM

Petr Pařízek wrote:
> 
> PS: Having thought I would get 13-limit hanson, I tried "625/624, > 676/675". But no results were shown. Am I doing anything wrong?

You need more ratios for a 13-limit temperament.

Graham

🔗Graham Breed <gbreed@gmail.com>

1/28/2008 5:44:39 AM

Petr Pařízek wrote:
> 
> Graham wrote:
> >> I think it's possible for a prime not to be involved in any
>> of the unison vectors.
> > I’m not sure if I understand what you mean. Are you talking about > excluding the 2 to make the coordinates 3-dimmensional? If so, this > would make it necessary to take non-octave scales into account as well, > which can be seen, for example, in the case of 245/243 which doesn't > contain 2 at all and so the most probable equivalence interval could be 3/1.

I mean, for example, that you could define a 5-limit temperament with the Pythagorean comma. The 3-limit would be 12-equal but there'd be a small interval giving you the 5-limit corrections. Except that I see that this doesn't work with the ratio library. You can see the result I mean by putting in 12 and 72 for the two-et script though:

http://x31eq.com/cgi-bin/temperament.cgi?et1=12&et2=72&limit=5

A real example from Paul Erlich's Middle Path paper is Blackwood temperament: unison vector of 256:243. Again, doesn't work with online script :(

But yes, try excluding 2. You can plug in 27:25 and get the bug exotemperament. So how does the program know that 2 was the other prime you wanted to use? It has to go with complete prime limits.

>> Sometimes the period won't be a simple ratio.
> > The solution for schismatic and other temperaments could be writing the > factor like (2/1)^(1/2) or something similar.

Oh, well that's easy.

>> See makeIntervalExact. Sometimes this isn't uniquely
>> determined.
> > Right now, I have to admit I can’t think of any case where this could > happen.

Augmented temperament, tempering out 128:125.

>> It should be simple using my library, where it's possible. > It's very > similar to what the online script does anyway.
> > It is, indeed, but for some reason, at least as far as the online > version of your script is concerned, although it works okay when I type > "2401/2400, 1029/1024", it refuses to show any results if I type > "1029/1024" alone even though these are 3-dimmensional prime coordinates > which should be simpler to process than the 4-dimmensional ones. And, > AFAIK, 1029/1024 is tempered out nicely with a generator 7 times smaller > than 18/7.

1029/1024 is a 7-limit ratio, so the script assumes you want the whole 7-limit, and finds it doesn't have enough ratios. If you want incomplete prime limits you will need to fiddle with the code. It gets difficult to second guess what the user wanted. (In the face of ambiguity, refuse the temptation to guess.)

Graham

🔗Petr Pařízek <p.parizek@chello.cz>

1/28/2008 7:07:18 AM

Graham wrote:

> If you want incomplete prime limits you will need to
> fiddle with the code.

Does it mean that because hanson doesn't do 11s (or the temperament I've mentioned doesn't do 5s) there's no way to find the desired mapping?

Petr

🔗Graham Breed <gbreed@gmail.com>

1/29/2008 7:54:58 PM

Petr Pařízek wrote:
> 
> Graham wrote:
> >> If you want incomplete prime limits you will need to
>> fiddle with the code.
> > Does it mean that because hanson doesn't do 11s (or the temperament I've > mentioned doesn't do 5s) there's no way to find the desired mapping?

It's not something the unison vector web script supports. The script for searching by ETs does support incomplete prime limits. You can also write what you want in Python, using my libraries, which shouldn't be that difficult.

Graham