This is my first post on stackoverflow, I've heard of this website and I think its awesome! Let's see if i can get some guidance on how to start my project.
The Idea: Basically I want to build my own custom OSC controller (OSC is a protocol based off UDP with the intention of replacing MIDI). What's interesting about this is that I want to build the controller as a guitar, so I can use it as a synth and include some typical MIDI controller hardware on the body of a guitar. This will include, velocity sensitive pads, optical encoders, a LCD panel, velocity sensitive strings, and touch sensitive frets. Here's an example.
My Questions: I am confused about how to start a project of this magnitude and complexity. At the basic low level it seems that the firmware would just be dealing with basic integers and conversion to the appropriate OSC signals. I am unsure of how to choose my hardware and programming language, or even how to implement this protocol. Maybe I'm biting off more than I can chew, but I think that this is a good project for getting a good understanding of how embedded hardware works and programming low latency concurrent systems.
- What would be a good hardware platform to base this device off of? I assume that PIC18s would be to slow to deal with OSC since it's a modern protocol. What type of microcontroller could deal with an OSC implementatation?
- What is a good language to implement this protocol in? I understand that C is commonly used for embedded software, but ADA has sparked my interest. The goal here is to create a low latency firmware that can deal with multiple inputs from the user. I understand that ADA is used in many of this types of situations and is "more stable"? What are your opinions on this?
- Is it possible to simulate the hardware and microcontroller without having the physical hardware? I'm a bit iffy to invest a few hundred dollars into hardware without knowing that it's the appropriate setup for my needs (I'm on a students budget). If I were able to simulate all the inputs and write the firmware without having the hardware it would make me far more confident in my ability to complete this project. Even being able to simulate a basic version of my idea would be more ideal than nothing.
I hope that I can get some input on this, and if my questions about the hardware are not appropriate for this site I understand if you folks feel hesitant on advising me on the hardware end.
Thanks again!