zynaddsubfx / zyn-fusion-issues

Issue Only Repo
31 stars 0 forks source link

Restore Microtonal Functionality #56

Open fundamental opened 7 years ago

fundamental commented 7 years ago

With the initial 3.0.0 release microtonal support wasn't finished in the interface. This includes:

Editing the tunings inline doesn't seem to be typically used, so this issue won't address that problem as it's linked into the need of a simple text editor within the UI.

Below are some quotes from Jacky Ligon to make sure that they're addressed:

Testing data:

I wanted to make you aware that I have an archive of basic microtunings in a variety of popular microtuning formats that are used in some of the Xen-Arts synths:

http://www.xen-arts.net/Xen-Arts%20VSTi%20Microtuning%20Library.zip

Since I made these, you will find that they all have logical information in the microtuning name fields. I use Pianoteq here, which also has a great implementation of SCL/KBM, and the microtuning information is visible in its UI. This is what should appear in the NAME and COMMENT fields of Zyn-Fusion.

I wanted to suggest that the labels for "A" Freq. and "A" Note be renamed to the more concise and meaningful: Ref Freq In the parlance of Scala and microtuning theory, this is the so-called Reference Frequency. 1/1 MIDI Note or just MIDI Note This is the MIDI Note on which the starting pitch of the intonation system is mapped. Its specific pitch is set with the Ref Freq above.

I notice on the new Zyn-Fusion UI that the A FREQ knob doesn't seem to allow directly typing in a frequency value, which is a bit different from the original. Not a problem really.

For what it may be worth though, I think it would be fine if all of the mapping information was set entirely by loading KBM files, rather than also allowing typing values into fields. This is the way it works in Pianoteq; you just load a SCL file for the tuning, then a KBM file to specify how it gets mapped to the keys.

It would just be easier to work with and understand for users, and I would guess easier to implement at the code level. Doing the mapping entirely with KBM files would remove some of the needless complexity for users and simplify the Scale Settings area of UI in Zyn-Fusion.

suhr commented 7 years ago

Updates?

fundamental commented 7 years ago

At the moment I'm dealing with a few publication deadlines, though I hope to resume releases/release-candidates this next month. In terms of the priority of this issue, I basically have to clean-up/commit minor fixes/optimizations/etc which have been already implemented and then microtonal loading will be tested and confirmed locally before anything else. Removing the inline editor will likely be deferred until later as I don't know what would utilize the empty space created by it at the moment.

@suhr could you remind me which platform you're on? While I plan on having release-candidates for both platforms soon, it may be feasible to have a Linux rc version out while still dealing with the aforementioned publication deadlines.

suhr commented 7 years ago

could you remind me which platform you're on?

Linux.

fundamental commented 7 years ago

As another update, I should hopefully be able to have a demo build up with this functionality fixed this weekend.

EDIT: The fix appears to be in place, but packaging is taking longer than expected

suhr commented 7 years ago

Yay, it works! There're some issues though:

  1. When microtonality is not enabled, ZynFusion imports only first 12 values from the scl file
  2. “12 PER/OCT” indicator doesn't change when the tuning is changed
fundamental commented 7 years ago

Good find on the first issue I've tracked it down to https://github.com/zynaddsubfx/zynaddsubfx/blob/master/src/Misc/Microtonal.cpp#L854 and https://github.com/zynaddsubfx/zynaddsubfx/blob/master/src/Misc/Microtonal.cpp#L238-L241 . The latter issue should be a simple "when retuning refresh the per octave parameter".