back to list

All-interval series

🔗Mats Öljare <oljare@hotmail.com>

11/18/2002 5:16:36 PM

A while ago i posted about all-interval series(that is,all pitch
classes AND all intervals)and i already had a computer generated(not
by me)list of all such in 12TET. Now i've finally finished a QBASIC
program to search for all-interval series, this one is for 19TET but
could be used for other systems with some modification... note that
this is very primitive and in any case, will take several days to run
through completely. But you can always try...

DIM ton(19)
DIM valfinns(19)
DIM valsteg(19)
DIM tonfinns(19)
DIM ton$(19)

WIDTH 80, 50
COLOR 15, 1
CLS

ton$(3) = "Db "
ton$(4) = "D "
ton$(5) = "D# "
ton$(6) = "Eb "
ton$(7) = "E "
ton$(8) = "E# "
ton$(9) = "F "
ton$(10) = "F# "
ton$(11) = "Gb "
ton$(12) = "G "
ton$(13) = "G# "
ton$(14) = "Ab "
ton$(15) = "A "
ton$(16) = "A# "
ton$(17) = "Bb "
ton$(18) = "B "
ton$(19) = "Cb "

FOR a = 4 TO 19
valsteg(1) = (a + 17) MOD 19
valfinns(valsteg(1)) = 1
tonfinns(a) = 1

FOR b = 3 TO 19
IF tonfinns(b) = 1 GOTO b
vall = (b + 19 - a) MOD 19
IF valfinns(vall) = 1 GOTO b
valfinns(vall) = 1
valsteg(2) = vall
tonfinns(b) = 1

FOR c = 3 TO 19
IF tonfinns(c) = 1 GOTO c
vall = (c + 19 - b) MOD 19
IF valfinns(vall) = 1 GOTO c
valfinns(vall) = 1
valsteg(3) = vall
tonfinns(c) = 1

FOR d = 3 TO 19
IF tonfinns(d) = 1 GOTO d
vall = (d + 19 - c) MOD 19
IF valfinns(vall) = 1 GOTO d
valfinns(vall) = 1
valsteg(4) = vall
tonfinns(d) = 1

FOR e = 3 TO 19
IF tonfinns(e) = 1 GOTO e
vall = (e + 19 - d) MOD 19
IF valfinns(vall) = 1 GOTO e
valfinns(vall) = 1
valsteg(5) = vall
tonfinns(e) = 1

FOR f = 3 TO 19
IF tonfinns(f) = 1 GOTO f
vall = (f + 19 - e) MOD 19
IF valfinns(vall) = 1 GOTO f
valfinns(vall) = 1
valsteg(6) = vall
tonfinns(f) = 1

FOR g = 3 TO 19
IF tonfinns(g) = 1 GOTO g
vall = (g + 19 - f) MOD 19
IF valfinns(vall) = 1 GOTO g
valfinns(vall) = 1
valsteg(7) = vall
tonfinns(g) = 1

FOR h = 3 TO 19
IF tonfinns(h) = 1 GOTO h
vall = (h + 19 - g) MOD 19
IF valfinns(vall) = 1 GOTO h
valfinns(vall) = 1
valsteg(8) = vall
tonfinns(h) = 1

FOR i = 3 TO 19
IF tonfinns(i) = 1 GOTO i
vall = (i + 19 - h) MOD 19
IF valfinns(vall) = 1 GOTO i
valfinns(vall) = 1
valsteg(9) = vall
tonfinns(i) = 1

FOR j = 3 TO 19
IF tonfinns(j) = 1 GOTO j
vall = (j + 19 - i) MOD 19
IF valfinns(vall) = 1 GOTO j
valfinns(vall) = 1
valsteg(10) = vall
tonfinns(j) = 1

FOR k = 3 TO 19
IF tonfinns(k) = 1 GOTO k
vall = (k + 19 - j) MOD 19
IF valfinns(vall) = 1 GOTO k
valfinns(vall) = 1
valsteg(11) = vall
tonfinns(k) = 1

FOR l = 3 TO 19
IF tonfinns(l) = 1 GOTO l
vall = (l + 19 - k) MOD 19
IF valfinns(vall) = 1 GOTO l
valfinns(vall) = 1
valsteg(12) = vall
tonfinns(l) = 1

FOR m = 3 TO 19
IF tonfinns(m) = 1 GOTO m
vall = (m + 19 - l) MOD 19
IF valfinns(vall) = 1 GOTO m
valfinns(vall) = 1
valsteg(13) = vall
tonfinns(m) = 1

FOR n = 3 TO 19
IF tonfinns(n) = 1 GOTO n
vall = (n + 19 - m) MOD 19
IF valfinns(vall) = 1 GOTO n
valfinns(vall) = 1
valsteg(14) = vall
tonfinns(n) = 1

FOR o = 3 TO 19
IF tonfinns(o) = 1 GOTO o
vall = (o + 19 - n) MOD 19
IF valfinns(vall) = 1 GOTO o
valfinns(vall) = 1
valsteg(15) = vall
tonfinns(o) = 1

FOR p = 3 TO 19
IF tonfinns(p) = 1 GOTO p
vall = (p + 19 - o) MOD 19
IF valfinns(vall) = 1 GOTO p
valfinns(vall) = 1
valsteg(16) = vall
tonfinns(p) = 1

FOR q = 3 TO 19
IF tonfinns(q) = 1 GOTO q
vall = (q + 19 - p) MOD 19
IF valfinns(vall) = 1 GOTO q
valfinns(vall) = 1
valsteg(17) = vall
tonfinns(q) = 1

PRINT "C C# "; ton$(a); ton$(b); ton$(c); ton$(d); ton$(e); ton$(f);
ton$(g); ton$(h); ton$(i); ton$(j); ton$(k); ton$(l); ton$(m);
ton$(n); ton$(o); ton$(p); ton$(q);
PRINT
s = s + 1: IF s = 48 THEN INPUT r: s = 0: CLS

valfinns(valsteg(17)) = 0
tonfinns(q) = 0
q:
NEXT q
valfinns(valsteg(16)) = 0
tonfinns(p) = 0
p:
NEXT p
valfinns(valsteg(15)) = 0
tonfinns(o) = 0
o:
NEXT o
valfinns(valsteg(14)) = 0
tonfinns(n) = 0
n:
NEXT n
valfinns(valsteg(13)) = 0
tonfinns(m) = 0
m:
NEXT m
valfinns(valsteg(12)) = 0
tonfinns(l) = 0
l:
NEXT l
valfinns(valsteg(11)) = 0
tonfinns(k) = 0
k:
NEXT k
valfinns(valsteg(10)) = 0
tonfinns(j) = 0
j:
NEXT j
valfinns(valsteg(9)) = 0
tonfinns(i) = 0
i:
NEXT i
valfinns(valsteg(8)) = 0
tonfinns(h) = 0
h:
NEXT h
valfinns(valsteg(7)) = 0
tonfinns(g) = 0
g:
NEXT g
valfinns(valsteg(6)) = 0
tonfinns(f) = 0
f:
NEXT f
valfinns(valsteg(5)) = 0
tonfinns(e) = 0
e:
NEXT e
valfinns(valsteg(4)) = 0
tonfinns(d) = 0
d:
NEXT d
valfinns(valsteg(3)) = 0
tonfinns(c) = 0
c:
NEXT c
valfinns(valsteg(2)) = 0
tonfinns(b) = 0
b:
NEXT b
valfinns(valsteg(1)) = 0
tonfinns(a) = 0
a:
NEXT a
PLAY "l17cegbgecegbgec"