xenharmonic-devs / scale-workshop

Design and visualize microtonal scales and play them in your web browser. Export your scales for use with VST instruments. Convert Scala files to various tuning formats.
MIT License
83 stars 12 forks source link

Analysis tab: Add "Abstract dyads" option under "Display intervals in matrix as" #617

Open inthar-raven opened 7 months ago

inthar-raven commented 7 months ago

Most useful for scales with 4 or fewer step sizes, this feature would get all the step sizes in a scale and display each table entry as a linear combination of the step sizes.

inthar-raven commented 7 months ago

For a scale of the form:

let x = 7/6
let y = 8/7
let z = 9/8
x; y; x; y; z;
stack()

the interval matrix with that setting would look like:

     |  1  |  2  |  3  |  4   |  (5)  | 
---------------------------------------
0    |  x  | x+y |2x+y |2x+2y |2x+2y+z|
x    |  y  | x+y |x+2y |x+2y+z|2x+2y+z|
x+y  |  x  | x+y |x+y+z|2x+y+z|2x+2y+z|
2x+y |  y  | y+z |x+y+z|x+2y+z|2x+2y+z|
2x+2y|  z  | x+z |x+y+z|2x+y+z|2x+2y+z|