-
Notifications
You must be signed in to change notification settings - Fork 23
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
Implements the MIDI tuning standard #16
Conversation
I can send an example sysex .mid file that retunes the keyboard to anyone who wants to try it out, or you can generate one using Scala (or other software that supports MTS). |
I wonder if tuning should actually be stored with presets rather than in settings. It does make a lot of sense to associate a particular tuning with a particular configuration of the filters and other parameters (to make overtones that match the tuning). I think in this case what would make sense for this is to implement a "uses equal tempered" boolean that allows the preset to use less flash if saved without a custom tuning. I'm also wondering how tight the SRAM is in the current version? Without major rework to how tuning is done (which I'm considering....) it will be difficult to use more than 12-tunings anyway (since tuner is relative to the octave currently). So storing the extra 116 tunings is a big waste of SRAM, but I was planning to implement that later. Maybe its unnecessary, and the best compromise is to not allow full custom tunings. |
Here's a link to an MTS Sysex you can use to test this patch: https://dl.dropboxusercontent.com/u/5048927/wtp-mts-sysex.mid (tuning is "the well-tuned piano" by la monte young) |
Well, I wanted to release a 2.0, as current code seems stable overall, but didn't have lots of free time these last weeks. IIRC, SRAM has at least 1KBytes free, and I didn't really try to keep it low, so you should be able to use 256 bytes of it for tuning. Right now, each patch is stored in 1 flash page, so it can't be more than 256 Bytes, so storing full tuning per patch will be a problem I think... Being able to printf() is cool, by the way, I thought it would be too costly, but apparently it's fine :) |
Definitely a post-2.0 feature. On Sun, Feb 2, 2014 at 8:49 AM, GliGli notifications@github.com wrote:
|
Hi GliGli, what's your current thinking on this? I've also just implemented an interactive retuning mode: a performance page button that allows you to adjust the tuning of the last-held-note using the "data pot" (speed). |
Hi, 2.0 will be out soon (weeks at most), I think this can be merged after that (for 2.1). |
Ah damn, I totally forgot to merge this one just after 2.0! |
Heh, I forgot too. What should we do? Maybe I should update patches to work On Sun, Sep 21, 2014 at 5:41 AM, GliGli notifications@github.com wrote:
|
I think it would be probably easier to merge it now, as future changes could make it harder to merge. |
0c808a1
to
466fbf3
Compare
@gligli: I rebased this off your current master, and it seems to be working correctly, so I think this is ready to merge after more than a year ;-) |
Implements the MIDI tuning standard
Ok cool, thanks! |
righteous! thanks for your support on this: I believe that gligli p600++ I'd also like to enable UI support for adjusting tunings live in Would a 'double click on tune to enter live tuning mode' UI be compatible I can imagine 'double-clicking' potentially being a useful UI feature to On Fri, Apr 24, 2015 at 10:59 AM, GliGli notifications@github.com wrote:
|
Preliminary implementation of MTS.
Limitations:
Minor changes to DEBUG: