The Official Sequential/DSI Forum

Alternate Tuning / Scales editing improvement

Pym

Alternate Tuning / Scales editing improvement
« on: April 02, 2019, 02:37:41 PM »
After doing some pretty extensive testing of the alternate tunings I noticed that there was a fundamental problem in the way we were calculating the tunings while trying to add editing capabilities to the synth. Specifically, the calculation pushes the note into the alternate tuning table after the mods are calculated, resulting in some unexpected behavior. Although this is clearly an error in implementation, we chose not to roll out a complete fix to production to prevent people who have already grown accustomed to the behavior to have an issue restoring their sounds the way they want. However I thought it was a serious enough issue to warrant a fix.

Please note, the OS is not officially supported and I'm fixing bugs on my own time if any arise. It has already been tested but it is possible some problems will come up. Please back up your work before asking for the OS

Edit: Decided it was just easier to post it here... file is attached

Hold 'Misc Params' and hit global to get into the scale editing mode. Then hit a key to select the key you want to edit and use the encoders. Should be obvious how it works

Enjoy!

« Last Edit: April 04, 2019, 10:42:39 AM by Pym »
Dave Smith Instruments

Re: Alternate Tuning / Scales editing improvement
« Reply #1 on: April 02, 2019, 06:53:03 PM »
Wow, neat! I haven't dug into the alternate tunings yet but this is excellent that you're willing to put the effort into this OS update. I'll reach out to you as soon as I get the time to start digging into this.

Huge props for this.. it's rare to see some unique and meaningful changes to a mainstream embedded OS like this, and my hat's off to you for that.

Re: Alternate Tuning / Scales editing improvement
« Reply #2 on: April 03, 2019, 07:13:26 AM »
I will definitely give this a try.  I can understand not pushing the update on older models, but the Rev2 is still fairly recent.  I guess if you want to maintain backward patch compatibility (through SoundTower) you need to keep the behavior consistent across models.

I guess this must really be baked into the pitch calculation routines, otherwise it would make sense to have a Global Parameter setting.

maxter

  • **
  • 206
Re: Alternate Tuning / Scales editing improvement
« Reply #3 on: April 09, 2019, 12:20:26 PM »
First of all, BIG thank you for your work with this!

I have come across something odd when trying to edit a scale though. I can not go beyond 100 for the coarse value. I can see the value of notes that are set to higher values, but as soon as I touch the program knob it jumps to 100, and won't go any higher.

Minor problem really, but maybe good to know when you eventually implement it with an official OS.

Re: Alternate Tuning / Scales editing improvement
« Reply #4 on: April 12, 2019, 07:00:52 AM »
Edit: Decided it was just easier to post it here... file is attached

Hold 'Misc Params' and hit global to get into the scale editing mode. Then hit a key to select the key you want to edit and use the encoders. Should be obvious how it works
Thanks again, Pym.  This makes the Rev2 behavior with alternate tunings so much more predictable and usable.

I am not likely to do much scale editing directly from the front panel, but the editing capability is useful for debugging tunings made with external software.

Is there a way to discard the changes?  Once you've turned the knob, it seems there is only an option to save.

I can not go beyond 100 for the coarse value. I can see the value of notes that are set to higher values, but as soon as I touch the program knob it jumps to 100, and won't go any higher.

I bet this has to do with the fact that the MTS specification describes that value in units of .78125 (scaled so that 128 units = 100  = 1 semitone).

maxter

  • **
  • 206
Re: Alternate Tuning / Scales editing improvement
« Reply #5 on: April 12, 2019, 11:58:11 AM »
I bet this has to do with the fact that the MTS specification describes that value in units of .78125 (scaled so that 128 units = 100  = 1 semitone).

No, I mean the coarse value in relation to the ET semitones. For each note there are coarse and fine values. For instance, in ET every notes fine value is 0, and their coarse value is between 12-127, representing the ET semitones between C1-G10, on the Rev2. Notes F8-G10 have values between 101-127, but if I edit the coarse value of these notes, or any other notes, and want to set them to 101-127, they will all be set to note 100 (E8) maximum, because the value parameter won't go beyond that once you've touched the knob.

They all show up and work fine as intended when loaded externally, it's just that if you edit their pitch, and touch the coarse value knob, you can't go beyond 100.

Re: Alternate Tuning / Scales editing improvement
« Reply #6 on: April 14, 2019, 04:05:21 AM »
WOW!

Re: Alternate Tuning / Scales editing improvement
« Reply #7 on: April 14, 2019, 06:07:11 AM »
No, I mean the coarse value in relation to the ET semitones.
I see what you mean now. I wasn't near the Rev2 when I wrote my last post.  The same issue also occurs with the "fine" values.  They are also unsigned 7 bit values (i.e. 0 - 127), but they can't be adjusted past 100.

When you said "coarse", I was thinking of what's labeled "fine" because the MTS data is actually 3 bytes (semitone, and MSB/LSB of fractional).  I guess the Rev2's DCOs can't be controlled precisely enough to consider 1/16384 of a semitone, so the LSB is ignored.

Naboo

Re: Alternate Tuning / Scales editing improvement
« Reply #8 on: March 11, 2020, 01:00:32 PM »
Although this is clearly an error in implementation, we chose not to roll out a complete fix to production to prevent people who have already grown accustomed to the behavior to have an issue restoring their sounds the way they want. However I thought it was a serious enough issue to warrant a fix.

Please reconsider and implement the proper fix so it works as it should do.