Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: allow input of, and create output for, comma/temperament names #5

Open
TallKite opened this issue Aug 2, 2021 · 3 comments
Labels
microtonal-utils This issue involves making a change to microtonal-utils

Comments

@TallKite
Copy link

TallKite commented Aug 2, 2021

enter 250/243, get an additional line of output "Triyo comma"
enter Triyo or Triyo comma, get 250/243, Triyo comma, etc.
enter triyo, get 250/243, Triyo comma, etc. and maybe "Did you mean Triyo?"

There are actually two formats of color names. The standard format is lower-case and uses degrees. The comma format is capitalized and omits degrees. Both use magnitudes (la-, sasa-, etc.) and colors. The standard format uses degrees to distinguish between the 7 intervals of a given row segment of a given color. The comma format uses -bi, -tri, etc. as suffixes. These are based on cents size, so the smallest of the 7 intervals has no suffix. Thus Ly-2 is Layo and Ly1 is Layobi. This provides a concise way to name remote commas and avoids the term negative, which many commas are. Most well-known commas do not have a suffix in their name. See https://en.xen.wiki/w/Color_notation/Temperament_Names

This feature would be extremely valuable, because someone could write about the Triyo comma, or the Triyo temperament, or the Triyo[8] scale, and the reader could use xen-calc to find the ratio being referred to.

It would be counterproductive IMO to always output the comma format. 5/4 shouldn't be called a Yobi comma! Where to draw the line? Perhaps there should be a maximum damage, above which the comma format is not used. A simple formula for damage is to add up all the numbers in the monzo and divide the cents by this number. This tells you the damage per lattice rung, and if the damage is too high, the ratios are assumedly tempered beyond recognizability. The 2-exponent would probably be included, not sure. Sign is ignored, so 81/80 = [-4 4 -1> would sum to 9. 22¢ divided by 9 = about 2.34¢ damage to 2/1, 3/1 and 5/1. If you agree to this feature request, I can ask around for a good damage formula. Note that badness is based on both damage and complexity. IMO a complex comma should always qualify for a comma name if the damage is low enough. Thus there can be -tri or -quad or even co- commas, but they would be extremely remote in the lattice.

The actual damage threshhold will be somewhat arbitrary. It should certainly be high enough to include Layobi aka Mavila = 135/128 and Zozo aka Semaphore = 49/48, as these commas/temperaments are frequently discussed. There can be exceptions made for a few other often-discussed high-damage temperaments such as 25/24 and 16/15.

Commas that are actually stacks of identical smaller commas e.g. (81/80)² should either have no comma name, or be called two Gu commas. An input of Lagugu as opposed to Lgg1 or (81/80)², i.e. an input that is posed as a comma name, should be called two Gu commas, and perhaps get "Did you mean Gu?".

There is actually a 3rd format, the edo format, for certain 3-limit commas like [-49 31>, which is 31-edo's sole wa comma. The standard name for this comma is quadlawa negative 3rd, L⁴w-3. The comma-format name would be Quadlawa. But it's much more informative to call it by its edo-format name, Wa-31.

Most 3-limit intervals are too high-damage to get a comma name, e.g. 32/27 (3-edo). The octave inverse of Wa-31 is perhaps not too high-damage to be called a comma, but would not use an edo-format name, because that's reserved for the smallest voicing of that comma. So every Wa-N comma is < 600¢.

There are 3 special cases: the 5-edo comma (Blackwood) is named Sawa not Wa-5, 7-edo (Whitewood) is Lawa not Wa-7, and 12-edo (Pythagorean comma) is Lalawa not Wa-12. But Wa-5 etc. should still be allowed as input.

Wa-10 and Wa-24 are not valid comma names, similar to the (81/80)² issue.

@m-yac
Copy link
Owner

m-yac commented Aug 12, 2021

This is a great suggestion - I was trying to think of a way to work color temperament notation into xen-calc and I think this is a good way to do it.

For the time being, you can still do half of this conversion automatically. The interval -> color temperament name conversion has been a part of microtonal-utils for a while, but using it is not as convenient as xen-calc. If you go to https://www.yacavone.net/microtonal-utils/ and press the play button, you can type things like colorTemperament(135,128) and you should hopefully get what you're looking for! (Because I never ended up using it in xen-calc I didn't test this function very extensively, so if you end up using it please let me know if you find any bugs!)

I was thinking one day it would be nice to make a webpage called "Temperament explorer" or something, which is basically xen-calc but for rank-n temperaments, and converting to/from these names would be a core part of that site. But building a whole new site like that is still a ways away (making xen-calc already took me about 5x longer than I thought!)

@TallKite
Copy link
Author

The colorTemperament function seems to work fine. The only bug I found is that the output should be capitalized.

Since this is done, let's decide on the damage formula. This is what determines if a ratio qualifies as a comma, and the output includes the comma-format name. I suggest something simple like a maximum of 15¢ per rung. We can assume untempered octaves on the grounds that if you need to temper the octave to avoid excessive damage, it's not a very good temperament. So we can simply add up the absolute values of all the monzo entries except the first one. Then divide the cents by this number to get the damage metric.

We can have a short list of frequently-discussed higher-damage commas that are handled as special cases:

3-limit:
Sawa, Lawa, Lalawa (also included because named differently than other wa commas)
supersharp/superflat edos: Wa-8, Wa-9, Wa-11, Wa-13, Wa-16, Wa-18, Wa-23
And we're done because the 15¢ limit automatically includes the commas for all edos with a 5th between 4\7 and 3\5, since the two extremes 42 and 47 have 5ths that are < 15¢ off

5-limit:
Layobi, Gubi, Yoyo, Gugu
a few really obscure ones:
Latribiyo (lemba)
Latriyobi (enipucrop)
Latrigubi (Gorgo/Laconic)
Sayoyo (supersharp)

And that's it!

To find the monzo from the comma name:
https://en.xen.wiki/w/Color_notation/Temperament_Names#Finding_the_comma_from_the_name_and_vice_versa

@m-yac m-yac added the microtonal-utils This issue involves making a change to microtonal-utils label Sep 6, 2021
@TallKite
Copy link
Author

Is there anything I can do to help make this feature request happen?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
microtonal-utils This issue involves making a change to microtonal-utils
Projects
None yet
Development

No branches or pull requests

2 participants