-
Notifications
You must be signed in to change notification settings - Fork 2
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
Alternate tuning systems #2
Comments
TODO:
|
Hmm... so, at least for well-tempered tunings (and possibly for others), the tuning happens relative to what key you're in. So when using these tuning systems, the key will need to be set, and an error should be thrown if there is not at least a Will first add the mechanism for setting the key, then can proceed with implementing the tuning systems that need to know what key you're in. EDIT: done |
For equal-temperament tuning with a reference pitch other than A440, we can just bind
*reference-pitch*
to the frequency of A4. We can provide atune!
function that will usealter-var-root
to change the*reference-pitch*
, and awith-reference-pitch
function/macro that executes the body, binding*reference-pitch*
to a particular value. (EDIT 10/28: done)Will have to think a little more about how to handle other kinds of tunings (just, well, Pythagorean, etc.) It would be nice to have them built-in, so you can do something like
(with-tuning :pythagorean (note->hz "A4"))
, but currently all the formulas are for equal-temperament tuning. Maybe we could add a*tuning-system*
var that the*->hz
functions will consider, and add logic to the functions so that they use the right formula for the current tuning.The text was updated successfully, but these errors were encountered: