|
|
| (244 intermediate revisions by 44 users not shown) |
| Line 1: |
Line 1: |
| <h2>IMPORTED REVISION FROM WIKISPACES</h2>
| | {{interwiki |
| This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br>
| | | en = MOS scale |
| : This revision was by author [[User:xenwolf|xenwolf]] and made on <tt>2010-05-30 16:21:07 UTC</tt>.<br>
| | | de = MOS-Skala |
| : The original revision id was <tt>145906329</tt>.<br>
| | | es = |
| : The revision comment was: <tt>typo</tt><br>
| | | ja = MOSスケール |
| The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br> | | | ro = G2S |
| <h4>Original Wikitext content:</h4>
| | }}{{Beginner|Mathematics of MOS}} |
| <div style="width:100%; max-height:400pt; overflow:auto; background-color:#f8f9fa; border: 1px solid #eaecf0; padding:0em"><pre style="margin:0px;border:none;background:none;word-wrap:break-word;white-space: pre-wrap ! important" class="old-revision-html">=MOS scales=
| | A '''moment of symmetry''' ('''MOS''' or '''mos'''<ref group="note">The acronym "MOS" is generally pronounced ''em-oh-ess'', while the {{w|anacronym}} "mos", more common in informal and experimental settings, is generally pronounced ''moss''. Sometimes "MOSS" or "moss", standing for "moment of symmetry scale", are used instead, although there is no significant difference in meaning.</ref>) '''scale''' is a [[periodic scale]] where every 2nd (that is, every interval formed by ascending a step) is either small or large with no in-between, and the same goes for 3rds, 4ths, etc. Multiples of the period (which is usually the octave or a fraction thereof), however, come in only one size. |
|
| |
|
| An important class of scales are MOS scales (the acronym **MOS** coming from **"Moment Of Symmetry"**). These are derived by iterating an interval g, called the generator, inside a larger interval, called the period, and reducing to the period when the iterates become larger than the period. Usually the period is an octave or an nth root of 2, but it can in theory be any positive number. The resulting scale is called a MOS when it has exactly two sizes of steps when sorted into ascending order of size.
| | MOS scales are often referred to as MOSes, thus MOS can be used as either an adjective or a noun. |
|
| |
|
| The term and scale construction method were invented by Erv Wilson. His original paper can be found here [[http://anaphoria.com/mos.PDF]]. There is also an introduction [[http://anaphoria.com/wilsonintroMOS.html]]. It generalizes the classical diatonic and pentatonic scales. In academic music theory, MOS are known as //well-formed scales// and the introduction of the concept is attributed to a 1989 paper by Norman Carey and David Clampitt. A great deal of interesting work has been done on scales in academic circles extending these ideas. | | == Examples == |
| | The most widely used MOS scale is the [[5L 2s|diatonic scale]]. It has 7 steps: 5 large ones (major 2nds) and 2 small ones (minor 2nds), and thus is named 5L 2s. The major mode is LLsLLLs. The other modes are rotations of this pattern (e.g. LsLLsLL is the minor mode). |
|
| |
|
| ==Theory of MOS== | | {| class="wikitable" |
| Let us represent the period as 1. This would be the logarithm base 2 of 2 if the period is an octave, or in general we can measure intervals by the log base P when P is the period. Suppose the fractions a/b and c/d are a [[http://en.wikipedia.org/wiki/Farey_sequence#Farey_neighbours|Farey pair]], meaning that a/b < c/d and bc - ad = 1. If g = (1-t)(a/b) + t(c/d) for 0 <= t <= 1, then when t = 0, the scale generated by g will consist of an equal division of 1 (representing P) into steps of size 1/b, and when t = 1 into steps of size 1/d. In between, when t = b/(b + d), we obtain a generator equal to the [[http://en.wikipedia.org/wiki/Mediant_%28mathematics%29|mediant]] (a + c)/(b + d) and which will divide the period into b+d equal steps. For all other values a/b < g < c/d we obtain two different sizes of steps, the small steps s, and the large steps L, with the total number of steps b+d, and these scales are the MOS associated to the Farey pair. When g is between a/b and (a + c)/(b + d) there will be b large steps and d small steps, and when it is between (a + c)/(b + d) and c/d, d large steps and b small ones.
| | |+ style="font-size: 105%;" | Interval classes in the 5L 2s MOS scale |
| | |- |
| | ! rowspan="2" | Interval class |
| | ! colspan="2" | Small version |
| | ! colspan="2" | Large version |
| | |- |
| | ! Quality |
| | ! Size |
| | ! Quality |
| | ! Size |
| | |- |
| | ! 2nds (1 step) |
| | | minor |
| | | s |
| | | major |
| | | L |
| | |- |
| | ! 3rds (2 steps) |
| | | minor |
| | | {{nowrap|1L + 1s}} |
| | | major |
| | | 2L |
| | |- |
| | ! 4ths (3 steps) |
| | | perfect |
| | | {{nowrap|2L + 1s}} |
| | | augmented |
| | | 3L |
| | |- |
| | ! 5ths (4 steps) |
| | | diminished |
| | | {{nowrap|2L + 2s}} |
| | | perfect |
| | | {{nowrap|3L + 1s}} |
| | |- |
| | ! 6ths (5 steps) |
| | | minor |
| | | {{nowrap|3L + 2s}} |
| | | major |
| | | {{nowrap|4L + 1s}} |
| | |- |
| | ! 7ths (6 steps) |
| | | minor |
| | | {{nowrap|4L + 2s}} |
| | | major |
| | | {{nowrap|5L + 1s}} |
| | |- |
| | ! 8ves (7 steps) |
| | | perfect |
| | | {{nowrap|5L + 2s}} |
| | | colspan="2" | (only one version) |
| | |} |
|
| |
|
| While all the scales constructed by generators g with a/b < g < c/d with the exception of the mediant which gives an equal temperament are MOS, not all the scales are [[http://en.wikipedia.org/wiki/Rothenberg_propriety|proper]] in the sense of Rothenberg. The //range of propriety// for MOS is (2a + c)/(2b + d) <= g <= (a + 2c)/(b + 2d), where MOS coming from a Farey pair (a/b, c/d) are proper when in this range, and improper when out of it. If (2a + c)/(2b + d) < g < (a + 2c)/(b + 2d), then the scales are strictly proper. Hence the diatonic scale in 12et, with generator 7/12, is proper but not strictly proper since starting from the pair (1/2, 3/5) we find the range of propriety for these seven-note MOS to be [5/9, 7/12].
| | Note that the melodic minor scale (LsLLLLs) has only two step sizes, but it is not MOS since it has three different sizes of fifths: perfect, diminished, and augmented. |
|
| |
|
| Given a generator g, we can find MOS for g with period 1 by means of the [[http://en.wikipedia.org/wiki/Continued_fraction#Semiconvergents|semiconvergents]] to g. A pair of successive semiconvergents have the property that they define a Farey pair, and when g is contained in the pair, that is, a/b < g < c/d, we have defined a MOS for g with b+d as the number of notes in the MOS, with b notes of one size and d of the other.
| | Other MOS scales include [[2L 3s]], where among its 5 modes are the major pentatonic scale (ssLsL) and the minor pentatonic scale (LssLs), and less commonly [[4L 4s]], also known as the octatonic scale in 12edo, which alternates between large and small steps and comes in two modes (LsLsLsLs and sLsLsLsL). |
|
| |
|
| For example, suppose we want MOS for 1/4-comma meantone. The generator will then be log2(5)/4, which has semiconvergents 1/2, 2/3, 3/5, 4/7, 7/12, 11/19, 18/31, 29/50, 47/81, 65/112... If we settle on 31 as a good size for our MOS, we see 18/31 is the mediant between the Farey pair 11/19 and 7/12, for which the range of strict propriety is 29/50 < x < 25/43. Since g is in that range and not equal to 18/31, we will get a strictly proper MOS.
| | See the [[catalog of MOS]] for other MOS scales. |
|
| |
|
| ==Classification of MOS== | | == Periods and generators == |
| A classification of MOS scales can be given by the number of elements of the scale of each size - the number of large intervals "L" and the number of small intervals "s", together with the period, assumed to be minimal (which entails that L and s are relatively prime.) E.g., the diatonic scale can be described as [5L 2s] (5 large steps and 2 small steps) or simply [5, 2] with period an octave. Alternatively, we could give a mediant for a Farey pair associated to the MOS, where this mediant is less than any generator for the MOS. In other words, we use the right hand part of the Farey pair interval, which means we must replace g with 1-g and use the complementary pair if g is in the left hand side.
| | Every MOS scale can be ''generated'' by stacking a certain interval called the [[generator]] and octave-reducing (or more generally, [[period]]-reducing). For example, the diatonic scale is generated by stacking 6 fifths (or equivalently, 6 fourths) and octave-reducing to get a 7 note scale. Another example, 2L 3s is generated by stacking 4 fifths to get 5 notes. However, stacking 5 fifths to get a hexatonic scale such as {{nowrap| C D E F G A C }} does not produces a MOS, because there are more than 2 sizes of each interval class. |
|
| |
|
| The two systems are equivalent; in the Algorithms section you will find code for routines starting from the mediant and going to the Ls pair (the "Ls" routine) and for starting from an Ls pair and going to the mediant (the "medi" routine.) The Ls routine uses [[http://en.wikipedia.org/wiki/Modular_multiplicative_inverse|modular inverses]], whereas the medi routine uses continued fractions. | | The amount of stacking that produces a MOS scale depends only on the size of the generator relative to the size to the period. For a just fifth and a just octave, the valid scale sizes are 2, 3, 5, 7, 12, 17, 29, 41, 53, …. However for a quarter-comma meantone fifth, the valid sizes are 2, 3, 5, 7, 12, 19, 31, 50, …. |
|
| |
|
| If the period is assumed to be 2^(1/n) for some integer n, we can give instead the total number of large and small steps in the octave, instead of just the period, and this is commonly done. In this case, GCD(L, s) gives the number of periods in an octave.
| | == Step ratio spectrum == |
| | The [[step ratio]] is the ratio of the larger step size to the smaller step size. MOSes with smaller step ratios sound smooth and soft. MOSes with larger step ratios sound jagged and hard. Different step ratios produce different corresponding potential temperament interpretations. The [[TAMNAMS #Step ratio spectrum|TAMNAMS]] system has names for specific ratios and also ranges of ratios. |
|
| |
|
| ===Classification via the ? function===
| | When the step ratio is a rational number, the MOS is tuned to an edo. A counter-example is 5L 2s tuned to quarter-comma meantone, which has a step ratio of about 1.649. |
| Yet another way of classifying MOS is via [[http://en.wikipedia.org/wiki/Minkowski%27s_question_mark_function|Minkowski's ? function]]. Here ?(x) is a continuous increasing function from the real numbers to the real numbers which has some peculiar properties, one being that it sends rational numbers to [[http://en.wikipedia.org/wiki/Dyadic_rational|dyadic rationals]]. Hence if q is a rational number 0 < q < 1 in use in the mediant system of classifying MOS, r = ?(q) = A/2^n will be a dyadic rational number which can also be used. Note that the ? function is invertible, and it and its inverse function, the Box function, have code given for them in the algorithms section at the bottom of the article.
| |
|
| |
|
| The integer n in the denominator of r (with A assumed to be odd) is the order (or n+1 is, according to some sources) of q in the [[http://en.wikipedia.org/wiki/Stern%E2%80%93Brocot_tree|Stern-Brocot tree]]. The two neighboring numbers of order n+1, which define the range of propriety, can also be expressed in terms of the ? and Box functions as Box(r - 2^(-n-1) and Box(r + 2^(-n-1)). If r represents a MOS, the range of possible values for a generator of the MOS will be Box(r) < g < Box(r + 2^(-n)), and the proper generators will be Box(r) < g < Box(r + 2^(-n-1)). So, for example, the MOS denoted by 3/2048 will be between Box(3/2048) and Box(4/2048), which means that 2/21 < g < 1/10, and will be proper if 2/21 < g < 3/31. Hence 7/72, a generator for miracle temperament, will define a MOS but it will not be proper since 7/72 > 3/31 = Box(3/2048 + 1/4096)).
| | {| class="wikitable" |
| | |+ style="font-size: 105%;" | 5L 2s step ratios in various edos |
| | |- |
| | ! Example edo |
| | ! Step ratio |
| | ! TAMNAMS name |
| | ! Likely temperament<br />interpretations |
| | |- |
| | ! 12 |
| | | 2:1 |
| | | basic |
| | | [[Meantone]] or [[Schismatic]] |
| | |- |
| | ! 19 |
| | | 3:2 |
| | | soft |
| | | [[Meantone]] |
| | |- |
| | ! 22 |
| | | 4:1 |
| | | superhard |
| | | [[Archy]] or [[Superpyth]] |
| | |} |
|
| |
|
| ===Names for MOS=== | | == Naming == |
| Since numbers tend to be dry, Graham Breed has proposed a [[MOSNamingScheme|naming scheme for MOS scales]].
| | Every MOS can be uniquely specified by giving its [[signature]], i.e. the number of large and small steps, which is typically notated e.g. "5L 2s,". Every possible signature corresponds to a valid MOS scale. Sometimes, if one simply wants to talk about step sizes without specifying which is large and small, the notation "5a 2b" is used (which could refer to either diatonic or {{nowrap| [[2L 5s|anti-diatonic]] {{=}} 2L 5s }}). |
|
| |
|
| ===MOS in equal temperaments===
| | By default, the [[equave]] of a MOS is assumed to be [[2/1]]. To specify a non-octave equave, "{{angbr|equave}}" is placed after the signature, e.g. {{mos scalesig|4L 5s<3/1>|link=1}}. Using angle brackets (<code>&#x27E8;</code> and <code>&#x27E9;</code>) is recommended; using greater-than and less-than signs ("<equave>") can also be done, but this can conflict with HTML and other uses of these symbols. |
| In an equal temperament, all intervals are integer multiples of a smallest unit. If the equal temperament is N-EDO and the period is an octave, the sizes of the large and small steps will be p/N and q/N, with p > q. We then have L(p/N) + s(q/N) = 1, which on multiplying through by N gives us
| |
|
| |
|
| Lp + sq = N.
| | Several naming systems have been proposed for MOSes, which can be seen at [[MOS naming]]. |
|
| |
|
| which is a linear diophantine equation. Solving this by standard methods, and requiring L and s to be positive, gives us the [L, s] pair for the MOS. If some other quantity of equal steps gives the period, we may make the appropriate adjustment.
| | == History and terminology == |
| | The term ''MOS'', and the method of scale construction it entails, were invented by [[Erv Wilson]] in 1975. His original paper is archived on Anaphoria.com here: [https://anaphoria.com/mos.pdf ''Moments of Symmetry'']. There is also an introduction by [[Kraig Grady]] here: [https://anaphoria.com/wilsonintroMOS.html ''Introduction to Erv Wilson's Moments of Symmetry'']. |
|
| |
|
| ===Blackwood R constant===
| | Sometimes, scales are defined with respect to a period and an additional [[equivalence interval]], the interval at which pitch classes repeat. MOSes in which the equivalence interval is a multiple of the period, and in which there is more than one period per equivalence interval, are sometimes called '''Multi-MOSes'''. For example, a MOS with a half-octave period is called a '''2mos''', with a 1/3-octave period a '''3mos''', and so on. MOSes in which the equivalence interval is equal to the period are sometimes called '''Strict MOSes'''. MOSes in which the equivalence interval and period are simply disjunct, with no rational relationship between them, are simply MOS and have no additional distinguishing label. |
| In the context of the "recognizable diatonic" scales deriving from the Farey pair [1/2, 3/5] [[http://en.wikipedia.org/wiki/Easley_Blackwood,_Jr.|Easley Blackwood Jr.]] defined a characterizing constant R which we may generalize to any MOS as follows. If a/b < g < c/d is a generator with the given Farey pair, take the ratio of relative errors R = (bg - a)/(c - dg). Since this is a ratio of positive numbers, it is positive. As g tends towards a/b it tends to zero, and as g goes to c/d R goes to infinity. When g equals (a + c)/(b + d) it takes the value 1, and the range of propriety is 1/2 <= R <= 2.
| |
|
| |
|
| When R is less than 1, it represents the ratio in (logarithmic) size between the smaller and the larger step. When it is greater than 1, it is larger/smaller. By replacing g with 1 - g if necessary, we can reduce always to the case where R>1 (or R<1 if we prefer.)
| | With a few notable exceptions, Wilson generally focused his attention on MOS with period equal to the equivalence interval. Hence, some people prefer to use the term [[Distributional evenness|distributionally even scale]], with acronym DE, for the more general class of scales which are MOS with respect to other intervals. MOS/DE scales are also sometimes known as ''well-formed scales'', the term used in the 1989 paper by Norman Carey and David Clampitt<ref>Norman Carey and David Clampitt. "Aspects of Well-Formed Scales", ''Music Theory Spectrum'', Vol. 11, No. 2 (Autumn, 1989), pp. 187-206.</ref>. A great deal of work has been done in academic circles extending these ideas. The idea of MOS also includes secondary or bi-level MOS scales which are actually the inspiration of Wilson's concept. They are in a sense the MOS of MOS patterns. This is used to explain the [[pentatonic]]s used in traditional [[Japanese music]] (e.g. {{nowrap| A B C E F A }}), where the 5-tone cycles are derived from a 7-tone MOS, which are not found in the concept of DE. |
|
| |
|
| ==Catalog of MOS== | | == Equivalent definitions and generalizations == |
| Below is a list of MOS with number of elements from 5 to 10, plus some of the more significant larger MOS.
| | A scale is a MOS if and only if it satisfies one of the following equivalent criteria: |
| | # [[Maximum variety]] 2: Ascending by a certain number of steps is equivalent to ascending by one of at most two intervals, and the maximum of two is achieved (i. e. it is not true that ascending by a certain number of steps is always equivalent to ascending by one interval.) |
| | # [[Binary]] and has a [[generator]]: The scale step comes in exactly two sizes, and the scale is formable from stacking some interval called a generator and octave-reducing. |
| | # Mode of a Christoffel word: The scale can be formed by creating a 2D lattice where the period is on the lattice, then taking pitches by travelling vertically and horizontally from the origin, maintaining as close to the line from the origin to the octave as possible without going above it. |
|
| |
|
| || [[PentatonicMOS|Pentatonic MOS]] || || || || || || [[1L 4s]] || || [[2L 3s]] || || [[3L 2s]] || || [[4L 1s]] || || || || || ||
| | Each definition generalizes to scales with three or more step sizes, but these generalizations are not equivalent. The concepts of [[balanced word|balance]] and [[distributional evenness]] provide still different generalizations, although defining MOS through these terms is less helpful. For more information, see [[Mathematics of MOS]]. |
| || [[HexatonicMOS|Hexatonic MOS]] || || || || || [[1L 5s]] || || [[2L 4s]] || || [[3L 3s]] || || [[4L 2s]] || || [[5L 1s]] || || || || ||
| |
| || [[HeptatonicMOS|Heptatonic MOS]] || || || || [[1L 6s]] || || [[2L 5s]] || || [[3L 4s]] || || [[4L 3s]] || || [[5L 2s]] || || [[6L 1s]] || || || ||
| |
| || [[OctatonicMOS|Octatonic MOS]] || || || [[1L 7s]] || || [[2L 6s]] || || [[3L 5s]] || || [[4L 4s]] || || [[5L 3s]] || || [[6L 2s]] || || [[7L 1s]] || || ||
| |
| || [[NonatonicMOS|Nonatonic MOS]] || || [[1L 8s]] || || [[2L 7s]] || || [[3L 6s]] || || [[4L 5s]] || || [[5L 4s]] || || [[6L 3s]] || || [[7L 2s]] || || [[8L 1s]] || ||
| |
| || [[DecatonicMOS|Decatonic MOS]] || [[1L 9s]] || || [[2L 8s]] || || [[3L 7s]] || || [[4L 6s]] || || [[5L 5s]] || || [[6L 4s]] || || [[7L 3s]] || || [[8L 2s]] || || [[9L 1s]] ||
| |
| <span style="color: #0000ee;"> </span>
| |
|
| |
|
| Keemun[11] [4L 7s]
| | == Properties == |
| Sensi[11] [8L 3s]
| | === Basic properties === |
| | * For every MOS scale with an [[octave]] period (which is usually the [[octave]]), if ''x''-[[edo]] is the [[collapsed]] tuning (where the small step vanishes) and ''y''-[[edo]] is the [[equalized]] tuning (where the large (''L'') step and small (''s'') step are the same size), then by definition it is an {{nowrap| ''x''L (''y'' − ''x'')s }} MOS scale, and the [[basic]] tuning where {{nowrap| ''L'' {{=}} 2''s'' }} is thus {{nowrap|(''x'' + ''y'')}}-[[edo]]. This is also true if the period is 1\''p'', that is, 1 step of ''p''-[[edo]], which implies that ''x'' and ''y'' are divisible by ''p'', though note that in that case (if {{nowrap| ''p'' > 1 }}) you are considering a "multiperiod" MOS scale. |
| | * More generally, whenever ''px''-[[edo]] and ''py''-[[edo]] are used to define two [[val]]s (usually but not necessarily through taking the [[Patent val|patent vals]]) while simultaneously also being used to define the {{nowrap|''px''L (''py'' − ''px'')s}} MOS scale (where ''p'' is the number of periods per octave), then the ''px'' & ''py'' temperament corresponds to that MOS scale, and adding ''x'' and/or ''y'' corresponds to tuning closer to ''x''-[[edo]] and/or ''y''-[[edo]] respectively. (Optionally, see the below more precise statement for the mathematically-inclined.) |
| | * For the mathematically-inclined, we can say that whenever we consider a MOS with ''X''/''p'' notes per period in the [[collapsed]] tuning and ''Y''/''p'' notes per period in the [[equalized]] tuning and ''p'' periods per [[Octave stretching|tempered octave]] (or more generally tempered [[equave]]), and whenever we want to associate that MOS with the {{nowrap| ''X'' & ''Y'' }} rank 2 temperament'''*''', we can say that any {{w|natural number|natural}}-coefficient {{w|linear combination}} of vals {{val| ''X'' … }} and {{val| ''Y'' … }} (where {{nowrap| ''X'' < ''Y'' }}) corresponds uniquely to a tuning of the {{nowrap| ''X'' & ''Y'' }} rank 2 temperament between ''X''-[[ET]] and ''Y''-[[ET]] (inclusive) iff {{nowrap| gcd(''a'', ''b'') {{=}} 1 }}, because if {{nowrap| ''k'' {{=}} gcd(''a'', ''b'') > 1 }} then the val {{nowrap| ''a''{{val| ''X'' … }} + ''b''{{val| ''Y'' … }} }} has a common factor ''k'' in all of its terms, meaning it is guaranteed to be [[contorted]]. The tuning corresponding to the {{w|Rational number|rational}} ''a''/''b'' is technically only unique up to (discarding of) [[octave stretching]] (or more generally [[equave]]-tempering). |
|
| |
|
| Meantone[12] [7L 5s]
| | : The period of this temperament is {{nowrap|1\gcd(''X'', ''Y'')}}, and the rational ''a''/''b'' is very closely related to the [[step ratio]] of the corresponding MOS scale, because {{nowrap| 1{{val| ''X'' … }} + 0{{val| ''Y'' … }} }} is the {{nowrap|''L'' {{=}} 1|''s'' {{=}} 0}} tuning while {{nowrap| 0{{val| ''X'' … }} + 1{{val| ''Y'' … }} }} is the {{nowrap|''L'' {{=}} 1|''s'' {{=}} 1}} tuning and {{nowrap| 1{{val| ''X'' … ;}} + 1{{val| ''Y'' … }} }} is the {{nowrap|''L'' {{=}} 2|''s'' {{=}} 1}} tuning, so that {{nowrap|''L'' {{=}} ''a'' + ''b''}} and {{nowrap|''s'' {{=}} ''b''}} and therefore: |
| Superpyth[12] [5L 7s]
| |
| Pajara[12] [10L 2s]
| |
| Injera[12] [2L 10s]
| |
| Augene[12] [3L 9s]
| |
|
| |
|
| Godzilla[14] [5L 9s]
| | : {{nowrap|1/([[step ratio]]) {{=}} ''s''/''L''}} {{nowrap|{{=}} ''b''/(''a'' + ''b'')}} implying [[step ratio]] {{nowrap| ''r'' {{=}} (''a'' + ''b'')/''b'' ≥ 1 }} for {{w|Natural number|natural}} ''a'' and ''b'', where if {{nowrap| ''b'' {{=}} 0 }} then the step ratio is infinite, corresponding to the [[collapsed]] tuning.<ref group="note">It is ''important to note'' that the correspondence to the {{nowrap| ''X'' & ''Y'' }} rank-2 temperament only works in all cases if we allow the temperament to be [[contorted]] on its [[subgroup]]; alternatively, it works if we exclude cases where {{nowrap| ''X'' & ''Y'' }} describe a contorted temperament on the subgroup given. An example is the {{nowrap| 5 & 19 }} temperament is contorted in the [[5-limit]] (having a generator of a semifourth, corresponding to [[5L 14s]]), so we either need to consider the temperament itself to be contorted (generated by something lacking an interpretation in the subgroup given, two of which yielding a meantone-tempered [[~]][[4/3]]) or we exclude it because of its contortion.</ref> |
| Injera[14] [12L 2s]
| |
| Doublewide[14] [4L 10s]
| |
|
| |
|
| Porcupine[15] [7L 8s]
| | * Every MOS scale has two ''child MOS'' scales. The two children of the MOS scale ''a''L ''b''s are {{nowrap| (''a'' + ''b'')L ''a''s }} (generated by generators of soft-of-basic ''a''L ''b''s) and {{nowrap| ''a''L (''a'' + ''b'')s }} (generated by generators of hard-of-basic ''a''L'' b''s). |
| Myna[15] [4L 11s]
| | * Every MOS scale (with a specified [[equave]] ''Ɛ''), excluding {{nowrap|''a''L ''a''s{{angbr|''Ɛ''}} }}, has a ''parent MOS''. If {{nowrap| ''a'' > ''b'' }}, the parent of ''a''L ''b''s is {{nowrap| ''b''L (''a'' − ''b'')s }}; if {{nowrap| ''a'' < ''b'' }}, the parent of ''a''L ''b''s is {{nowrap| ''a''L (''b'' − ''a'')s }}. |
| Superkleismic[15] [11L 4s]
| |
| Valentine[15] [1L 14s]
| |
|
| |
|
| Mothra[16] [5L 11s]
| | === Advanced discussion === |
| Wizard[16] [6L 10s]
| | See: |
| | * [[Mathematics of MOS]], a more formal definition and a discussion of the mathematical properties. |
| | ** [[Recursive structure of MOS scales]], a description of how MOS scales are recursive and how one scale can be converted into a related scale. |
| | ** [[MOS scale family tree]], a tree initially described by Erv Wilson that organizes scales by parent-and-child relationship, which also helps illustrate mos recursion. |
| | * [[Generator ranges of MOS]], organized by number of scale steps and quantity of L/s steps. |
| | * [[MOS diagrams]], visualizations of the MOS process. |
| | * [http://x31eq.com/temper/method.html How to Find Linear Temperaments], by [[Graham Breed]] |
|
| |
|
| Garibaldi[17] [12L 5s]
| | == Individual pages for MOS scales == |
| Mohajira[17] [7L 10s]
| | === L ≤ 12, s ≤ 12 === |
| Beatles[17] [10L 7s]
| | {| class="wikitable center-all" |
| Squares[17] [14L 3s]
| | |+ style="font-size: 105%; white-space: nowrap;" | Pages for MOS scales ({{nowrap|L ≤ 12|s ≤ 12}}) |
| | |- |
| | | [[1L 1s]] |
| | | [[1L 2s]] |
| | | [[1L 3s]] |
| | | [[1L 4s]] |
| | | [[1L 5s]] |
| | | [[1L 6s]] |
| | | [[1L 7s]] |
| | | [[1L 8s]] |
| | | [[1L 9s]] |
| | | [[1L 10s]] |
| | | [[1L 11s]] |
| | | [[1L 12s]] |
| | |- |
| | | [[2L 1s]] |
| | | [[2L 2s]] |
| | | [[2L 3s]] |
| | | [[2L 4s]] |
| | | [[2L 5s]] |
| | | [[2L 6s]] |
| | | [[2L 7s]] |
| | | [[2L 8s]] |
| | | [[2L 9s]] |
| | | [[2L 10s]] |
| | | [[2L 11s]] |
| | | [[2L 12s]] |
| | |- |
| | | [[3L 1s]] |
| | | [[3L 2s]] |
| | | [[3L 3s]] |
| | | [[3L 4s]] |
| | | [[3L 5s]] |
| | | [[3L 6s]] |
| | | [[3L 7s]] |
| | | [[3L 8s]] |
| | | [[3L 9s]] |
| | | [[3L 10s]] |
| | | [[3L 11s]] |
| | | [[3L 12s]] |
| | |- |
| | | [[4L 1s]] |
| | | [[4L 2s]] |
| | | [[4L 3s]] |
| | | [[4L 4s]] |
| | | [[4L 5s]] |
| | | [[4L 6s]] |
| | | [[4L 7s]] |
| | | [[4L 8s]] |
| | | [[4L 9s]] |
| | | [[4L 10s]] |
| | | [[4L 11s]] |
| | | [[4L 12s]] |
| | |- |
| | | [[5L 1s]] |
| | | [[5L 2s]] |
| | | [[5L 3s]] |
| | | [[5L 4s]] |
| | | [[5L 5s]] |
| | | [[5L 6s]] |
| | | [[5L 7s]] |
| | | [[5L 8s]] |
| | | [[5L 9s]] |
| | | [[5L 10s]] |
| | | [[5L 11s]] |
| | | [[5L 12s]] |
| | |- |
| | | [[6L 1s]] |
| | | [[6L 2s]] |
| | | [[6L 3s]] |
| | | [[6L 4s]] |
| | | [[6L 5s]] |
| | | [[6L 6s]] |
| | | [[6L 7s]] |
| | | [[6L 8s]] |
| | | [[6L 9s]] |
| | | [[6L 10s]] |
| | | [[6L 11s]] |
| | | [[6L 12s]] |
| | |- |
| | | [[7L 1s]] |
| | | [[7L 2s]] |
| | | [[7L 3s]] |
| | | [[7L 4s]] |
| | | [[7L 5s]] |
| | | [[7L 6s]] |
| | | [[7L 7s]] |
| | | [[7L 8s]] |
| | | [[7L 9s]] |
| | | [[7L 10s]] |
| | | [[7L 11s]] |
| | | [[7L 12s]] |
| | |- |
| | | [[8L 1s]] |
| | | [[8L 2s]] |
| | | [[8L 3s]] |
| | | [[8L 4s]] |
| | | [[8L 5s]] |
| | | [[8L 6s]] |
| | | [[8L 7s]] |
| | | [[8L 8s]] |
| | | [[8L 9s]] |
| | | [[8L 10s]] |
| | | [[8L 11s]] |
| | | [[8L 12s]] |
| | |- |
| | | [[9L 1s]] |
| | | [[9L 2s]] |
| | | [[9L 3s]] |
| | | [[9L 4s]] |
| | | [[9L 5s]] |
| | | [[9L 6s]] |
| | | [[9L 7s]] |
| | | [[9L 8s]] |
| | | [[9L 9s]] |
| | | [[9L 10s]] |
| | | [[9L 11s]] |
| | | [[9L 12s]] |
| | |- |
| | | [[10L 1s]] |
| | | [[10L 2s]] |
| | | [[10L 3s]] |
| | | [[10L 4s]] |
| | | [[10L 5s]] |
| | | [[10L 6s]] |
| | | [[10L 7s]] |
| | | [[10L 8s]] |
| | | [[10L 9s]] |
| | | [[10L 10s]] |
| | | [[10L 11s]] |
| | | [[10L 12s]] |
| | |- |
| | | [[11L 1s]] |
| | | [[11L 2s]] |
| | | [[11L 3s]] |
| | | [[11L 4s]] |
| | | [[11L 5s]] |
| | | [[11L 6s]] |
| | | [[11L 7s]] |
| | | [[11L 8s]] |
| | | [[11L 9s]] |
| | | [[11L 10s]] |
| | | [[11L 11s]] |
| | | [[11L 12s]] |
| | |- |
| | | [[12L 1s]] |
| | | [[12L 2s]] |
| | | [[12L 3s]] |
| | | [[12L 4s]] |
| | | [[12L 5s]] |
| | | [[12L 6s]] |
| | | [[12L 7s]] |
| | | [[12L 8s]] |
| | | [[12L 9s]] |
| | | [[12L 10s]] |
| | | [[12L 11s]] |
| | | [[12L 12s]] |
| | |} |
|
| |
|
| Meantone[19] [12L 7s]
| | === L ≤ 12, 13 ≤ s ≤ 24 === |
| Flattone[19] [7L 12s]
| | {| class="wikitable mw-collapsible mw-collapsed center-all" |
| Magic[19] [3L 16s]
| | |+ style="font-size: 105%; white-space: nowrap;" | Pages for MOS scales ({{nowrap|L ≤ 12|13 ≤ s ≤ 24}}) |
| Muggles[19] [16L 3s]
| | |- |
| Myna[19] [4L 15s]
| | | [[1L 13s]] |
| Sensi[19] [8L 11s]
| | | [[1L 14s]] |
| Negri[19] [10L 9s]
| | | [[1L 15s]] |
| Tritonic[19] [2L 17s]
| | | [[1L 16s]] |
| Hemiwuerschmidt[19] [6L 13s]
| | | [[1L 17s]] |
| | | [[1L 18s]] |
| | | [[1L 19s]] |
| | | [[1L 20s]] |
| | | [[1L 21s]] |
| | | [[1L 22s]] |
| | | [[1L 23s]] |
| | | [[1L 24s]] |
| | |- |
| | | [[2L 13s]] |
| | | [[2L 14s]] |
| | | [[2L 15s]] |
| | | [[2L 16s]] |
| | | [[2L 17s]] |
| | | [[2L 18s]] |
| | | [[2L 19s]] |
| | | [[2L 20s]] |
| | | [[2L 21s]] |
| | | [[2L 22s]] |
| | | [[2L 23s]] |
| | | [[2L 24s]] |
| | |- |
| | | [[3L 13s]] |
| | | [[3L 14s]] |
| | | [[3L 15s]] |
| | | [[3L 16s]] |
| | | [[3L 17s]] |
| | | [[3L 18s]] |
| | | [[3L 19s]] |
| | | [[3L 20s]] |
| | | [[3L 21s]] |
| | | [[3L 22s]] |
| | | [[3L 23s]] |
| | | [[3L 24s]] |
| | |- |
| | | [[4L 13s]] |
| | | [[4L 14s]] |
| | | [[4L 15s]] |
| | | [[4L 16s]] |
| | | [[4L 17s]] |
| | | [[4L 18s]] |
| | | [[4L 19s]] |
| | | [[4L 20s]] |
| | | [[4L 21s]] |
| | | [[4L 22s]] |
| | | [[4L 23s]] |
| | | [[4L 24s]] |
| | |- |
| | | [[5L 13s]] |
| | | [[5L 14s]] |
| | | [[5L 15s]] |
| | | [[5L 16s]] |
| | | [[5L 17s]] |
| | | [[5L 18s]] |
| | | [[5L 19s]] |
| | | [[5L 20s]] |
| | | [[5L 21s]] |
| | | [[5L 22s]] |
| | | [[5L 23s]] |
| | | [[5L 24s]] |
| | |- |
| | | [[6L 13s]] |
| | | [[6L 14s]] |
| | | [[6L 15s]] |
| | | [[6L 16s]] |
| | | [[6L 17s]] |
| | | [[6L 18s]] |
| | | [[6L 19s]] |
| | | [[6L 20s]] |
| | | [[6L 21s]] |
| | | [[6L 22s]] |
| | | [[6L 23s]] |
| | | [[6L 24s]] |
| | |- |
| | | [[7L 13s]] |
| | | [[7L 14s]] |
| | | [[7L 15s]] |
| | | [[7L 16s]] |
| | | [[7L 17s]] |
| | | [[7L 18s]] |
| | | [[7L 19s]] |
| | | [[7L 20s]] |
| | | [[7L 21s]] |
| | | [[7L 22s]] |
| | | [[7L 23s]] |
| | | [[7L 24s]] |
| | |- |
| | | [[8L 13s]] |
| | | [[8L 14s]] |
| | | [[8L 15s]] |
| | | [[8L 16s]] |
| | | [[8L 17s]] |
| | | [[8L 18s]] |
| | | [[8L 19s]] |
| | | [[8L 20s]] |
| | | [[8L 21s]] |
| | | [[8L 22s]] |
| | | [[8L 23s]] |
| | | [[8L 24s]] |
| | |- |
| | | [[9L 13s]] |
| | | [[9L 14s]] |
| | | [[9L 15s]] |
| | | [[9L 16s]] |
| | | [[9L 17s]] |
| | | [[9L 18s]] |
| | | [[9L 19s]] |
| | | [[9L 20s]] |
| | | [[9L 21s]] |
| | | [[9L 22s]] |
| | | [[9L 23s]] |
| | | [[9L 24s]] |
| | |- |
| | | [[10L 13s]] |
| | | [[10L 14s]] |
| | | [[10L 15s]] |
| | | [[10L 16s]] |
| | | [[10L 17s]] |
| | | [[10L 18s]] |
| | | [[10L 19s]] |
| | | [[10L 20s]] |
| | | [[10L 21s]] |
| | | [[10L 22s]] |
| | | [[10L 23s]] |
| | | [[10L 24s]] |
| | |- |
| | | [[11L 13s]] |
| | | [[11L 14s]] |
| | | [[11L 15s]] |
| | | [[11L 16s]] |
| | | [[11L 17s]] |
| | | [[11L 18s]] |
| | | [[11L 19s]] |
| | | [[11L 20s]] |
| | | [[11L 21s]] |
| | | [[11L 22s]] |
| | | [[11L 23s]] |
| | | [[11L 24s]] |
| | |- |
| | | [[12L 13s]] |
| | | [[12L 14s]] |
| | | [[12L 15s]] |
| | | [[12L 16s]] |
| | | [[12L 17s]] |
| | | [[12L 18s]] |
| | | [[12L 19s]] |
| | | [[12L 20s]] |
| | | [[12L 21s]] |
| | | [[12L 22s]] |
| | | [[12L 23s]] |
| | | [[12L 24s]] |
| | |} |
|
| |
|
| Roman[20] [3L 17s]
| | === 13 ≤ L ≤ 24, s ≤ 12 === |
| | {| class="wikitable mw-collapsible mw-collapsed center-all" |
| | |+ style="font-size: 105%; white-space: nowrap;" | Pages for MOS scales ({{nowrap|13 ≤ L ≤ 24|s ≤ 12}}) |
| | |- |
| | | [[13L 1s]] |
| | | [[13L 2s]] |
| | | [[13L 3s]] |
| | | [[13L 4s]] |
| | | [[13L 5s]] |
| | | [[13L 6s]] |
| | | [[13L 7s]] |
| | | [[13L 8s]] |
| | | [[13L 9s]] |
| | | [[13L 10s]] |
| | | [[13L 11s]] |
| | | [[13L 12s]] |
| | |- |
| | | [[14L 1s]] |
| | | [[14L 2s]] |
| | | [[14L 3s]] |
| | | [[14L 4s]] |
| | | [[14L 5s]] |
| | | [[14L 6s]] |
| | | [[14L 7s]] |
| | | [[14L 8s]] |
| | | [[14L 9s]] |
| | | [[14L 10s]] |
| | | [[14L 11s]] |
| | | [[14L 12s]] |
| | |- |
| | | [[15L 1s]] |
| | | [[15L 2s]] |
| | | [[15L 3s]] |
| | | [[15L 4s]] |
| | | [[15L 5s]] |
| | | [[15L 6s]] |
| | | [[15L 7s]] |
| | | [[15L 8s]] |
| | | [[15L 9s]] |
| | | [[15L 10s]] |
| | | [[15L 11s]] |
| | | [[15L 12s]] |
| | |- |
| | | [[16L 1s]] |
| | | [[16L 2s]] |
| | | [[16L 3s]] |
| | | [[16L 4s]] |
| | | [[16L 5s]] |
| | | [[16L 6s]] |
| | | [[16L 7s]] |
| | | [[16L 8s]] |
| | | [[16L 9s]] |
| | | [[16L 10s]] |
| | | [[16L 11s]] |
| | | [[16L 12s]] |
| | |- |
| | | [[17L 1s]] |
| | | [[17L 2s]] |
| | | [[17L 3s]] |
| | | [[17L 4s]] |
| | | [[17L 5s]] |
| | | [[17L 6s]] |
| | | [[17L 7s]] |
| | | [[17L 8s]] |
| | | [[17L 9s]] |
| | | [[17L 10s]] |
| | | [[17L 11s]] |
| | | [[17L 12s]] |
| | |- |
| | | [[18L 1s]] |
| | | [[18L 2s]] |
| | | [[18L 3s]] |
| | | [[18L 4s]] |
| | | [[18L 5s]] |
| | | [[18L 6s]] |
| | | [[18L 7s]] |
| | | [[18L 8s]] |
| | | [[18L 9s]] |
| | | [[18L 10s]] |
| | | [[18L 11s]] |
| | | [[18L 12s]] |
| | |- |
| | | [[19L 1s]] |
| | | [[19L 2s]] |
| | | [[19L 3s]] |
| | | [[19L 4s]] |
| | | [[19L 5s]] |
| | | [[19L 6s]] |
| | | [[19L 7s]] |
| | | [[19L 8s]] |
| | | [[19L 9s]] |
| | | [[19L 10s]] |
| | | [[19L 11s]] |
| | | [[19L 12s]] |
| | |- |
| | | [[20L 1s]] |
| | | [[20L 2s]] |
| | | [[20L 3s]] |
| | | [[20L 4s]] |
| | | [[20L 5s]] |
| | | [[20L 6s]] |
| | | [[20L 7s]] |
| | | [[20L 8s]] |
| | | [[20L 9s]] |
| | | [[20L 10s]] |
| | | [[20L 11s]] |
| | | [[20L 12s]] |
| | |- |
| | | [[21L 1s]] |
| | | [[21L 2s]] |
| | | [[21L 3s]] |
| | | [[21L 4s]] |
| | | [[21L 5s]] |
| | | [[21L 6s]] |
| | | [[21L 7s]] |
| | | [[21L 8s]] |
| | | [[21L 9s]] |
| | | [[21L 10s]] |
| | | [[21L 11s]] |
| | | [[21L 12s]] |
| | |- |
| | | [[22L 1s]] |
| | | [[22L 2s]] |
| | | [[22L 3s]] |
| | | [[22L 4s]] |
| | | [[22L 5s]] |
| | | [[22L 6s]] |
| | | [[22L 7s]] |
| | | [[22L 8s]] |
| | | [[22L 9s]] |
| | | [[22L 10s]] |
| | | [[22L 11s]] |
| | | [[22L 12s]] |
| | |- |
| | | [[23L 1s]] |
| | | [[23L 2s]] |
| | | [[23L 3s]] |
| | | [[23L 4s]] |
| | | [[23L 5s]] |
| | | [[23L 6s]] |
| | | [[23L 7s]] |
| | | [[23L 8s]] |
| | | [[23L 9s]] |
| | | [[23L 10s]] |
| | | [[23L 11s]] |
| | | [[23L 12s]] |
| | |- |
| | | [[24L 1s]] |
| | | [[24L 2s]] |
| | | [[24L 3s]] |
| | | [[24L 4s]] |
| | | [[24L 5s]] |
| | | [[24L 6s]] |
| | | [[24L 7s]] |
| | | [[24L 8s]] |
| | | [[24L 9s]] |
| | | [[24L 10s]] |
| | | [[24L 11s]] |
| | | [[24L 12s]] |
| | |} |
|
| |
|
| Miracle[21] [10L 11s]
| | === Larger MOS scales === |
| Tritonic[21] [2L 19s]
| | [[7L 34s]], [[9L 29s]], [[12L 29s]], [[12L 41s]], [[13L 14s]], [[14L 13s]], [[17L 14s]], [[25L 6s]], [[41L 12s]] |
| Rodan[21] [5L 16s]
| |
|
| |
|
| Magic[22] [19L 3s]
| | == Variations == |
| Orwell[22] [9L 13s]
| | * [[MODMOS scales]] are derived from chromatic alterations of one or more tones of an MOS scale, typically by the interval of {{nowrap| L − s }}, the "chroma". |
| Wizard[22] [6L 16s]
| | * [[Muddle]]s are subsets of MOS parent scales with the general shape of a smaller (and possibly unrelated) MOS scale. |
| Diaschismic[22] [12L 10s]
| | * [[MOS cradle]] is a technique of embedding MOS-like structures inside MOS scales and may or may not produce subsets of MOS scales. |
| Shrutar[22] [2L 20s]
| | * [[Operations on MOSes]] |
| Coendou[22] [7L 15s]
| |
|
| |
|
| Hemikleismic[23] [15L 8s]
| | == Listen == |
| Unidec[23] [13L 10s]
| | This is an algorithmically generated recording of every MOS scale that has 14 or fewer notes for a total of 91 scales being showcased here. Each MOS scale played has its simplest step ratio (large step is 2 small step is 1) and therefore is inside the smallest EDO that can support it. Each MOS scale is also in its brightest mode. And rhythmically, each scale is being played with its respective MOS rhythm. Note that changing the mode or step ratio of any of these MOSes may dramatically alter the sound and therefore this recording is not thoroughly representative of each MOS but rather a small taste. |
| Roman[23] [3L 20s]
| |
|
| |
|
| Mohajira[24] [7L 17s]
| | [[File:Every-MOS-Scale-With-14-Or-Fewer-Notes.mp3|left|800x800px]] {{clear}} |
|
| |
|
| Hemithirds[25] [6L 19s]
| | == See also == |
| | * [[Diamond-mos notation]], a microtonal [[notation]] system focused on MOS scales |
| | * [[Metallic MOS]], an article focusing on MOS scales based on metallic means, such as [[phi]] |
| | * [[MOS rhythm]] |
| | * [[:Category:MOS scales|Category:MOS scales]], the category including all MOS-related articles on this wiki |
| | * [[Gallery of MOS patterns]] |
|
| |
|
| Ennealimmal[27] [18L 9s]
| | == Notes == |
| Octacot[27] [14L 13s]
| | <references group="note" /> |
|
| |
|
| Leapday[29] [17L 12s]
| | == References == |
| Garibaldi[29] [12L 17s]
| | <references /> |
|
| |
|
| ==MOS As Applied To Rhythms==
| | [[Category:Math]] |
| David Canright was the first to suggest Fibonacci Rhythms in 1/1. This lead to Kraig Grady to be the first to apply MOS patterns to rhythms. Two papers on the subject can be found here [[http://anaphoria.com/hora.PDF]] and [[http://anaphoria.com/horo2.PDF]]
| | [[Category:MOS scale| ]] <!-- Sort order in category: this page shows above A --> |
| MOS structures and thinking can be applied to the design of rhythms as well. See [[MOS Rhythm Tutorial]] | | [[Category:Scale]] |
| | | [[Category:Erv Wilson]] |
| ==Algorithms==
| |
| Below is some Maple code for various mathematical routines having to do with MOS. If you have access to Maple, you can of course copy and run these programs. Even if you do not, since Maple code makes better pseudocode than most languages or computer algebra packages afford, it can be used as pseudocode. For that purpose, it will be helpful to know that "modp(x, n)" means reducing x mod the integer n to 0, 1, ..., n-1 not only when x is an integer, but also when it is a rational number with denominator prime to n. In that case, p/q mod n = r means p = qr mod n.
| |
| | |
| log2 := proc(x)
| |
| # logarithm base 2
| |
| evalf(ln(x)/ln(2)) end:
| |
| | |
| nextfarey := proc(q, n)
| |
| # next in row n of Farey sequence from q, 0 <= q <= 1
| |
| local a, b, r, s;
| |
| if q >= (n-1)/n then RETURN(1) fi;
| |
| a := numer(q);
| |
| b := denom(q);
| |
| s := n - modp(n + 1/a, b);
| |
| r := modp(1/b, s);
| |
| r/s end:
| |
| | |
| prevfarey := proc(q, n)
| |
| # previous in row n of Farey sequence from q, 0 <= q <= 1
| |
| local a, b, r, s;
| |
| if q=0 then RETURN(0) fi;
| |
| if n=0 then RETURN(0) fi;
| |
| a := numer(q);
| |
| b := denom(q);
| |
| s := n - modp(n - 1/a, b);
| |
| r := modp(-1/b, s);
| |
| r/s end:
| |
| | |
| fareypair := proc(q)
| |
| # Farey pair with q as its mediant
| |
| local n;
| |
| n := denom(q);
| |
| [prevfarey(q, n), nextfarey(q, n)] end:
| |
| | |
| mediant := proc(u, v)
| |
| # mediant of two rational numbers u and v
| |
| (numer(u) + numer(v))/(denom(u) + denom(v)) end:
| |
| | |
| convergents := proc(z)
| |
| # convergent list for z
| |
| local q;
| |
| convert(z,confrac,'q');
| |
| q end:
| |
| | |
| exlist := proc(l)
| |
| # expansion of a convergent list to semiconvergents
| |
| local i, j, s, d;
| |
| if nops(l)<3 then RETURN(l) fi;
| |
| d[1] := l[1];
| |
| d[2] := l[2];
| |
| s := 3;
| |
| for i from 3 to nops(l)-1 do
| |
| for j from 1 to (numer(l[i])-numer(l[i-2]))/numer(l[i-1]) do
| |
| d[s] :=
| |
| (j*numer(l[i-1])+numer(l[i-2]))/(j*denom(l[i-1])+denom(l[i-2]));
| |
| s := s+1 od od;
| |
| convert(convert(d, array), list) end:
| |
| | |
| semiconvergents := proc(z)
| |
| # semiconvergent list for z
| |
| exlist(convergents(z)) end:
| |
| | |
| penult := proc(q)
| |
| # penultimate convergent to q
| |
| local i, u;
| |
| u := convergents(q);
| |
| if nops(u)=1 then RETURN(u[1]) fi;
| |
| for i from 1 to nops(u) do
| |
| if u[i]=q then RETURN(u[i-1]) fi od;
| |
| end:
| |
| | |
| Ls := proc(q)
| |
| # large-small steps from mediant q
| |
| local u;
| |
| u := fareypair(q);
| |
| [denom(u[2]), denom(u[1])] end:
| |
| | |
| medi := proc(u)
| |
| # mediant from Large-small steps
| |
| local q, r;
| |
| if u[2]=1 then RETURN(1/(u[1]+1)) fi;
| |
| r := igcd(u[1], u[2]);
| |
| if r>1 then RETURN(medi([u[1]/r, u[2]/r])) fi;
| |
| q := penult(u[1]/u[2]);
| |
| if q > u[1]/u[2] then RETURN((numer(q)+denom(q))/(u[1]+u[2])) fi;
| |
| (u[1]+u[2]-numer(q)-denom(q))/(u[1]+u[2]) end:
| |
| | |
| Lsgen := proc(g, n)
| |
| # given generator g and scale size n determines large-small steps
| |
| local q, u, w;
| |
| q := round(n*g)/n;
| |
| w := n/denom(q);
| |
| u := fareypair(q);
| |
| if g<u[1] or g>u[2] or g=q then RETURN('false') fi;
| |
| if g<q then RETURN([w*denom(u[1]), w*denom(u[2])]) fi;
| |
| [w*denom(u[2]), w*denom(u[1])] end:
| |
| | |
| revlist := proc(l)
| |
| # reverse of list
| |
| local i, v, e;
| |
| e := nops(l);
| |
| for i from 1 to e do
| |
| v[i] := l[e-i+1] od;
| |
| convert(convert(v,array),list) end:
| |
| | |
| invcon := proc(l)
| |
| # inverse continued fraction
| |
| local d, i, h, k;
| |
| h[-2] := 0;
| |
| h[-1] := 1;
| |
| k[-2] := 1;
| |
| k[-1] := 0;
| |
| for i from 0 to nops(l)-1 do
| |
| h[i] := l[i+1]*h[i-1] + h[i-2];
| |
| k[i] := l[i+1]*k[i-1] + k[i-2];
| |
| d[i+1] := h[i]/k[i] od;
| |
| convert(convert(d, array), list) end:
| |
| | |
| quest := proc(x)
| |
| # Minkowski ? function
| |
| local i, j, d, l, s, t;
| |
| l := convert(x, confrac);
| |
| d := nops(l);
| |
| s := l[1];
| |
| for i from 2 to d do
| |
| t := 1;
| |
| for j from 2 to i do
| |
| t := t - l[j] od;
| |
| s := s + (-1)^i * 2^t od;
| |
| if type(x, float) then s := evalf(s) fi;
| |
| s end:
| |
| | |
| Box := proc(x)
| |
| # inverse ? function
| |
| local d, e, i, n, w, y;
| |
| if type(x, integer) then RETURN(x) fi;
| |
| y := x-floor(x);
| |
| if y = 1/8 then RETURN(floor(x)+1/4) fi;
| |
| w := round(log2(10)*Digits)-5;
| |
| n := round(2^w * y);
| |
| i :=0;
| |
| while n>0 do
| |
| i := i+1;
| |
| if modp(n,2)=0 then
| |
| d[i] := padic[ordp](n, 2);
| |
| n := n/2^d[i];
| |
| else
| |
| d[i] := padic[ordp](n+1, 2);
| |
| n := (n-2^d[i]+1)/2^d[i] fi od;
| |
| e := convert(convert(d, array), list);
| |
| e := subsop(1=NULL,e);
| |
| w := ceil(-log2(y));
| |
| e := [op(e), w];
| |
| e := [op(e), floor(x)];
| |
| e := revlist(e);
| |
| n := invcon(e);
| |
| w := n[nops(n)];
| |
| if type(x, rational) and modp(denom(x), 2)=0 then RETURN(w) fi;
| |
| evalf(w) end:
| |
| | |
| ==[[MOSDiagrams]]== </pre></div>
| |
| <h4>Original HTML content:</h4>
| |
| <div style="width:100%; max-height:400pt; overflow:auto; background-color:#f8f9fa; border: 1px solid #eaecf0; padding:0em"><pre style="margin:0px;border:none;background:none;word-wrap:break-word;width:200%;white-space: pre-wrap ! important" class="old-revision-html"><html><head><title>MOSScales</title></head><body><!-- ws:start:WikiTextHeadingRule:0:&lt;h1&gt; --><h1 id="toc0"><a name="MOS scales"></a><!-- ws:end:WikiTextHeadingRule:0 -->MOS scales</h1>
| |
| <br />
| |
| An important class of scales are MOS scales (the acronym <strong>MOS</strong> coming from <strong>&quot;Moment Of Symmetry&quot;</strong>). These are derived by iterating an interval g, called the generator, inside a larger interval, called the period, and reducing to the period when the iterates become larger than the period. Usually the period is an octave or an nth root of 2, but it can in theory be any positive number. The resulting scale is called a MOS when it has exactly two sizes of steps when sorted into ascending order of size.<br />
| |
| <br />
| |
| The term and scale construction method were invented by Erv Wilson. His original paper can be found here <a class="wiki_link_ext" href="http://anaphoria.com/mos.PDF" rel="nofollow">http://anaphoria.com/mos.PDF</a>. There is also an introduction <a class="wiki_link_ext" href="http://anaphoria.com/wilsonintroMOS.html" rel="nofollow">http://anaphoria.com/wilsonintroMOS.html</a>. It generalizes the classical diatonic and pentatonic scales. In academic music theory, MOS are known as <em>well-formed scales</em> and the introduction of the concept is attributed to a 1989 paper by Norman Carey and David Clampitt. A great deal of interesting work has been done on scales in academic circles extending these ideas.<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:2:&lt;h2&gt; --><h2 id="toc1"><a name="MOS scales-Theory of MOS"></a><!-- ws:end:WikiTextHeadingRule:2 -->Theory of MOS</h2>
| |
| Let us represent the period as 1. This would be the logarithm base 2 of 2 if the period is an octave, or in general we can measure intervals by the log base P when P is the period. Suppose the fractions a/b and c/d are a <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Farey_sequence#Farey_neighbours" rel="nofollow">Farey pair</a>, meaning that a/b &lt; c/d and bc - ad = 1. If g = (1-t)(a/b) + t(c/d) for 0 &lt;= t &lt;= 1, then when t = 0, the scale generated by g will consist of an equal division of 1 (representing P) into steps of size 1/b, and when t = 1 into steps of size 1/d. In between, when t = b/(b + d), we obtain a generator equal to the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Mediant_%28mathematics%29" rel="nofollow">mediant</a> (a + c)/(b + d) and which will divide the period into b+d equal steps. For all other values a/b &lt; g &lt; c/d we obtain two different sizes of steps, the small steps s, and the large steps L, with the total number of steps b+d, and these scales are the MOS associated to the Farey pair. When g is between a/b and (a + c)/(b + d) there will be b large steps and d small steps, and when it is between (a + c)/(b + d) and c/d, d large steps and b small ones.<br />
| |
| <br />
| |
| While all the scales constructed by generators g with a/b &lt; g &lt; c/d with the exception of the mediant which gives an equal temperament are MOS, not all the scales are <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Rothenberg_propriety" rel="nofollow">proper</a> in the sense of Rothenberg. The <em>range of propriety</em> for MOS is (2a + c)/(2b + d) &lt;= g &lt;= (a + 2c)/(b + 2d), where MOS coming from a Farey pair (a/b, c/d) are proper when in this range, and improper when out of it. If (2a + c)/(2b + d) &lt; g &lt; (a + 2c)/(b + 2d), then the scales are strictly proper. Hence the diatonic scale in 12et, with generator 7/12, is proper but not strictly proper since starting from the pair (1/2, 3/5) we find the range of propriety for these seven-note MOS to be [5/9, 7/12].<br />
| |
| <br />
| |
| Given a generator g, we can find MOS for g with period 1 by means of the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Continued_fraction#Semiconvergents" rel="nofollow">semiconvergents</a> to g. A pair of successive semiconvergents have the property that they define a Farey pair, and when g is contained in the pair, that is, a/b &lt; g &lt; c/d, we have defined a MOS for g with b+d as the number of notes in the MOS, with b notes of one size and d of the other.<br />
| |
| <br />
| |
| For example, suppose we want MOS for 1/4-comma meantone. The generator will then be log2(5)/4, which has semiconvergents 1/2, 2/3, 3/5, 4/7, 7/12, 11/19, 18/31, 29/50, 47/81, 65/112... If we settle on 31 as a good size for our MOS, we see 18/31 is the mediant between the Farey pair 11/19 and 7/12, for which the range of strict propriety is 29/50 &lt; x &lt; 25/43. Since g is in that range and not equal to 18/31, we will get a strictly proper MOS. <br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:4:&lt;h2&gt; --><h2 id="toc2"><a name="MOS scales-Classification of MOS"></a><!-- ws:end:WikiTextHeadingRule:4 -->Classification of MOS</h2>
| |
| A classification of MOS scales can be given by the number of elements of the scale of each size - the number of large intervals &quot;L&quot; and the number of small intervals &quot;s&quot;, together with the period, assumed to be minimal (which entails that L and s are relatively prime.) E.g., the diatonic scale can be described as [5L 2s] (5 large steps and 2 small steps) or simply [5, 2] with period an octave. Alternatively, we could give a mediant for a Farey pair associated to the MOS, where this mediant is less than any generator for the MOS. In other words, we use the right hand part of the Farey pair interval, which means we must replace g with 1-g and use the complementary pair if g is in the left hand side.<br />
| |
| <br />
| |
| The two systems are equivalent; in the Algorithms section you will find code for routines starting from the mediant and going to the Ls pair (the &quot;Ls&quot; routine) and for starting from an Ls pair and going to the mediant (the &quot;medi&quot; routine.) The Ls routine uses <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Modular_multiplicative_inverse" rel="nofollow">modular inverses</a>, whereas the medi routine uses continued fractions.<br />
| |
| <br />
| |
| If the period is assumed to be 2^(1/n) for some integer n, we can give instead the total number of large and small steps in the octave, instead of just the period, and this is commonly done. In this case, GCD(L, s) gives the number of periods in an octave.<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:6:&lt;h3&gt; --><h3 id="toc3"><a name="MOS scales-Classification of MOS-Classification via the ? function"></a><!-- ws:end:WikiTextHeadingRule:6 -->Classification via the ? function</h3>
| |
| Yet another way of classifying MOS is via <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Minkowski%27s_question_mark_function" rel="nofollow">Minkowski's ? function</a>. Here ?(x) is a continuous increasing function from the real numbers to the real numbers which has some peculiar properties, one being that it sends rational numbers to <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Dyadic_rational" rel="nofollow">dyadic rationals</a>. Hence if q is a rational number 0 &lt; q &lt; 1 in use in the mediant system of classifying MOS, r = ?(q) = A/2^n will be a dyadic rational number which can also be used. Note that the ? function is invertible, and it and its inverse function, the Box function, have code given for them in the algorithms section at the bottom of the article.<br />
| |
| <br />
| |
| The integer n in the denominator of r (with A assumed to be odd) is the order (or n+1 is, according to some sources) of q in the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Stern%E2%80%93Brocot_tree" rel="nofollow">Stern-Brocot tree</a>. The two neighboring numbers of order n+1, which define the range of propriety, can also be expressed in terms of the ? and Box functions as Box(r - 2^(-n-1) and Box(r + 2^(-n-1)). If r represents a MOS, the range of possible values for a generator of the MOS will be Box(r) &lt; g &lt; Box(r + 2^(-n)), and the proper generators will be Box(r) &lt; g &lt; Box(r + 2^(-n-1)). So, for example, the MOS denoted by 3/2048 will be between Box(3/2048) and Box(4/2048), which means that 2/21 &lt; g &lt; 1/10, and will be proper if 2/21 &lt; g &lt; 3/31. Hence 7/72, a generator for miracle temperament, will define a MOS but it will not be proper since 7/72 &gt; 3/31 = Box(3/2048 + 1/4096)).<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:8:&lt;h3&gt; --><h3 id="toc4"><a name="MOS scales-Classification of MOS-Names for MOS"></a><!-- ws:end:WikiTextHeadingRule:8 -->Names for MOS</h3>
| |
| Since numbers tend to be dry, Graham Breed has proposed a <a class="wiki_link" href="/MOSNamingScheme">naming scheme for MOS scales</a>.<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:10:&lt;h3&gt; --><h3 id="toc5"><a name="MOS scales-Classification of MOS-MOS in equal temperaments"></a><!-- ws:end:WikiTextHeadingRule:10 -->MOS in equal temperaments</h3>
| |
| In an equal temperament, all intervals are integer multiples of a smallest unit. If the equal temperament is N-EDO and the period is an octave, the sizes of the large and small steps will be p/N and q/N, with p &gt; q. We then have L(p/N) + s(q/N) = 1, which on multiplying through by N gives us<br />
| |
| <br />
| |
| Lp + sq = N.<br />
| |
| <br />
| |
| which is a linear diophantine equation. Solving this by standard methods, and requiring L and s to be positive, gives us the [L, s] pair for the MOS. If some other quantity of equal steps gives the period, we may make the appropriate adjustment.<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:12:&lt;h3&gt; --><h3 id="toc6"><a name="MOS scales-Classification of MOS-Blackwood R constant"></a><!-- ws:end:WikiTextHeadingRule:12 -->Blackwood R constant</h3>
| |
| In the context of the &quot;recognizable diatonic&quot; scales deriving from the Farey pair [1/2, 3/5] <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Easley_Blackwood,_Jr." rel="nofollow">Easley Blackwood Jr.</a> defined a characterizing constant R which we may generalize to any MOS as follows. If a/b &lt; g &lt; c/d is a generator with the given Farey pair, take the ratio of relative errors R = (bg - a)/(c - dg). Since this is a ratio of positive numbers, it is positive. As g tends towards a/b it tends to zero, and as g goes to c/d R goes to infinity. When g equals (a + c)/(b + d) it takes the value 1, and the range of propriety is 1/2 &lt;= R &lt;= 2.<br />
| |
| <br />
| |
| When R is less than 1, it represents the ratio in (logarithmic) size between the smaller and the larger step. When it is greater than 1, it is larger/smaller. By replacing g with 1 - g if necessary, we can reduce always to the case where R&gt;1 (or R&lt;1 if we prefer.)<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:14:&lt;h2&gt; --><h2 id="toc7"><a name="MOS scales-Catalog of MOS"></a><!-- ws:end:WikiTextHeadingRule:14 -->Catalog of MOS</h2>
| |
| Below is a list of MOS with number of elements from 5 to 10, plus some of the more significant larger MOS.<br />
| |
| <br />
| |
| | |
| | |
| <table class="wiki_table">
| |
| <tr>
| |
| <td><a class="wiki_link" href="/PentatonicMOS">Pentatonic MOS</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/1L%204s">1L 4s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/2L%203s">2L 3s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/3L%202s">3L 2s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/4L%201s">4L 1s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| </tr>
| |
| <tr>
| |
| <td><a class="wiki_link" href="/HexatonicMOS">Hexatonic MOS</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/1L%205s">1L 5s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/2L%204s">2L 4s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/3L%203s">3L 3s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/4L%202s">4L 2s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/5L%201s">5L 1s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| </tr>
| |
| <tr>
| |
| <td><a class="wiki_link" href="/HeptatonicMOS">Heptatonic MOS</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/1L%206s">1L 6s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/2L%205s">2L 5s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/3L%204s">3L 4s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/4L%203s">4L 3s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/5L%202s">5L 2s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/6L%201s">6L 1s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| </tr>
| |
| <tr>
| |
| <td><a class="wiki_link" href="/OctatonicMOS">Octatonic MOS</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/1L%207s">1L 7s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/2L%206s">2L 6s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/3L%205s">3L 5s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/4L%204s">4L 4s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/5L%203s">5L 3s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/6L%202s">6L 2s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/7L%201s">7L 1s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| </tr>
| |
| <tr>
| |
| <td><a class="wiki_link" href="/NonatonicMOS">Nonatonic MOS</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/1L%208s">1L 8s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/2L%207s">2L 7s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/3L%206s">3L 6s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/4L%205s">4L 5s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/5L%204s">5L 4s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/6L%203s">6L 3s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/7L%202s">7L 2s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/8L%201s">8L 1s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| </tr>
| |
| <tr>
| |
| <td><a class="wiki_link" href="/DecatonicMOS">Decatonic MOS</a><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/1L%209s">1L 9s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/2L%208s">2L 8s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/3L%207s">3L 7s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/4L%206s">4L 6s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/5L%205s">5L 5s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/6L%204s">6L 4s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/7L%203s">7L 3s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/8L%202s">8L 2s</a><br />
| |
| </td>
| |
| <td><br />
| |
| </td>
| |
| <td><a class="wiki_link" href="/9L%201s">9L 1s</a><br />
| |
| </td>
| |
| </tr>
| |
| </table>
| |
| | |
| <span style="color: #0000ee;"> </span><br />
| |
| <br />
| |
| Keemun[11] [4L 7s]<br />
| |
| Sensi[11] [8L 3s]<br />
| |
| <br />
| |
| Meantone[12] [7L 5s]<br />
| |
| Superpyth[12] [5L 7s]<br />
| |
| Pajara[12] [10L 2s]<br />
| |
| Injera[12] [2L 10s]<br />
| |
| Augene[12] [3L 9s]<br />
| |
| <br />
| |
| Godzilla[14] [5L 9s]<br />
| |
| Injera[14] [12L 2s]<br />
| |
| Doublewide[14] [4L 10s]<br />
| |
| <br />
| |
| Porcupine[15] [7L 8s]<br />
| |
| Myna[15] [4L 11s]<br />
| |
| Superkleismic[15] [11L 4s]<br />
| |
| Valentine[15] [1L 14s]<br />
| |
| <br />
| |
| Mothra[16] [5L 11s]<br />
| |
| Wizard[16] [6L 10s]<br />
| |
| <br />
| |
| Garibaldi[17] [12L 5s]<br />
| |
| Mohajira[17] [7L 10s]<br />
| |
| Beatles[17] [10L 7s]<br />
| |
| Squares[17] [14L 3s]<br />
| |
| <br />
| |
| Meantone[19] [12L 7s]<br />
| |
| Flattone[19] [7L 12s]<br />
| |
| Magic[19] [3L 16s]<br />
| |
| Muggles[19] [16L 3s]<br />
| |
| Myna[19] [4L 15s]<br />
| |
| Sensi[19] [8L 11s]<br />
| |
| Negri[19] [10L 9s]<br />
| |
| Tritonic[19] [2L 17s]<br />
| |
| Hemiwuerschmidt[19] [6L 13s]<br />
| |
| <br />
| |
| Roman[20] [3L 17s]<br />
| |
| <br />
| |
| Miracle[21] [10L 11s]<br />
| |
| Tritonic[21] [2L 19s]<br />
| |
| Rodan[21] [5L 16s]<br />
| |
| <br />
| |
| Magic[22] [19L 3s]<br />
| |
| Orwell[22] [9L 13s]<br />
| |
| Wizard[22] [6L 16s]<br />
| |
| Diaschismic[22] [12L 10s]<br />
| |
| Shrutar[22] [2L 20s]<br />
| |
| Coendou[22] [7L 15s]<br />
| |
| <br />
| |
| Hemikleismic[23] [15L 8s]<br />
| |
| Unidec[23] [13L 10s]<br />
| |
| Roman[23] [3L 20s]<br />
| |
| <br />
| |
| Mohajira[24] [7L 17s]<br />
| |
| <br />
| |
| Hemithirds[25] [6L 19s]<br />
| |
| <br />
| |
| Ennealimmal[27] [18L 9s]<br />
| |
| Octacot[27] [14L 13s]<br />
| |
| <br />
| |
| Leapday[29] [17L 12s]<br />
| |
| Garibaldi[29] [12L 17s]<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:16:&lt;h2&gt; --><h2 id="toc8"><a name="MOS scales-MOS As Applied To Rhythms"></a><!-- ws:end:WikiTextHeadingRule:16 -->MOS As Applied To Rhythms</h2>
| |
| David Canright was the first to suggest Fibonacci Rhythms in 1/1. This lead to Kraig Grady to be the first to apply MOS patterns to rhythms. Two papers on the subject can be found here <a class="wiki_link_ext" href="http://anaphoria.com/hora.PDF" rel="nofollow">http://anaphoria.com/hora.PDF</a> and <a class="wiki_link_ext" href="http://anaphoria.com/horo2.PDF" rel="nofollow">http://anaphoria.com/horo2.PDF</a><br />
| |
| MOS structures and thinking can be applied to the design of rhythms as well. See <a class="wiki_link" href="/MOS%20Rhythm%20Tutorial">MOS Rhythm Tutorial</a><br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:18:&lt;h2&gt; --><h2 id="toc9"><a name="MOS scales-Algorithms"></a><!-- ws:end:WikiTextHeadingRule:18 -->Algorithms</h2>
| |
| Below is some Maple code for various mathematical routines having to do with MOS. If you have access to Maple, you can of course copy and run these programs. Even if you do not, since Maple code makes better pseudocode than most languages or computer algebra packages afford, it can be used as pseudocode. For that purpose, it will be helpful to know that &quot;modp(x, n)&quot; means reducing x mod the integer n to 0, 1, ..., n-1 not only when x is an integer, but also when it is a rational number with denominator prime to n. In that case, p/q mod n = r means p = qr mod n.<br />
| |
| <br />
| |
| log2 := proc(x)<br />
| |
| # logarithm base 2<br />
| |
| evalf(ln(x)/ln(2)) end:<br />
| |
| <br />
| |
| nextfarey := proc(q, n)<br />
| |
| # next in row n of Farey sequence from q, 0 &lt;= q &lt;= 1<br />
| |
| local a, b, r, s;<br />
| |
| if q &gt;= (n-1)/n then RETURN(1) fi;<br />
| |
| a := numer(q);<br />
| |
| b := denom(q);<br />
| |
| s := n - modp(n + 1/a, b);<br />
| |
| r := modp(1/b, s);<br />
| |
| r/s end:<br />
| |
| <br />
| |
| prevfarey := proc(q, n)<br />
| |
| # previous in row n of Farey sequence from q, 0 &lt;= q &lt;= 1<br />
| |
| local a, b, r, s;<br />
| |
| if q=0 then RETURN(0) fi;<br />
| |
| if n=0 then RETURN(0) fi;<br />
| |
| a := numer(q);<br />
| |
| b := denom(q);<br />
| |
| s := n - modp(n - 1/a, b);<br />
| |
| r := modp(-1/b, s);<br />
| |
| r/s end:<br />
| |
| <br />
| |
| fareypair := proc(q)<br />
| |
| # Farey pair with q as its mediant<br />
| |
| local n;<br />
| |
| n := denom(q);<br />
| |
| [prevfarey(q, n), nextfarey(q, n)] end:<br />
| |
| <br />
| |
| mediant := proc(u, v)<br />
| |
| # mediant of two rational numbers u and v<br />
| |
| (numer(u) + numer(v))/(denom(u) + denom(v)) end:<br />
| |
| <br />
| |
| convergents := proc(z)<br />
| |
| # convergent list for z <br />
| |
| local q; <br />
| |
| convert(z,confrac,'q'); <br />
| |
| q end:<br />
| |
| <br />
| |
| exlist := proc(l)<br />
| |
| # expansion of a convergent list to semiconvergents<br />
| |
| local i, j, s, d;<br />
| |
| if nops(l)&lt;3 then RETURN(l) fi;<br />
| |
| d[1] := l[1];<br />
| |
| d[2] := l[2];<br />
| |
| s := 3;<br />
| |
| for i from 3 to nops(l)-1 do<br />
| |
| for j from 1 to (numer(l[i])-numer(l[i-2]))/numer(l[i-1]) do<br />
| |
| d[s] := <br />
| |
| (j*numer(l[i-1])+numer(l[i-2]))/(j*denom(l[i-1])+denom(l[i-2]));<br />
| |
| s := s+1 od od;<br />
| |
| convert(convert(d, array), list) end:<br />
| |
| <br />
| |
| semiconvergents := proc(z)<br />
| |
| # semiconvergent list for z<br />
| |
| exlist(convergents(z)) end:<br />
| |
| <br />
| |
| penult := proc(q)<br />
| |
| # penultimate convergent to q<br />
| |
| local i, u;<br />
| |
| u := convergents(q);<br />
| |
| if nops(u)=1 then RETURN(u[1]) fi;<br />
| |
| for i from 1 to nops(u) do<br />
| |
| if u[i]=q then RETURN(u[i-1]) fi od;<br />
| |
| end:<br />
| |
| <br />
| |
| Ls := proc(q)<br />
| |
| # large-small steps from mediant q<br />
| |
| local u;<br />
| |
| u := fareypair(q);<br />
| |
| [denom(u[2]), denom(u[1])] end:<br />
| |
| <br />
| |
| medi := proc(u)<br />
| |
| # mediant from Large-small steps<br />
| |
| local q, r;<br />
| |
| if u[2]=1 then RETURN(1/(u[1]+1)) fi;<br />
| |
| r := igcd(u[1], u[2]);<br />
| |
| if r&gt;1 then RETURN(medi([u[1]/r, u[2]/r])) fi;<br />
| |
| q := penult(u[1]/u[2]);<br />
| |
| if q &gt; u[1]/u[2] then RETURN((numer(q)+denom(q))/(u[1]+u[2])) fi;<br />
| |
| (u[1]+u[2]-numer(q)-denom(q))/(u[1]+u[2]) end:<br />
| |
| <br />
| |
| Lsgen := proc(g, n)<br />
| |
| # given generator g and scale size n determines large-small steps<br />
| |
| local q, u, w;<br />
| |
| q := round(n*g)/n;<br />
| |
| w := n/denom(q);<br />
| |
| u := fareypair(q);<br />
| |
| if g&lt;u[1] or g&gt;u[2] or g=q then RETURN('false') fi;<br />
| |
| if g&lt;q then RETURN([w*denom(u[1]), w*denom(u[2])]) fi;<br />
| |
| [w*denom(u[2]), w*denom(u[1])] end:<br />
| |
| <br />
| |
| revlist := proc(l)<br />
| |
| # reverse of list<br />
| |
| local i, v, e;<br />
| |
| e := nops(l);<br />
| |
| for i from 1 to e do<br />
| |
| v[i] := l[e-i+1] od;<br />
| |
| convert(convert(v,array),list) end:<br />
| |
| <br />
| |
| invcon := proc(l)<br />
| |
| # inverse continued fraction<br />
| |
| local d, i, h, k;<br />
| |
| h[-2] := 0;<br />
| |
| h[-1] := 1;<br />
| |
| k[-2] := 1;<br />
| |
| k[-1] := 0;<br />
| |
| for i from 0 to nops(l)-1 do<br />
| |
| h[i] := l[i+1]*h[i-1] + h[i-2];<br />
| |
| k[i] := l[i+1]*k[i-1] + k[i-2];<br />
| |
| d[i+1] := h[i]/k[i] od;<br />
| |
| convert(convert(d, array), list) end:<br />
| |
| <br />
| |
| quest := proc(x)<br />
| |
| # Minkowski ? function<br />
| |
| local i, j, d, l, s, t;<br />
| |
| l := convert(x, confrac);<br />
| |
| d := nops(l);<br />
| |
| s := l[1];<br />
| |
| for i from 2 to d do<br />
| |
| t := 1;<br />
| |
| for j from 2 to i do<br />
| |
| t := t - l[j] od;<br />
| |
| s := s + (-1)^i * 2^t od;<br />
| |
| if type(x, float) then s := evalf(s) fi;<br />
| |
| s end:<br />
| |
| <br />
| |
| Box := proc(x)<br />
| |
| # inverse ? function<br />
| |
| local d, e, i, n, w, y;<br />
| |
| if type(x, integer) then RETURN(x) fi;<br />
| |
| y := x-floor(x);<br />
| |
| if y = 1/8 then RETURN(floor(x)+1/4) fi;<br />
| |
| w := round(log2(10)*Digits)-5;<br />
| |
| n := round(2^w * y);<br />
| |
| i :=0;<br />
| |
| while n&gt;0 do<br />
| |
| i := i+1;<br />
| |
| if modp(n,2)=0 then<br />
| |
| d[i] := padic[ordp](n, 2);<br />
| |
| n := n/2^d[i];<br />
| |
| else<br />
| |
| d[i] := padic[ordp](n+1, 2);<br />
| |
| n := (n-2^d[i]+1)/2^d[i] fi od;<br />
| |
| e := convert(convert(d, array), list);<br />
| |
| e := subsop(1=NULL,e);<br />
| |
| w := ceil(-log2(y));<br />
| |
| e := [op(e), w];<br />
| |
| e := [op(e), floor(x)];<br />
| |
| e := revlist(e); <br />
| |
| n := invcon(e);<br />
| |
| w := n[nops(n)];<br />
| |
| if type(x, rational) and modp(denom(x), 2)=0 then RETURN(w) fi;<br />
| |
| evalf(w) end:<br />
| |
| <br />
| |
| <!-- ws:start:WikiTextHeadingRule:20:&lt;h2&gt; --><h2 id="toc10"><a name="MOS scales-MOSDiagrams"></a><!-- ws:end:WikiTextHeadingRule:20 --><a class="wiki_link" href="/MOSDiagrams">MOSDiagrams</a></h2>
| |
| </body></html></pre></div>
| |