I am collaborating with a friend on a synthesizer project, but I am very new to embedded systems design. I have a solid background in software engineering but am a greenhorn when it comes to embedded design.
A little description of the project: my friend has built an analog synthesizer that has ~20 potentiometers that control the same amount of synthesis parameters. Being an analog synthesizer, these pots directly control the voltage that goes to the various parameters. We want to put a microcontroller between these pots and their parameters that will enable us to save and recall patches, effectively bypassing the voltage that the pots are set at. The basic flow for one of these pot/parameter combos with a microcontroller involved would look as such:
Potentiometer -> ADC -> Microcontroller -> DAC -> Analog synth parameter
There will effectively be two modes of operation: realtime control (the analog value read in from the pot is outputted to the parameter unmodifed) and recall mode (the user recalls a saved patch, and instead of the potentiometer's value a recalled value would be outputted to the parameter. If the pot is moved, then the pot's value is used.)
I have been able to build a prototype that can demonstrate this functionality on an MSP430 board for one pot/parameter pair, but the problem is that the board has very limited ADCs and DACs. My question is, how do I go about finding a board that can support the number of ADCs and DACs that I need? Would I have to use multiple microcontrollers? Is there such a thing as an ADC/DAC multiplexer? What is the best practice for this type of scenario? This is where the world of embedded systems alludes me.
Another thing to add is that we are also concerned with sampling rate, as anything that is too low might sound too "jagged" when turning the pots, but we figure this is something we will have to test with our ears before settling on a number. We have, however, decided that we want to have at least 10 bit resolution for the ins and outs.
Any advice would be greatly appreciated.