Arduino uno for midi controller with multiplexing

So basically i want to make something like this:


This is a virtual analog synthesizer. Its basically a midi controller connected to a computer inside running a digital emulation of a synthesizer.

I Already have the actual emulation in another box that hosts the actual synth. Its just a small box that has the code for the synth on the picture but also some other synths.My box has no buttons/sliders. Just a box that you can connect to a computer and control the synth via midi cc etc. This synthesizer in a box is called a plugiator.
What i want is the control surface(like the picture above).

So i want to make one.

I dont need the lower part of the synth, since that is the fx section and i dont really plan on using it. Since the plugiator hosts a couple of different synths, i would like to be able to change the midi configuration of my diy control surface= change what knobs send what midi CC. So that, if i want, i could use the same surface for different synths.

I wont be using sliders, just normal pots and i want the unit to take up much less space, but still have the features of the actual unit. An important aspec of this, that i havent really found out enough about yet is the buttons/leds.

As you can see there are multiple buttons for selecting different functions etc. When you load a patch the buttons light up/turn off according to what is active and whats not active.

If i make a diy surface/midi controller, this type of visual feedback (button LEDS) is very important to me.

Is it possible to store the knob/button position on the Arduino uno? Its just midi information. I think that would just make things easier for me, instead of changing presets on the actual box (plugiator). When i change a preset on my diy control surface, it will send out midi CC to all the different variables on the plugiator, and surface will also light up/turn off different LEDS.( I, of course, also just want to be able to turn the buttons on/off by using my hands, and the LEDS should turn on/off).

What i want to make sure is:

1: Can i send poly aftertouch etc (and other weird midi stuff) from the arduino?

2:Can i store midi values (presets) on it? Or is it just as easy to just let the actual plugiator manage the presets?

3:Can the LED on/off be done? (that ties into question nr2 a bit).

4:What extra boards do i need? From what i can gather, I would need this:

-A multiplexing board. I need a combination of about 64 analog/digital ins/outs. I only need outs for the LED activation, i think. Analog ins for the pots and i guess i could use a mix of digital/analog ins for the switches

-Maybe a tiny screen with a general button, to do preset recall/save/presets.

5: Can I change "scenes". Lets say i want to control a different synth that has different midi mapping. I want to be able to change "midi CC patches" so that a knob that send out midi CC X, before, now sends out midi CC Y.

6: How much of this is a "new" thing to do? I know no programming, but i normally figure computer stuff out pretty fast. I would like a copy/paste solution. Take code that other people have made, and the insert it into my own project. I am new to the arduino world! Is this to big of a thing to do?

I want to make this as cheap as possible. I want all the pots to be real pots, not endless encoders:)

7: THANK YOU SOOOOOOO MUCH!!!!!:slight_smile:

How much of this is a "new" thing to do?

Nothing.

Is this to big of a thing to do?

Yes.

5: Can I change "scenes".

Yes.

Can i send poly aftertouch etc

Yes.

Can i store midi values (presets) on it?

Yes.

Can the LED on/off be done?

Wow turning an LED on and off with an Arduino. I don't think that has ever been done before.

What extra boards do i need?

You don't need boards but you do need external multiplexing circuitry.

Haha.. thanks for the answers:) My biggest issue is of course the coding. Soldering I've got down. The hardware (box etc) i can build but the programming is just completely new to me. Probably over my head then... Midibox seems like a good solution, but its also more expensive. The easy way to go is the livid instruments Brain v2 thing, but thats even more expensive. Thanks for your time, and let me know if you have any more thoughts:)