Using axoloti as a midi controller brain?


#1

So im thinking about a project that axoloti might fit.

I might be getting a hardware synth in the future that sends and recieves midi CC. The problem is that the synth only as some encoders and not pots/switches for alle paramaters. I would like to have that. So im thinking about making a midi controller for it using the axoloti as the brain.

As i understand it, Axoloti can only have 16 analog inputs. Have anyone gotten around this by multiplexing?

Basically i want to make sure i have a complete blueprint before i buy and axoloti. What i want to do is this:1:
Use the axoloti as a midi controller brain for up to 64 controllers.
That (as far as i understand things) can only be done via multiplexing).
These will be a mix of on/off switches(the "digital" keybord type. Not a
throw-switch) and analog pots. (not endless encoders). The midi will be
recieved via the Axolotis USB port, and send into a hardware synth. I dont want any laggy pots. Everything has to be realtime/fast!

2:Recieve
midi CC from the synth. If certain midi CCs meet a certain
criteria=light up an LED.

3(low priority): Soft
takeover function=Lets say i turn my cutoff knob to the CC value of 64. I
then change the synth preset. The new internal value of the cutoff is
now 102. When i turn the knob of my cutoff, the synth should not respond
imidiatly, but wayt till i turn the knob all the way down to 64 and
from there i can change it.I want to
make sure that someone has done at least the 2 first steps with axoloti,
and there is a "blueprint"/project i can use before i buy the Axoloti.

Thanks!!!


#2

What do you mean by 'multiplexing'?
It is possible to (significantly) expand the number of digital and analog in/out-puts using the i2c port on the Axoloti.


#3

By multiplexing i mean using 1 input for many inputs:


Though i cant say i fully understand all the bits that have to be done in order for it to work. I understand the principle.

What is i2c?

Thanks a gazillion!:smile:


#4

1)
upto 64 controllers: 8 knobs with 8 functions each.

Software side:
I tried building a patch very similar to this for midi the other day, with 4X4. It is basicly just a switch system and alot of midi cc objects that needs to be set up internally in axoloti. That side is definatly possible and not that complicated, just takes many objects.

The hardware side:
If you connect 8 potentiometers to Axoloti, along with button, you can use the button to select the 8 subgroups. Maybe connect a binary display that shows subgroups as 1, 2, 3, 4, etc. instead of many LEDs?

If you get the potentiometers working and everything else works, I dont see any problems in making this work.

2 and 3: dont know.


#5

Thanks:) I think you might be misunderstanding the hardware side (and i might be very bad at explaining it!:smile:

if i connect 8 pots to a 1 pot input, i can scan each pot fast (via som hardware) and by that turn a one pot input into an 8 pot input. That, to my understading, is multiplexing. (VERY roughly explained)

And what were you building - 4x4? I just want to make sure we are on the same page:)
Thanks a lot for your time!


#6

Haha. Sorry, maybe I did not explain it will.

4X4 is 4 knobs, with each 4 functions/subgroups. This is very similr to how Blofeld works. Blofeld ONLY has got 4 knobs to control 100s of parameters. SO it is split up into subgroups of 4 knobs each. Check Waldorfs page for images on Blofeld set up.

Ahh ok. I might be misunderstanding the hardware side. I didnt get that far yet. Havent connected anything yet. I didnt feel comfortable doing it, but now Jan Van Tomme book have been updated with info on how to do it, I might give it a go.

Check this picture. This is how I have set it up. 1-4 is basicly each subgroup. Which could be set up for:
1. Oscillator
2. Filter
3. Effect
4. Etc.

Example for filter subgroup:
a=cutoff, b=reso, c= filterenv am d=filter lfo am

So each subgroup(1-4) has got 4 parameters a, b, c, d. I am pretty sure this set up will work. I havent got my axos right now, but when i do get them back, I can test it out. I dont see any reason why this setup wouldnt work with potentiometers.

This makes sense?


#7

I understand the idea of connecting 8 potentiometers to 1 input, but why would you do that? You can only control one at a time, right? then there would be 7 knobs just sitting and taking up space... Or maybe i am STILL not understanding it right. As mentioned I have no experience on the hardware side, but lots on the software side.

Setting up the routing in Axoloti software I think is preffered... Just connect 8 potentiometers and then route them in the software to what ever you want...

Anyway, Axoloti is only 100 euro, so it is not that expensive. And LOADS of fun. Get one and see what you can come up with.... :smile: I got 2 boards :smile:


#8

Thanks again:) The cool thing about multiplexing is that you actually can use all pots at the same time. So no need for sub menus etc. By scanning each pot fast enough and if some hardware knows which knob it is scanning, you can control all pots at the same time. This is the way its been done in old analog synths that had memory/midi etc.

Now i totally get what you are doing. But its not exactly the same thing i am trying to do:)

THAAAAAANKS!!:smile:


#9

Yeah I see what you mean. I am getting interested in what you talk about now.

I havent connected anything yet but will soon. Id like to get AS MUCH out of Axoloti as possible. Your method seems interesting for this. ANyway. If you get one, keep us updated :smile:

Sorry for taking you in the wrong direction :smile:


#10

Hehe... No problem at all!


#11

Im a bit confused about if your planning on using midi input or analog pots.

I assume analog pots, since with midi multiplexing would not be needed, Ive not done anything on the hardware side yet, but Im sure someone else will comment... but it sounds like you would need an external electronics to do the multiplexing (which I'm sure you know already)
if your not deep into electronics you might want to consider the Doepher USB64 which kind of does what your describing. (its not cheap, but looks easy to use)

(2) seems simple enough, just digital output. there are a few topics on this and I think on LEDs
I think @janvantomme book may also cover this.

(3) soft takeover, this will depends a bit on what your doing, and the synth you are connecting too.
the issue is, axoloti needs to know what the current value on the synth is, then its 'trivial'

so...
IF you are planning to store the presets on axoloti, then its easy enough to do.

IF however you are planning to use the knobs on your synth, or load presets from your synth. then implementing this will depend what information your synth sends back to you.

e.g.
Ive a Virus TI, and have been considering doing something similar.... (slightly different as I want it as a sequencer)

for the Virus, I know that it sends many things back via CC but not all, some are sent as sysex.
also presets would be tricky, since when you change patch you don't get changes for all the values updated. but it does have the ability to send you the patch data via sysex.
of course then I have to map hundreds of parameters within axoloti (actually not too hard for the Virus as I have a spreadsheet with all the mappings :smile: )

(note: receiving sysex is currently not supported in the axoloti firmware)

I mention this, to give you an idea of whats involved... as whilst your unlikely talking about a Virus TI, Id say the TI's approach is not uncommon, as it keeps the amount of data reasonable (midi din is slow!) and also overcomes the 127 CC limit. some other synths may use NRPNs for the later rather than sysex.

of course if your synth has fewer parameters, its all going to be a lot simpler !


#12

Thanks.
The USB64 looks good, but also kind of limited. But thanks for the link:)
The setup is this:
I plan on getting a Use audio plugiator hardware synthesizer. Its a hardware synth with not too many knobs. Back in the day you would program it from a vsti plugin. I dont want to program it from the computer, but would like full hands on control.
the synth has different emulations, but i will mostly be using the arp oddesy emulation.

The synth has midi in/through via DIN plugs and midi out via usb.
All the synth parameters can be accesed via midi CC. So my thought was to build a panel with faders and switches to control the arp emulation.
As it is now, axoloti only accepts 16 analog inputs. But via multiplexing i would get up to 64 analog inputs. I need some extra electronics for that, but it doesnt seem to complicated.

So the buttons/pots are connected to the Axoloti via analog inputs (maybe buttons can be connected via the digital inputs?). They are read there and translated into midi CC. The midi is then sent out to the plugiator synthesizer via the din cable. That would be the first and most important step.

The next step would be to load presets. I will do that on the actual synthesizer- I actually dont know if loading a preset will send out a bunch of midi CC values or sysex. I dont have a super deep knowledge of midi, but im suspecting sysex is the most common way to handle presets. But if you say that handling sysex is not supported in axoloti, i guess this is not an option. (i'll have to check later once i get the synth).

As you said, i could store my presets on the axoloti instead.

The thing about the LEDs is tied to restoring patches (mostly). When i restore a patch i want the corresponding LEDS to light up/turn off if they are on/off.
Lets say there is a push button on called "LFO routed to VCA" (or whatever) on my diy controller. Beneath that, there should be a LED. It should light up if activated i press that button and if the function is activated by a preset. So:
If a preset is restored where the "LFO routed to VCA" function is activated, the LED beneath the button on the diy controller should light up.

Soft takeover is not that important right now, but would be great in the future.
Does this stuff make sense?
Thanks a lot for you time and help:)


#13

yeah the whole preset restore, will be very specific to the synth.
unless your using a lot of 'factory presets' from the synth, id be tempted to keep them on the axoloti, Id suspect this will save you a lot of headaches!

one other thing you might want to consider on the soft takeover, is you will probably need some kind of visual feedback... imagine your restoring a patch, you may have no idea what the current value of some of the pots are.
(the virus actually has a simple LED that flashes, when the knob matches the patches saved value)

you'd also need to check if your synth gives any visual feedback on the LCD when getting values from midi input, I know the Virus does not. otherwise you could be twisting knobs aimlessly trying to find the current value, ok for one control, but would get 'tiring' if you were doing a whole bunch of parameter changes.

soft takeover has some disadvantages e.g. imagine physical knob for cutoff is at 30%, preset has it 90% and you want to get to 35%, you have to twist it to 90% then back to 35%.
its kind of why endless encoders work better... so you work in relative values.


#14

Makes sense. I just hate endless encoders:) Maybe i could do fine with soft takeover.
I have been looking at the ainser64 board from ucap/midibox. Seems to do the mutliplexing. And it seems i can connect that board directly to the axoloti? And from there its all software. The software part is the hard thing for me (programming). I'll definently need a lot of help for that. Then next up is the LED thing.
Thanks for helping me out:) I'll return if/when i get the synth.


#15

My book covers the basics like LEDs, buttons and potentiometers.

Multiplexing potentiometers should work, but you'll need to build an extra electronic circuit and do some custom coding if you want to use 64 potentiometers.

While it's possible to do what you want with Axoloti, its main strength is audio synthesis. There's a lot of MIDI boards out there that allow you to connect lots of controllers, but they are ususally more expensive.

The Livid Builder Brain looks like a pretty decent board. You can connect up to 128 buttons, 192 LEDs, and 64 analog controls. http://shop.lividinstruments.com/brain-v2/


#16

its mainly a price issue. Im very low on cash these days. Axoloti is very flexible and cheap. And i can experimenth with a lot of things with the board (audio). The livid stuff and doepfer stuff is more expensive. But thanks!


#17

For building midi controllers, consider using MidiBox.
Axoloti can do MIDI, but is not specialized for the job like MidiBox.
One of the tricky things is not scanning the inputs fast enough, that's easy, but shaping the midi data output stream, removing noise, prioritizing important and large changes to get a maximum responsiveness out of the limited midi speed.


#18

Makes sense.
The problem is that i dont really know how to code at all. Axoloti is a very visual thing (but coding is also needed, i know). I know my way around modules and connecting stuff... But maybe i should check out the midibox again. But if anyone else has any suggestions, please continue to write in this thread. I havent given up on using axoloti for this completely:)


#19

So. Johannes are you saying that making a midi controller brain is with axoloti requres a lot of extra work because its not really made to work that way? I really like the "openess" of axoloti. I have been taking a closer look at midibox and it seems pretty complex to set up. Iths very open though. Livid Brain v2 looks cool and is very straightforward but there a lots of things you cant do, it seems. Axoloti seems perfect in the sense that its very modular and i can do lots of stuff in software that i cant do with the other solutions... well well.. choices choices!:smile:


#20

I have built a few midi controllers (also using 4051 multiplexers) based on Arduino hardware; Prototyping on an UNO or Mega and eventually moving to Pro Mini boards (that i have a seperate FTDI board for)

You'll have to get into coding instead of working visually, but it's all been done before. The soft takeover will be the most difficult i suspect.

https://github.com/FortySevenEffects/arduino_midi_library
https://www.arduino.cc/en/tutorial/potentiometer
https://www.arduino.cc/en/Tutorial/Midi
http://playground.arduino.cc/Learning/4051