MIDI Counter Clock with LCD Display

So I am in an electronic band, and I am trying to put together a piece of hardware to display some MIDI data, and would like to get some advice on some things. I am a beginner with Arduino, but have plenty of experience working with code and IDE's.

The goal of this project is to build a MIDI Counter, which if you are unfamiliar with MIDI data and electronic music, is a way to display the current BPM (beats per minute) of a track. In other words, when recording music you usually use a click track to keep musicians in time with the tracks tempo. The click track is usually heard through a pair of headphones and acts no differently than a metronome you see on top of pianos when practicing. What I am trying to build is a visual display of that click track.

I plan on building a wooden box about 12'' wide, 10'' high, and lets say 6'' deep to house the LCD screen, Arduino, and all the other components needed. The MIDI data will be sent via USB from my computer, and the screen needs to display this Data with next to zero latency. The device will have to be recognized by my computer as a USB MIDI device as well.

What kind of Arduino board do I need for this? And what kind of LCD Screen do I need for this? I understand the basics of how to go about this project, but the key to this project being successful is solving any latency issues I might have between my computer, the Arduino, and the LCD Screen. I need a screen and processor which will display the data as fast as possible, with next to zero latency.

I would appreciate any suggestions on how I should go about this project of mine!

PS. There might something already out there that does this in the form of an iPad app or hardware , but I don't care. I want to build it myself!

You don’t need large processing speed at all to parse simple MIDI note on/off data and a tiny bit of maths (which is what you want there). I’m not sure you can get the zero latency you wish, but it shouldn’t be utterly hard to make it reasonably fast.
Any display with enough pixels (Even 32x16 (or 3x 7 digit) can do, note I didn’t make this on actual hardware, just messed up with Pinta) could do the job.
But this would be a waste to buy an arduino just for this. With slightly larger displays you can show up way more info.

I’m not owning an Arduino yet, but what you’re wanting is really basic. I’ll let others give you other tips.

Good luck!

Hi, your box is quite large, so how big did you want the lcd screen to be? What else did you want to display on it other than the bpm value? How does displaying the bpm help musicians keep time? If you want to keep time visually, why not just flash leds(s)? Why do you want an lcd screen? If you simply want to display large digits that can be seen across a room, then would 7 segments be a better option?

Paul

Well the box is meant to be on stage when we play, and it is large because it needs to be easily visible to every band member. So the LCD Screen would need to be those dimensions, however, after doing some research I think LED's might be the best way to go. I just need low latency.

What do you mean by 7 segments?

skattkamp: Well the box is meant to be on stage when we play, and it is large because it needs to be easily visible to every band member. So the LCD Screen would need to be those dimensions, however, after doing some research I think LED's might be the best way to go. I just need low latency.

What do you mean by 7 segments?

This : Edit : Don't count the dot, else it's not a 7-segment one. But this is really enough - Get 3 of those, it'll be good enough. Else get visible enough LEDs, to be honest it's way better. But if you want to show more data, get a LCD.

skattkamp: after doing some research I think LED's might be the best way to go. I just need low latency.

So... flashing leds, or a 7-segment display indicating BPM?

I still don't understand how a BPM display helps, but then I am not a musician. But if that's what you want, then next you need to figure out how large the digits need to be. Print off some numbers on paper using different font sizes and see what size is comfortable to read for all band members across the stage. Don't worry if you can't find manufactured displays large enough, because another option is to make your own with led strips. But don't buy anything yet - post links here and forum members can advise what is more or less suitable.

What do you mean by "low latency"? "Low" a relative term. 0.5 seconds? 0.1 seconds?

My latency needs to be less than 10ms from my computer -> Arduino -> Display

There are 1000ms in 1 second.

Thanks, Scott

So something like this but with a display large enough to be seen across the stage?