OFFSET
1,2
LINKS
Tonalsoft Encyclopedia of Microtonal Music Theory, Consistency
EXAMPLE
9-EDO is consistent and distinct through the 5 limit because 6/5, 5/4, 4/3, 3/2, 8/5 and 5/3 map to 2, 3, 4, 5, 6 and 7 steps respectively and all the compositions of those intervals are consistent.
MAPLE
with(padic, ordp):
diamond := proc(n) # tonality diamond for odd integer n local i, j, s; s := {}; for i from 1 by 2 to n do for j from 1 by 2 to n do s := s union {r2d2(i/j)} od od; sort(convert(s, list)) end:
r2d2 := proc(q) # octave reduction of rational number q 2^(-floor(evalf(ln(q)/ln(2))))*q end:
plim := proc(q) # prime limit of rational number q local r, i, p; r := 1; i := 0; while not (r=q) do i := i+1; p := ithprime(i); r := r*p^ordp(q, p) od; i end:
vai := proc(n, i) # mapping of i-th prime by patent val for n round(evalf(n*ln(ithprime(i))/ln(2))) end:
via := proc(n, l) # the patent val for n of length l local i, v; for i from 1 to l do v[i] := vai(n, i) od; convert(convert(v, array), list) end:
h := proc(n, q) # mapping of interval q by patent val n if q=1 then RETURN(0) fi; dotprod(vec(q), via(n, plim(q))) end:
condi := proc(n, s) # distinct consistency of edo n with respect to consonance set s local i, d; for i from 1 to nops(s) do if not h(n, s[i])=round(n*l2(s[i])) then RETURN(false) fi od; for i from 1 to nops(s) do d[i] := h(n, s[i]) od; if not nops(convert(d, set))=nops(s) then RETURN(false) fi; RETURN(true) end:
condl := proc(n) # highest distinct odd-limit consistency for edo n local c; c := 3; while condi(n, diamond(c)) do c := c+2 od; c-2 end:
CROSSREFS
KEYWORD
nonn
AUTHOR
Gene Ward Smith, Mar 29 2006
STATUS
approved