Harmonic series segments
A harmonic series segment is a range of consecutive numbers divided by the smallest one. For example, the harmonic series segment between 6 and 12 is
6/6, 7/6, 8/6, 9/6, 10/6, 11/6, 12/6
or simplifying the fractions
1/1, 7/6, 4/3, 3/2, 5/3, 11/6, 2/1
If the largest number is double the smallest, the scale will span an octave.
Subharmonic series segment
If we take the reciprocals of a range of consecutive numbers and multiply by the largest one, we get a subharmonic series segment. For example, the subharmonic series segment from the range 6 to 12 is
12/6, 12/7, 12/8, 12/9, 12/10, 12/11, 12/12
or simplifying fractions and sorting
1/1, 12/11, 6/5, 4/3, 3/2, 12/7, 2/1
Further reading
- Harry Partch, Genesis of a Music, 2nd ed. Da Capo Press (1979)
- Augusto Novaro, Sistema Natural de la Música, pp. 36–37, (1951)
Python code
from fractions import Fraction
def harmonic_series_segment(m, n):
"""
>>> harmonic_series_segment(6, 12)
[Fraction(1, 1), Fraction(7, 6), Fraction(4, 3), Fraction(3, 2), Fraction(5, 3), Fraction(11, 6), Fraction(2, 1)]
"""
return [Fraction(i, m) for i in range(m, n + 1)]
def subharmonic_series_segment(m, n):
"""
>>> subharmonic_series_segment(6, 12)
[Fraction(1, 1), Fraction(12, 11), Fraction(6, 5), Fraction(4, 3), Fraction(3, 2), Fraction(12, 7), Fraction(2, 1)]
"""
return sorted(Fraction(n, i) for i in range(m, n + 1))
Scales
| File | Call |
|---|---|
| 08_o8 | harmonic_series_segment(8, 16) |
| 12to30subharm12 | subharmonic_series_segment(15, 30) |
| 24_limit_rainbow | harmonic_series_segment(12, 24) |
| genggong | harmonic_series_segment(5, 10) |
| sevenlim | harmonic_series_segment(4, 8) |