Hi, I am hoping I could get some advice on where to start with this project. I would like to build a 49 or 61 key midi controller for the G-Force Re-Strings rack extension in Reason. I use it quite extensivly in a live project I am in and need to have better hands on control (plus some stage vibe) than what my current controller gives me.
Here is a screen shot of the rack extesion. I would like most of the variables to be mapped to faders and post... especially the lfo's (speed, depth) envelopes, phaser controlls, ensenble controls, vol.... other stuff is meh.
Maybe you need a more powerful controller, maybe from the STM32F4 line.
A serial port can be either hardware operated (dedicated block for this function, which can operate autonomously) or can be software operated (and data is handled via program). Most microcontrollers have only one hardware serial port, but usually many software serial ports can be added, depending on how many input and output pins the chip has.
See:
MIDI is a serial protocol that operates at 31,250 bits per second
I tried to use the SoftwareSerial library for MIDI (by 47 effects), but it seems I get regularly corrupted/unexpected messages.
The problem with SoftwareSerial is that while it is receiving a packet the Arduino is unable to do anything else - that includes reading bytes from the RX buffer, so it will easily overflow if you send things too rapidly. With HardwareSerial you are able to read from the buffer while it's receiving data, so overflowing is less of a problem.
Perhaps another great option would be to use an FPGA where hardware blocks for data processing could be created instead of a software-emulated serial port.
rtek1000:
Perhaps another great option would be to use an FPGA where hardware blocks for data processing could be created instead of a software-emulated serial port.
What are you talking about? Using an FPGA just for UART communication is insane.
Even the most basic Arduinos can handle MIDI just fine.
What do you mean with 64 inputs? If you want to build a midi controller with alot of keys you need a microcontroller with alot of GPIOs. My keyboard with 32 keys uses 16 gpios. Also you might want to get a M0 just to keep it fast while scanning keyboard-matrix and also sending MIDI