User:Ganaram inukshuk/Notes
This page is for miscellaneous xen-related notes that I've written about but don't have an exact place elsewhere on the wiki (yet).
On the Origin of MOS Recursion
MOS Recursion and Replacement Rules 1 and 2
MOS recursion describes a set of properties that all moment-of-symmetry scales share that, among other things, allows us to create a few algorithms for determining whether an arbitrary scale of large and small steps has those properties.
The child scale of a MOS follows a distinct pattern in which the large step breaks up into the next large step and the next small step (in some order) and the small step becomes either the next large step or the next small step. As such, we can represent this as two sets of replacement rules:
- Replacement ruleset 1 (where L - s > s)
- L -> Ls
- s -> s
- Replacement ruleset 2 (where L - s < s)
- L -> sL
- s -> L
It should be noted that if the order of L's and s's is reversed (for example, L->sL and s->s for ruleset 1), the rulesets are still valid. The numbering of rulesets is also arbitrary. For explanation purposes, rulesets 1 and 2 and successive pairs of rulesets are denoted as though they were sisters of one another; this sistering process can be described with its own ruleset:
- L->s
- s->L
Replacement Rules 3 and 4
Applying ruleset 1 to itself n times produces ruleset 3, where L produces an L followed by n s's:
- L->Lss...ss (n s's)
- s->s
As such, applying ruleset 1 to itself n-1 times will result in L producing an L and n-1 s's. If ruleset 2 is applied to this, it creates ruleset 4, where L produces an s followed by n L's, the sister of ruleset 3:
- L->sLL...LL (n L's)
- s->L
Replacement Rules 5 and 6
Reversing the order of L's and s's of ruleset 2 produces this intermediate ruleset:
- L->Ls
- s->L
Applying ruleset 1 to the reversed form of ruleset 2 n times produces ruleset 5, where L produces an L followed by n+1 s's and s produces an L followed by n s's:
- L->Lss...ss (n+1 s's)
- s->Lss...s (n s's)
Applying ruleset 2 to ruleset 1 n times produces ruleset 6, the sister of ruleset 5 where L produces an s followed by n+1 L's and s produces an s followed by n times:
- L->sLL...LL (n+1 L's)
- s->sLL...L (n L's)
The final rulesets are as follows:
- Replacement ruleset 1
- L -> Ls
- s-> s
- Replacement ruleset 2
- L -> sL
- s -> L
- Replacement ruleset 3
- L->Lss...ss (n s's)
- s->s
- Replacement ruleset 4
- L->sLL...LL (n L's)
- s->L
- Replacement ruleset 5
- L->Lss...ss (n+1 s's)
- s->Lss...s (n s's)
- Replacement ruleset 6
- L->sLL...LL (n+1 L's)
- s->sLL...L (n L's)
On the Chunking Operation
The chunking operation is contingent on rulesets 5 and 6 since there must be two unique chunks whose string sizes differ by exactly one L or one s. Repeatedly applying these rules as reduction rules on a valid moment-of-symmetry scale will reduce the scale to a progenitor scale of either Ls or sL. The reduction rules can be denoted as such:
- Reduction ruleset 5
- Lss...ss (n+1 s's) -> L
- Lss...s (n s's) -> s
- Reduction ruleset 6
- sLL...LL (n+1 L's) -> L
- sLL...L (n L's) -> s
However, it may be the case that the reduced scale has only one L or one s, or that that the scale started out this way. In either case, rulesets 5 and 6 cannot be used, but rulesets 3 and 4 can be used instead:
- Reduction ruleset 3
- Lss...ss (n s's) -> L
- s -> s
- Reduction ruleset 4
- L->sLL...LL (n L's) -> L
- L -> s
For reduction ruleset 3, the entire scale except for one s is replaced with an L. For reduction ruleset 4, all but one L is replaced with an L with the remaining L replaced with an s. This can also be thought of using reduction ruleset 2 (sL -> L and L -> s) followed by reduction ruleset 3.
Using these rules as reduction rules allows for the scale to still be reduced back down to Ls or sL.
Since all MOSses must ultimately come from a pair of generators (represented in the progenitor scale as L and s), then this proves that if an arbitrary scale can be reduced to Ls or sL, then the scale itself must be a MOS.
Note that this only applies to single-period scales; for multi-period scales, such as LLsLsLLsLs, the rules must be applied individually to each period and the resulting progenitor scale will be either Ls or sL repeated multiple times, and it cannot be a mix of both Ls and sL.
On Modal Brightness and Numeric Encoding
Using Scale Codes to Sort by Modal Brightness
Modal brightness typically refers to how "bright" or "dark" the usual diatonic modes are (lydian, ionian, mixolydian, dorian, aeolian, phrygian, locrian). Since diatonic (5L 2s) is one of many moment-of-symmetry scales, the idea of modal brightness can be generalized using UDP notation.
For example, the seven modes of diatonic can be encoded as LLLsLLs, LLsLLLs, LLsLLsL, LsLLLsL, LsLLsLL, sLLLsLL, and sLLsLLL, whose UDP are 6|0, 5|1, 4|2, 3|3, 2|4, 1|5, and 0|6 respectively. The scale codes can be interpreted as binary numbers (L = 1 and s = 0), producing 1110110, 1101110, 1101101, 1011101, 1011011, 0111011, and 0110111. Doing this provides a mathematical way of understanding how modal brightness works, since larger binary values mean brighter scales.
Scale code | Binary | Decimal | MOS | UDP | MOS name | Mode name |
LLLsLLs | 1110110 | 118 | 5L 2s | 6|0 | Diatonic | Lydian |
LLsLLLs | 1101110 | 110 | 5L 2s | 5|1 | Diatonic | Ionian |
LLsLLsL | 1101101 | 109 | 5L 2s | 4|2 | Diatonic | Mixolydian |
LsLLLsL | 1011101 | 93 | 5L 2s | 3|3 | Diatonic | Dorian |
LsLLsLL | 1011011 | 91 | 5L 2s | 2|4 | Diatonic | Aeolian |
sLLLsLL | 0111011 | 59 | 5L 2s | 1|5 | Diatonic | Phrygian |
sLLsLLL | 0110111 | 55 | 5L 2s | 0|6 | Diatonic | Locrian |
Therefore, to produce the modes of a MOS in descending modal brightness, start with the scale code, produce all of its possible shifts, interpret them as binary numbers, and sort them in descending order. It should be noted that the characters "L" and "s", when sorted in lexicographic order (IE, alphabetical order), equivalently represent the binary representations in descending order, so the conversion to binary numbers is technically not necessary.
Side note: there is a concept known as "cyclic permutational order" that coincides with the notion of shifts, and the only reference to it anywhere on the wiki is this page on mavila temperament.
As an example, consider 3L 4s represented as sLsLsLs. Its six other shifts are LsLsLss, sLsLssL, LsLssLs, sLssLsL, LssLsLs, and ssLsLsL. Sorting them produces LsLsLss, LsLssLs, LssLsLs, sLsLsLs, sLsLssL, sLssLsL, and ssLsLsL, and are enumerated using UDP notation from 6|0 to 0|6 accordingly. Again, the binary representation (and decimal forms) gives an intuitive sense of what it means for a scale to be bright. As of writing, the article on 3L 4s is written using sLsLsLs (UDP 3|3) as the "default" mode, or the mode represented using middle C as the root (or TAMNAMS middle J); in comparison, the default mode for diatonic is ionian (UDP 5|1, or LLsLLLs). UDP notation gives a sense of how many modes are brighter or darker starting from the default mode, though these sortings (and thereby binary encodings) provide that sense without any notion of a "default" mode.
Scale code | Binary | Decimal | MOS | UDP | MOS name | Mode name |
LsLsLss | 1010100 | 84 | 3L 4s | 6|0 | Mosh | Dril |
LsLssLs | 1010010 | 82 | 3L 4s | 5|1 | Mosh | Gil |
LssLsLs | 1001010 | 74 | 3L 4s | 4|2 | Mosh | Kleeth |
sLsLsLs | 0101010 | 42 | 3L 4s | 3|3 | Mosh | Bish |
sLsLssL | 0101001 | 41 | 3L 4s | 2|4 | Mosh | Fish |
sLssLsL | 0100101 | 37 | 3L 4s | 1|5 | Mosh | Jwl |
ssLsLsL | 0010101 | 21 | 3L 4s | 0|6 | Mosh | Led |
Including the Modes of More than One MOS
As a curiosity, there are 128 possible 7-bit numbers (0000000 to 1111111) representing the unsigned integer values of 0 to 127. Among the 6 possible heptatonic MOSses (1L 6s, 2L 5s, 4L 3s, 3L 4s, 5L 2s, and 6L 1s), there are therefore 42 modes total. For our purposes, we include equiheptatonic (7 equal divisions of the octave) as being represented by both 0000000 and 1111111 (or simultaneously being both 0L 7s and 7L 0s) for a total of 43 (or 44) scales.
Though modal brightness makes more sense when thinking about the modes of a single MOS, this is how the modes of all six MOSses are ordered when sorted from highest binary encoding to smallest binary encoding:
Scale code | Binary | Decimal | MOS | UDP | MOS name | Mode name |
LLLLLLL | 1111111 | 127 | 7L 0s | 0|0 | Equiheptatonic | Equiheptatonic |
LLLLLLs | 1111110 | 126 | 6L 1s | 6|0 | Archeotonic | Ryonian |
LLLLLsL | 1111101 | 125 | 6L 1s | 5|1 | Archeotonic | Karakalian |
LLLLsLL | 1111011 | 123 | 6L 1s | 4|2 | Archeotonic | Lobonian |
LLLsLLL | 1110111 | 119 | 6L 1s | 3|3 | Archeotonic | Horthathian |
LLLsLLs | 1110110 | 118 | 5L 2s | 6|0 | Diatonic | Lydian |
LLsLLLL | 1101111 | 111 | 6L 1s | 2|4 | Archeotonic | Oukranian |
LLsLLLs | 1101110 | 110 | 5L 2s | 5|1 | Diatonic | Ionian |
LLsLLsL | 1101101 | 109 | 5L 2s | 4|2 | Diatonic | Mixolydian |
LLsLsLs | 1101010 | 106 | 4L 3s | 6|0 | Smitonic | Nerevarine |
LsLLLLL | 1011111 | 95 | 6L 1s | 1|5 | Archeotonic | Tamashian |
LsLLLsL | 1011101 | 93 | 5L 2s | 3|3 | Diatonic | Dorian |
LsLLsLL | 1011011 | 91 | 5L 2s | 2|4 | Diatonic | Aeolian |
LsLLsLs | 1011010 | 90 | 4L 3s | 5|1 | Smitonic | Vivecan |
LsLsLLs | 1010110 | 86 | 4L 3s | 4|2 | Smitonic | Lorkhanic |
LsLsLsL | 1010101 | 85 | 4L 3s | 3|3 | Smitonic | Sothic |
LsLsLss | 1010100 | 84 | 3L 4s | 6|0 | Mosh | Dril |
LsLssLs | 1010010 | 82 | 3L 4s | 5|1 | Mosh | Gil |
LssLsLs | 1001010 | 74 | 3L 4s | 4|2 | Mosh | Kleeth |
LssLsss | 1001000 | 72 | 2L 5s | 6|0 | Antidiatonic | Antilocrian |
LsssLss | 1000100 | 68 | 2L 5s | 5|1 | Antidiatonic | Antiphrygian |
Lssssss | 1000000 | 64 | 1L 6s | 6|0 | Anti-archeotonic | Antizokalarian |
sLLLLLL | 0111111 | 63 | 6L 1s | 0|6 | Archeotonic | Zokalarian |
sLLLsLL | 0111011 | 59 | 5L 2s | 1|5 | Diatonic | Phrygian |
sLLsLLL | 0110111 | 55 | 5L 2s | 0|6 | Diatonic | Locrian |
sLLsLsL | 0110101 | 53 | 4L 3s | 2|4 | Smitonic | Kagrenacan |
sLsLLsL | 0101101 | 45 | 4L 3s | 1|5 | Smitonic | Almalexian |
sLsLsLL | 0101011 | 43 | 4L 3s | 0|6 | Smitonic | Dagothic |
sLsLsLs | 0101010 | 42 | 3L 4s | 3|3 | Mosh | Bish |
sLsLssL | 0101001 | 41 | 3L 4s | 2|4 | Mosh | Fish |
sLssLsL | 0100101 | 37 | 3L 4s | 1|5 | Mosh | Jwl |
sLssLss | 0100100 | 36 | 2L 5s | 4|2 | Antidiatonic | Anti-aeolian |
sLsssLs | 0100010 | 34 | 2L 5s | 3|3 | Antidiatonic | Antidorian |
sLsssss | 0100000 | 32 | 1L 6s | 5|1 | Anti-archeotonic | Antitamashian |
ssLsLsL | 0010101 | 21 | 3L 4s | 0|6 | Mosh | Led |
ssLssLs | 0010010 | 18 | 2L 5s | 2|4 | Antidiatonic | Antimixolydian |
ssLsssL | 0010001 | 17 | 2L 5s | 1|5 | Antidiatonic | Anti-ionian |
ssLssss | 0010000 | 16 | 1L 6s | 4|2 | Anti-archeotonic | Anti-oukranian |
sssLssL | 0001001 | 9 | 2L 5s | 0|6 | Antidiatonic | Antilydian |
sssLsss | 0001000 | 8 | 1L 6s | 3|3 | Anti-archeotonic | Antihorthathian |
ssssLss | 0000100 | 4 | 1L 6s | 2|4 | Anti-archeotonic | Antilobonian |
sssssLs | 0000010 | 2 | 1L 6s | 1|5 | Anti-archeotonic | Antikarakalian |
ssssssL | 0000001 | 1 | 1L 6s | 0|6 | Anti-archeotonic | Antiryonian |
sssssss | 0000000 | 0 | 0L 7s | 0|0 | Equiheptatonic | Equiheptatonic |
Note that since both 0000000 and 1111111 both represent the same scale (equiheptatonic), this entire list is circular, so mathematically, there can't be a "globally" brightest mode. Also, this represents 44 out of 128 possible binary numbers, with the rest being MODMOSses of existing scales. Including all the MODMOSses based on just two step sizes (L and s) produces a diagram such as this by User:Xenoindex.
Including Assigned Values for L and s
So far, the previous table represented scales where the values for L and s are unassigned. However, a large enough edo can contain all six heptatonic MOSses with different step ratios. 26edo, for example, contains 1L 6s, 2L 5s, 3L 4s, 4L 3s, 5L 2s, and 6L 1s with the L:s ratios of 8:3, 8:2, 6:2, 5:2, 4:3, and 4:2 respectively. Equiheptatonic isn't included here because 26 isn't divisible by 7, meaning this list can't be circular (though a very large edo that's divisible by 7 can theoretically include all the heptatonic MOSses and equiheptatonic). Here, instead of a scale code of L's and s's, it's a 7-digit number. The largest value of L across all L:s ratios is 8 and the smallest value of s across L:s ratios is 2. Brightness values are calculated by subtracting 2 from every digit of every scale code and interpreting the resulting number as a base-7 number.
It's important to note that the ordering will vary from edo to edo, since the step ratios will be different, and that these orderings will be different from the ordering of binary encodings.
Scale code | Base-7 | Decimal | MOS | UDP | MOS name | Mode name |
8333333 | 6111111 | 725502 | 1L 6s | 6|0 | Anti-archeotonic | Antizokalarian |
8228222 | 6006000 | 707952 | 2L 5s | 6|0 | Antidiatonic | Antilocrian |
8222822 | 6000600 | 706188 | 2L 5s | 5|1 | Antidiatonic | Antiphrygian |
6262622 | 4040400 | 480396 | 3L 4s | 6|0 | Mosh | Dril |
6262262 | 4040040 | 480228 | 3L 4s | 5|1 | Mosh | Gil |
6226262 | 4004040 | 471996 | 3L 4s | 4|2 | Mosh | Kleeth |
5525252 | 3303030 | 404418 | 4L 3s | 6|0 | Smitonic | Nerevarine |
5255252 | 3033030 | 361200 | 4L 3s | 5|1 | Smitonic | Vivecan |
5252552 | 3030330 | 360318 | 4L 3s | 4|2 | Smitonic | Lorkhanic |
5252525 | 3030303 | 360300 | 4L 3s | 3|3 | Smitonic | Sothic |
4444442 | 2222220 | 274512 | 6L 1s | 6|0 | Archeotonic | Ryonian |
4444424 | 2222202 | 274500 | 6L 1s | 5|1 | Archeotonic | Karakalian |
4444244 | 2222022 | 274416 | 6L 1s | 4|2 | Archeotonic | Lobonian |
4443443 | 2221221 | 274170 | 5L 2s | 6|0 | Diatonic | Lydian |
4442444 | 2220222 | 273828 | 6L 1s | 3|3 | Archeotonic | Horthathian |
4434443 | 2212221 | 272112 | 5L 2s | 5|1 | Diatonic | Ionian |
4434434 | 2212212 | 272106 | 5L 2s | 4|2 | Diatonic | Mixolydian |
4424444 | 2202222 | 269712 | 6L 1s | 2|4 | Archeotonic | Oukranian |
4344434 | 2122212 | 257700 | 5L 2s | 3|3 | Diatonic | Dorian |
4344344 | 2122122 | 257658 | 5L 2s | 2|4 | Diatonic | Aeolian |
4244444 | 2022222 | 240900 | 6L 1s | 1|5 | Archeotonic | Tamashian |
3833333 | 1611111 | 221292 | 1L 6s | 5|1 | Anti-archeotonic | Antitamashian |
3444344 | 1222122 | 156816 | 5L 2s | 1|5 | Diatonic | Phrygian |
3443444 | 1221222 | 156522 | 5L 2s | 0|6 | Diatonic | Locrian |
3383333 | 1161111 | 149262 | 1L 6s | 4|2 | Anti-archeotonic | Anti-oukranian |
3338333 | 1116111 | 138972 | 1L 6s | 3|3 | Anti-archeotonic | Antihorthathian |
3333833 | 1111611 | 137502 | 1L 6s | 2|4 | Anti-archeotonic | Antilobonian |
3333383 | 1111161 | 137292 | 1L 6s | 1|5 | Anti-archeotonic | Antikarakalian |
3333338 | 1111116 | 137262 | 1L 6s | 0|6 | Anti-archeotonic | Antiryonian |
2822822 | 600600 | 101136 | 2L 5s | 4|2 | Antidiatonic | Anti-aeolian |
2822282 | 600060 | 100884 | 2L 5s | 3|3 | Antidiatonic | Antidorian |
2626262 | 404040 | 68628 | 3L 4s | 3|3 | Mosh | Bish |
2626226 | 404004 | 68604 | 3L 4s | 2|4 | Mosh | Fish |
2622626 | 400404 | 67428 | 3L 4s | 1|5 | Mosh | Jwl |
2552525 | 330303 | 57774 | 4L 3s | 2|4 | Smitonic | Kagrenacan |
2525525 | 303303 | 51600 | 4L 3s | 1|5 | Smitonic | Almalexian |
2525255 | 303033 | 51474 | 4L 3s | 0|6 | Smitonic | Dagothic |
2444444 | 222222 | 39216 | 6L 1s | 0|6 | Archeotonic | Zokalarian |
2282282 | 60060 | 14448 | 2L 5s | 2|4 | Antidiatonic | Antimixolydian |
2282228 | 60006 | 14412 | 2L 5s | 1|5 | Antidiatonic | Anti-ionian |
2262626 | 40404 | 9804 | 3L 4s | 0|6 | Mosh | Led |
2228228 | 6006 | 2064 | 2L 5s | 0|6 | Antidiatonic | Antilydian |
On various mosses, with extended scale names
This is an attempt to describe various mosses that I feel are worth describing, even for completion. This contains unofficial scale names that try to be as close to existing TAMNAMS names as possible. The following table shows single-period mosses sorted by generation, including TAMNAMS names, named monolarge (1L ns) scales (italicized), and extended names (marked with asterisks).
Mos Family Tree (single-period only), with TAMNAMS Names
italics denote 1L ns scales (named for completeness); asterisks denote non-official names (from my own notes) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Progenitor scale | 1st-order child mosses | 2nd-order child mosses | 3rd-order child mosses | 4th-order child mosses | 5th-order child mosses | ||||||
Steps | Scale name | Steps | Scale name | Steps | Scale name | Steps | Scale name | Steps | Scale name | Steps | Scale name |
1L 1s | prototonic* | 1L 2s | antideuteric* | 1L 3s | antitetric* | 1L 4s | antimanic | 1L 5s | antimachinoid | 1L 6s | anti-archeotonic |
6L 1s | archeotonic | ||||||||||
5L 1s | machinoid | 5L 6s | |||||||||
6L 5s | |||||||||||
4L 1s | manic | 4L 5s | orwelloid | 4L 9s | |||||||
9L 4s | |||||||||||
5L 4s | semiquartal | 5L 9s | |||||||||
9L 5s | |||||||||||
3L 1s | tetric* | 3L 4s | mosh | 3L 7s | sephiroid | 3L 10s | |||||
10L 3s | |||||||||||
7L 3s | dicotonic | 7L 10s | |||||||||
10L 7s | |||||||||||
4L 3s | smitonic | 4L 7s | kleistonic | 4L 11s | |||||||
11L 4s | |||||||||||
7L 4s | suprasmitonic | 7L 11s | |||||||||
11L 7s | |||||||||||
2L 1s | deuteric* | 2L 3s | pentic | 2L 5s | antidiatonic | 2L 7s | joanatonic | 2L 9s | |||
9L 2s | |||||||||||
7L 2s | superdiatonic | 7L 9s | |||||||||
9L 7s | |||||||||||
5L 2s | diatonic | 5L 7s | p-chromatic | 5L 12s | p-superchromatic* | ||||||
12L 5s | p-suprachromatic* | ||||||||||
7L 5s | m-chromatic | 7L 12s | m-suprachromatic* | ||||||||
12L 7s | m-superchromatic* | ||||||||||
3L 2s | antipentic | 3L 5s | sensoid | 3L 8s | 3L 11s | ||||||
11L 3s | |||||||||||
8L 3s | 8L 11s | ||||||||||
11L 8s | |||||||||||
5L 3s | oneirotonic | 5L 8s | 5L 13s | ||||||||
13L 5s | |||||||||||
8L 5s | 8L 13s | ||||||||||
13L 8 |
1L 1s, 1L 2s, and 2L 1s, and their child mosses
These three scales - 1L 1s, 1L 2s, and 2L 1s - have potentially too few notes to be considered true scales, hence these descriptions are for completeness. The 2nd-order children of 1L 1s include scales already described by TAMNAMS, but also includes a gap in the form of 3L 1s (and to an extent, 1L 3s).
Parent scale | 1st-order child scales | 2nd-order child scales | ||||||
---|---|---|---|---|---|---|---|---|
Steps | Name | Notes | Steps | Name | Notes | Steps | Name | Notes |
1L 3s | antitetric | Monolarge scale. Similarly to 3L 1s with 1L 2s, 4L 1s may be worth considering. | ||||||
1L 2s | antideuterotonic or antideuteric | One of the child scales of 1L 1s.
Being a monolarge scale, tetric (3L 1s) may be more worth considering. |
||||||
3L 1s | tetric | Parent scale to orwelloid and semiquartal, the name tetric is assigned similarly to pentic being the parent of diatonic and antidiatonic. | ||||||
1L 1s | prototonic or protic | The progenitor scale of all single-period mosses.
Despite being a monolarge scale, it's also its own sister and is named regardless. |
||||||
2L 3s | pentic | Already established name. | ||||||
2L 1s | deuterotonic or deuteric | One of the child scales of 1L 1s. | ||||||
3L 2s | antipentic | Already established name. |
5L 7s, 7L 5s, and their child mosses
5L 2s has two children: 5L 7s and 7L 5s, or p- and m-chromatic respectively. This section names the second-order children of 5L 2s.
Parent scale | 1st-order child scales | 2nd-order child scales | ||||||
---|---|---|---|---|---|---|---|---|
Steps | Name | Notes | Steps | Name | Notes | Steps | Name | Notes |
5L 12s | p-superchromatic | Names are based on the relationship between a small step and diesis (|L-2s|); unlike the m-scales, the small step continues to be a prominent scale step
P-superchromatic is named for its diesis being larger than a small step, where the reverse is true for p-suprachromatic. | ||||||
5L 7s | p-chromatic | Already established name. | ||||||
12L 5s | p-suprachromatic | |||||||
5L 2s | diatonic | Already established name. | ||||||
7L 5s | m-suprachromatic | Names are based on the relationship between a chroma (|L-s|) and diesis (|L-2s|) in meantone temperaments.
M-superchromatic is named for its diesis being smaller than a chroma, where the reverse is true for m-suprachromatic. | ||||||
7L 5s | m-chromatic | Already established name. | ||||||
5L 7s | m-superchromatic |