"Playable" Note Quantizer / Scaler help


#1

I´m a newbie to axoloti but quite seasoned on the modular g2 and euro. I´m currently switching to a mostly axoloti set up and the only module i´m lacking right now is a note quantizer in which you can send whatever value from a sequencer and it will round it to the nearest note and also that it can be mapped to 12 midi CC to be able to turn some notes on and off in real time... (a bit like the note quantizer in nord modular). Does a thing like this already exist or how is it possible to make it?

Thanks a lot,

Luis


#2

it's there! Have faith and try the search function a bit more. There's a basic 12-tone quantizer and another that let's you choose the notes in the basic 12-tone scale.

Can't be of more help cause mine isn't hooked up. When I'm lost sometimes I use the Community Object Directory.


#3

Yes i found a couple but I cannot assign midi to the basic 12 tone scale selectors. Ive been searching like crazy, but to no avail. :frowning:


#4

On the object harmony/note scale, unfortunately you cannot assign those buttons to midi.

But what do you want to do exactly? Turn on/off the buttons of the scale with midi buttons?

Or play a keyboard within the scale?


#5

In my midi controller in Lemur I have 12 latching buttons that turn off and on the buttons of the scale. Thats just about it....

Ive been trying to think of a workaround but havent figured out how.


#6

As far as I know, and I have been trying to do the almost same in other use cases, it is not possible to use those parameters with midi cc.

But I think Johannes is working on some updates to the parameters and UI and hopefully this will be on the list. Hoping... :slight_smile:


#7

Anyway, a work around could be to load several of the scale objects and set each scale to something nice and then just change the whole scale. Then you can use just 1 button to change between scales and save the 11 other buttons for other purposes.

But for scales, there are other objects that plays scales. Try these 2 together:
sss/harmony/ScaleBank
sss/harmony/46Scales

One of then contains the scales and the other one playes them back. Remember to name them right. The sss/harmony/ScaleBank object must have a name like BANK on the picture. And then you enter that specific name into the other object "scale" box and you are good to go. 46 scales to switch between :wink:


#8

Will try it out! thanks!


#9

This can probably be done with the midi/in/script object and a bit of programming. If you take a look at the help patch for this object, you can see that this patch is used to control presets with MIDI CC. "midi in script to recall a preset : CC52 for preset 1, CC53 for preset 2...."

if (status == MIDI_CONTROL_CHANGE + attr_midichannel) {
    if ((data1 >= 52)&&(data1<60)) {
        parent->ApplyPreset(data1-51);
    }
}

The parent->ApplyPreset(data1-51); line can be removed in this case, and replaced by something that keeps track of the "states" for each of the 12 notes in an array. With the PExParameterChange() function, you can then write the states from the midi script to the harmony/note scale object.

PExParameterChange( &parent->PExch[PARAM_INDEX_name_of_your_object], states_to_write, 0xFFFD );

Don't have the time to further explore this right now, but this idea should work.


#10

@janvantomme I didnt suggest this, cause from what I understand, there will be changes in the next release which will probably change how parameters are exchanged and the parameter exchange function will probably not work anymore. But yes, it is easily possible to do as it is now, I have done it to several sequencers. But havent released any of them. I dont want to put objects in the com.lib that will stop working in the next release..

BUT

@luisonly, I made a version of the scale object, where you can save and recall presets, that uses the technique I described above. But BE AWARE that it will probably stop working with next update!

Here you go:
SCALE NEW FOR COM.axp (6.6 KB)

You will need to set your own load/save directory in the jaffa/table/saveload object, in the prefix tab.