Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] SCL support #86

Open
tank-trax opened this issue May 23, 2024 · 5 comments
Open

[Feature] SCL support #86

tank-trax opened this issue May 23, 2024 · 5 comments

Comments

@tank-trax
Copy link

I am a microtonal guitarist. I have a classical guitar that has a moveable frets fretboard design byed Tolgahan Cogulu.

https://tolgahancogulu.com/

Your app has proven to be most helpful. I can't begin to thank you enough. I really like the 1/4 comma meantone with 15 notes. When I use 15 notes per scale the A#/Bb, D#/Eb, and G#/Ab pairs are the way to go.

I was wondering if it would be possible to add SCL support; the ability to import SCL files? The Surge Synth Team has a library that may prove to be useful to add such a feature.

https://github.com/surge-synthesizer/tuning-library

Thanks again!!!

@thetwom
Copy link
Owner

thetwom commented May 23, 2024

Thanks for the suggestion. I am glad, the app has proven helpful for you.

There was a request to allow custom scales before. The main difficulty here is the notation. While it is quite simple to provide a set of pitch values, the question is, how the notes should be displayed. For 12-tone only this is simple enough, but how to treat other scales?

Maybe you have more experience here in how other software deal with this problem. At the moment the non-12-tone scales are based on the up/down notation suggested in #19. We could of course hardcode a lot of different tone notations. But is this general enough?

@tank-trax
Copy link
Author

tank-trax commented May 23, 2024

I would look at two apps, Lingot and Scala.

Lingot is a tuner which can import SCL files.

When it imports the SCL it assigns numbers to each note but also allows for editing.

This scale is 19 notes selected from 31EDO

! ED2-31_MOS-19_696.774194_-6_12_scala.scl
!
ED2-31 MOS-19 (696.774194 -6, 12)
 19
!
 77.41936
 116.12903
 193.54839
 270.96775
 309.67742
 387.09678
 464.51613
 503.22581
 580.64516
 619.35484
 696.77419
 774.19355
 812.90322
 890.32258
 967.74194
 1006.45161
 1083.87097
 1161.29033
 2/1

When imported into Lingot it uses numbers as follows:

image

Following the convention from Scala when applying E31 it provides the following notes:

image

After which the numbers can be manually edited in Lingot:

image

Tuner with numbers

image

Tuner modified

image

Using these examples my suggestion would be to either allow for note editing or use the convention in Scala that applies a wide variety of tunings.

This link provides the array of notation that Scala provides.

Applying Scala notation could be problematic as its method offers two options for accidentals. I tend to go with next note up and next note down from the natural. In the case of what lies between E-F and B-C go with up.

image

In all honesty I could live with numbers only. Notation is nice to have. That being said I think notation is doable.

Thanks for taking this into consideration.

@thetwom
Copy link
Owner

thetwom commented May 23, 2024

Thanks for the details. Looks like one does not really get around providing some UI for editing to get this right. Or extending the scl files with hints about the note names to use.

I understand that numbers are a good start, but it somehow does not really feel complete.

I am in the progress of redoing some underlying UI code at the moment. This will still take some time to finish. Maybe I can consider afterwards to support custom temperaments, where scl-support seems simple enough.

@tank-trax
Copy link
Author

tank-trax commented Aug 11, 2024

Would it be possible to make SCL import a feature limited to 12 note scales? This way the notation issue would not be a factor.

I also think numbers for all other scale sizes should not be an issue. Perhaps a combination of having the 7 diatonic notes labelled as letters with the remaining notes as numbers (with or without up and down arrows).

@thetwom
Copy link
Owner

thetwom commented Aug 11, 2024

In order to support temperaments from users, there are a few adaptions needed. As said, I did a lot of refactoring lately which hopefully allows to create new UI features much easier in the future. This is mostly done now. It looks like custom temperaments are one of the top requested features, so I will try to look deeper into this soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants