After making my first few sound boxes with axoloti, I was rapidly in search of having a maximum amount of knobs at my disposal. I’ve used the midi standard (by using off the shelf midi controllers, or by making my own using a teensy board or the Touch Board by bare conductive) but I would really like to use the 12 bit resolution that the axoloti offers. I’ve tried understanding multiplexing by following these forum threads : for ADC (inputs) :
for DAC (outputs) :
But I get very easily confused my the amount of multiplexer chips available and the ways to assign them in the patching software.
So here are my questions :
What is an easy way to get a maximum (and what is the limit) of analog inputs and outputs from an axoloti core board ?
Is there not a way to use a teensy board (that offers 21 analog inputs) and communicate with axoloti via serial port (instead of reducing to 8bit and converting to midi protocol) ?
Probably all the suggestions you give are good solutions, but here is just another idea to add to the mix:
you could use "high res" midi controllers. The idea is to send data on 2 midi CC's, one for the 7 MSB and one for the 7 LSB, giving 14 bit resolution in total. The object "midi/in/cc hr ii" can read these, and it should be easy to send them with the teensy if you are already using those.
Edit: the feasible maximum number of knobs is (a bit less than) 64, as you need 2 CCs for each knob. Another way that is almost the same is using midi NRPNs (non-registered parameter numbers), that allows for 2^14 different parameters, but needs up to 4 midi messages for each parameter change.
It's a good solution to out source the control handling and send the final results via MIDI to Axoloti. It saves resources for more sound processing. A 4051 is just 8 channel analog router which can be control by 3 logic input (s0, s1, s2). check datasheet page 5 for detailed routing: 4051 Datasheet
I don't know how much inputs you need, but you can check out the ainser64 PCB from ucapps. It uses one mcp3208 and a 74hc595 to control and read (12bit) 8x 4051. With this module you can hook up 64 analog sources. I can't get it working with shared CS pins but with split CS pins.
An other flexible and extendable solution will be the e.g. MIDIO128 V3 project from ucapps.
hey @mtyas! around 2 years passed - how did you resolve this question for you? because I wonder about the same thing now. (btw thank you for your long axoloti patching videos (sampler, granular, delay-fun). I watched them all a couple of times & learned a lot.