this is my first arduino project. sadly i only have a background in music and little programming skill (started about a year ago ). i would love some help. my questions i will put at the end of this post. i have made some search in the forum but i havnt found a thread with the answer i am look for. but i would be happy if some could prove me am wrong.
the project i have in mind is a midi manipulating kit and would look like this:
1 x midi in from keyboard/sequencer (with clock) --> ARDUINO (with some potentiometers) --> 2 or 3 x midi out
when then potentiometer are at the zero position the signal should just pass through with out changing.
when then potentiometer changes it would like to change some of one of the following parameters ( 1 parameter per potentiometers ) from the midi signal:
clock divide
clock delay (same clock time but with a different phase)
what kind of latency i am looking at when doing this with an arduino? its important that things stay in sync. or is arduino the wrong thing to use (raspberry pi?)?
what arduio would be recommended if i want to have more the one midi out? each midi out would have a another manipulation of the original signal (but just 1 midi in). can one have different midi outs on one arduio board? how would that look like? so far i found only ones with 1 midi in and 1 midi out!
can any one recommend a library for midi usage in an arduino environment (especially for writing midi clock)? i plan to be creative and try different ideas and combinations and share them.
what kind of latency i am looking at when doing this with an arduino? its important that things stay in sync. or is arduino the wrong thing to use (raspberry pi?)?
I don't think latency will be a problem unless you are doing a lot of floating-point math.
hasanmm:
2. what arduio would be recommended if i want to have more the one midi out? each midi out would have a another manipulation of the original signal (but just 1 midi in). can one have different midi outs on one arduio board? how would that look like? so far i found only ones with 1 midi in and 1 midi out!
I would recommend the Arduino MEGA 2560, mostly because it has four hardware serial ports and you will need one for each MIDI In+Out. This would allow up to four MIDI In and up to four MIDI Out. Probably best to keep Serial free for USB sketch upload and debug output but that still leaves three MIDI In and three MIDI Out.
hasanmm:
3. can any one recommend a library for midi usage in an arduino environment (especially for writing midi clock)? i plan to be creative and try different ideas and combinations and share them.
One thing to remember is that a MIDI channel is not like a MIDI file in that it does not include clock data. Notes are played as they arrive. You can't play the notes much faster than they arrive or you will run out of notes to play. You can't play the notes much slower than they arrive or you will run out of buffer space for receiving new notes. If you want to make tempo changes you should probably buffer your entire MIDI performance into external storage (internal storage on an Arduino is quite limited) and then play it back at whatever rate you like.