-
Notifications
You must be signed in to change notification settings - Fork 1
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
Comments
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 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!) |
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: 5-limit: And that's it! To find the monzo from the comma name: |
Is there anything I can do to help make this feature request happen? |
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.
The text was updated successfully, but these errors were encountered: