Recall knob position at startup in stand alone mode


#1

Hi, I need to understand something that is fundamental for me, the situation is the following:

My patch is connected to a UI with various knobs and switches, it also works stand alone without the aid of a computer, at each start the axoloti core loads the patch that I set as initial.
Now comes the crucial question:
Is there a way to recall the exact position of the knobs and selectors at startup? A sort of ping at each control and subsequent update?


#2

Unless I misunderstand you - maybe use loadbang by rbrt to trigger a preset?


#3

Doesn't the axo do just that, immediately jump to values read from GPIO pins? I've never noticed a delay.
Or are you talking about MIDI? A MIDI controller usually won't send data until you press a switch, twist a knob etc., so the axoloti can't "know" where the contols are at.


#4

Thank you @DMU and @borututuforte,
probably I didn’t explain the question clearly :sweat_smile:
@DMU no, I don’t wanna involve presets
@borututuforte yes, axo reads the values only when I move the controls, both midi and gpio but if I have a lot of controls I need to move all of them to “recall” the last knob position before shutdown, my main question is if there’s a method to recall all the knob position at startup? Not a preset, everytime could be different...for example (I know that axo is a digital environment and not an analog/digital synth) when you turn on a synth and it already knows the knob position...
Hope to be clear in explaining :blush:


#5

Ok please check that again: The values from stuff connected via GPIO should jump to the current value immediately. What did you connect to GPIO pins? How do you use it in your patch?

MIDI controlled parameters are updated when the Axoloti receives MIDI data. You would have to make your MIDI controller send all its current values, that's not a probelm you can solve on the Axo. I recommend reading up on how MIDI works!


#6

About gpio ports I’ll check asap, actually there are connected 4 leds (lfo and adsr feedback), 3 selectors, 2/2 vco/lfo frequency control. Managed by midi cc.

My UI was built on a Doepfer Usb64 interface connected on usb port of axo, it haves 63 controls on their respectively midi CCs. On Doepfer Usb64 manual doesn’t mention about sending the midi info that I need.


#7

So "VCO/LFO frequency control" means potentiometers? If so, "managed by MIDI CC" does not sound like a good idea, better connect things directly in your patch instead of converting to MIDI internally. Values will be updated immediately and parameter resolution will be much higher.

The Doepfer unit looks interesting, but it seems that its not very programmable and only lets you choose presets through jumper connections. So probably there's no option to send all settings at once. I'd be interested to see what you have built with it though!

I own an "Akai MIDImix" controller, that one has a "send all" button, might be worth a look.


#8

Yes, when you see the UI is like see a synthesizer not a controller, so there are a lot of potentiometers :blush: about midi and midi cc instead, in a first phase of development I’ve mapped the controls with a CME Bitstream 3X, similar to your Akai MidiMix but with more controls, anyway I don’t know how to connect a control (knob) directly to a parameter (dial or other stuff in axo) without involving midi, I understand that it could be better but I have some limited skills in patching, I read something about in the community but, as you already know, axo is an universe. Doepfer USB64 unfortunately in not flexible enough, I’m thinking about something different but in the meantime I’m with it :sweat_smile:


#9

Sounds cool, can you post a picture?

Regarding direct connections inside your patches: note that the Axoloti Core reads from GPIO input pins with 10 bits (=1024 values) while MIDI is 8 bit (=256 values), so for example a filter sweep should sound smoother with a direct connection.

Many objects have boolean (yellow) and k-rate inlets (blue) which you can directly connect to your analog GPIO in. You have to pay attention to what kind of signal is expected though: unipolar (positive only values) or bipolar (positive and negative values) - there are objects to convert one into the other. If you want to control something and there is no inlet, you have three options:

  1. As you already do: convert analog in to MIDI and send it to the parameter interally. Works, but lowers parameter resolution to 8bit.

  2. Use "modsources". First add a "modsource" object to your patch. Then you can right click parameters and next to where you assign MIDI CCs, add the modulation source and amount. I guess it's better than MIDI, but I had some trouble with this as well Also check out this thread.

  3. The best way in my opinion: Edit the objects code to add the desired inlets. It's easier than one would think and while it didn't teach me coding, it definitely made me learn a lot.


#10

I also use the Akai Midimix with the Axoloti (because it seemed to be the cheapest (most pots/$$) "pot box" at the time) and I would expect a "send all" button on any such device. I can't believe the Doepfer engineers didn't foresee this situation.
Maybe the USB64 does a "send all" immediately after power-on? Have you tried turning on the Axoloti first and then, after a few seconds (when the Axoloti has started the patch), the USB64?

If that doesn't help, I can think of a hardware hack to force the USB64 to do a "send all": insert a switch or button into the 5V line to the pots. It must be a button that breaks the contact when pressed, not the ordinary type. If you interrupt the 5V line to the pots, all inputs of the USB64 go to 0V, so all CCs go to zero. When the 5V supply is restored, all inputs go back to their regular values, so the USB64 has to send out CC messages for all knobs that are not currently in the zero position. So this switch/button can force something like a "send all"; the Axoloti patch just has to start with all knobs defaulting to zero.


#11

Thank you very much for your precise feedback, it’s a treasure for me​:pray:t2: I’ll dig with attention hoping go further :wink:


This is the layout of the prototype


#12

Thank you very much also for your feedback, i have a lot of thins to try now :wink:


#13

FYI - this is a project (not mine!) from a few years ago, an example of using USB64. I’m still in awe of Luc Debeck’s creation. Look him up on YouTube.


#14

Thank you, I’ll take a look soon :pray:t2:


#15

I watched the entire video, the project is really cool, otherwise he doesn’t explain how to solve my task :sweat_smile:


#16

True, and he didn’t adequately answer my question on the topic of startup knob settings.

Still, a great example of an Axoloti project.