Hi Reb
Lets see if I understand
group ratio is the factor in *equal* divisions of an interval, such as an octave.
prime example being 2^(1/12) = 1.05946309 is the ratio between semitones in 12 EDO (standard western tuning)
Then... group size is how many times this set of X repeats?
A couple thoughts here.
Alternative solution => I think the (real) .TUN format specifies the frequency for each of the 128 midi notes. Scala can export those files as well and perhaps this would be easier to implement?
Working with .SCL files
I think the interpetation of the scala file needs to be expanded. What the scala file gives you is an example octave (or whatever period). So there are three things missing as far as I can tell.
1. a true tuning origin - C 5 is the usual I see - when I tried changing this in OMPT even weirder things happened.
2. Repeating + tuning overall interval. For example:
! 19-36.scl
!
19 out of 36-tET, Tomasz Liese, Tuning List, 1997
19
!
66.66667
133.33333
200.00000
266.66667
333.33333
400.00000
466.66667
500.00000
566.66667
633.33333
700.00000
766.66667
833.33333
900.00000
966.66667
1033.33333
1100.00000
1133.33333
2/1
The 2/1 indicates an octave - the tuning needs to be repeated tuning, tuning + 2/1, tuning + 2/1 +2/1, etc.
3. the tuning needs to be read backwards from the origin in a manner like the above statement except tuning - 2/1, tuning - 2/1-2/1, etc.
In the next post I will post a "true" .TUN format, which like I said might be easier to implement.