zynthian / zynthian-issue-tracking

Centralized Issue Tracking for Zynthian Project
https://github.com/orgs/zynthian/projects/1
11 stars 3 forks source link

Enhance "Enforce Scale" or "Note Range and transpose" midi tool #773

Open TabulaNul opened 1 year ago

TabulaNul commented 1 year ago

Is your feature request related to a problem? Please describe. Enforce Scale midi plugin is limited to Major Scale.

Describe the solution you'd like Modify "Enforce Scale" plugin to integrate all the scales that Riban included in the Sequencer. Chromatic, Natural Major, Natural Minor, Melodic Minor, Harmonic Minor, Indian, Oriental, Japanese, Pelog, etc....

Describe alternatives you've considered Enhance "Note Range and Transpose" to integrate scales option.

riban-bw commented 1 year ago

The source for this is at https://github.com/x42/midifilter.lv2/blob/master/filters/enforcescale.c. It may be worth asking Robin (via an upstream feature request) to enhance this or maybe someone can provide a pull request against the upstream project. It would probably need quite some changes though. I would suggest parameters:

Such changes may be unacceptable upstream in which case it may be worth using Robin's code as inspiration for a new plugin.

TabulaNul commented 1 year ago

I opened a feature request https://github.com/x42/midifilter.lv2/issues/33

Otherwise It could be interesting to add this kind of feature directly in "Note and Range transpose" in Zynthian.

riban-bw commented 1 year ago

Ooh yes! I like that idea a lot. It would sit nicely in the key range control. Let's see what the Christmas elves can work up...

riban-bw commented 1 year ago

Before this elves start to whittle will you please describe the workflows that warrant such a feature? I'm not clear on how this works be used so some want to see the wrong thing implemented. Also it helps to understand why a feature is desired, not just what a user (thinks they) want.

TabulaNul commented 1 year ago

This is how I use a midi effect scale :

I use it when I want to play in the right scale without music theory knowledge.

Prevent wrong notes when playing on a keyboard.

Like you say It would sit nicely in the note range and transpose control ! Your selected list of scales in the Zynsequencer is great !

In my DAW, it’s presented this way :

Capture d’écran 2022-10-16 à 12 57 59

I sometimes use a script, I don’t know if you want to check it, it’s not made by me, I don't know the programming language used.

Capture d’écran 2022-10-16 à 13 06 23
jofemodo commented 7 months ago

It's kind of javascript.

I also like the idea of implementing this in the zynthian's key-range screen. Ableton UI is really nice and not too difficult to replicate ;-)

But first, we should have this functionality in the zyncore library.