Your subject heading lists 3 things, each of which is at least fairly complex. So what are you actually hoping to do? In a little more detail than just "Midi Controller" please? What relevant electronics and programming experience do you have?
A simple MIDI controller is not too difficult and most Arduinos can handle it. Those with native USB like the Leonardo may be easiest to deal with. Then of course you'll probably need some switches and potentiometers or rotary encoders and some way of connecting them together.
Steve