Posted to tcl by jima at Fri Apr 02 20:42:33 GMT 2021view raw
- INDEX create NOTE {
- do {dos reb} re {res mib} mi fa {fas solb} sol {sols lab} la {las sib} si
- }
- TBL0 create SCALE {.interval} {
- major {0 2 2 1 2 2 2}
- harmonic_major {0 2 2 1 2 1 3}
- natural_minor {0 2 1 2 2 1 2}
- melodic_minor {0 2 1 2 2 2 2}
- harmonic_minor {0 2 1 2 2 1 3}
- penta_minor {0 3 2 2 3}
- }
- TBL0 create CLAW {.degree} {
- triad {0 2 4}
- }
- set a [+ : {SV 5} {*}[+ : / {*}[SCALE : D.interval {*}[
- SCALE : I major natural_minor penta_minor
- ]]]]
- set b [| : "SV [NOTE . .le]" {*}$a]
- set t [CLAW : D.degree [CLAW . I triad]]
- set c [Select : "C_KL $t" {*}$b]
- set d [Select : "C_KL [+ : {SV 4} {*}$t]" {*}$b]
- puts [NOTE :1 D {*}$c]
- puts [NOTE :1 D {*}$d]
- ----
- {fa la do} {fa sols do} {fa las res}
- {do mi sol} {do res sol} {res sols do}