Backing track device :)

Hey there.
I have a band, and we play with backing tracks with clicktracks and automatic effect changes through midi.
Currently we are using an expensive audio interface with multiple outputs and a laptop with a DAW to achieve this.
This is not ideal, so I thought, maybe there is a small cheap device that could do this and I won't need a laptop on my gigs anymore?
Well, I couldn't find such a thing... And a device closest to this was 500$, which seems ridiculous...

So, I started thinking on whether I could build such a device myself and found this arduino thingie. Looks fun, I am also familiar with the coding language...
I wonder if it's possible or easy to achieve. Please share your thoughts and tips.

So, here's the feature list of the device I want:
The point
Main feature is, that it reads and plays three files from the internal storage at a time and plays them synchronised - Two stereo mp3 files (Backing track and clicktrack) and a midi file (Changes effects automatically on time though CC signal in my digital effect processors).
It's probably ok if I use a single mp3 for the backing track and clicktrack (Left mono - backing track, Right mono - clicktrack), but that requires extra preparation before exporting the files, so I am not a fan of that. But, during live performances, maybe it's even better to use mono audio, so that may be a better idea?
So, the device would have four (or two) audio outputs and a single midi output.
Two of them would go to PA, the other two (can also be a single stereo jack) would go to headphones for the drummer. The Midi goes to effects processors.
The backing track digital to analog (line level) converters should be high quality.
The audio quality should be the best it can be.

One SD card for internal storage.
I should be able to plug this device to the computer through USB and the computer should recognise it as a storage device, in which I'd throw in the mp3 files and midi files. Well, I could be satisfied with SD card swapping, but that's not ideal.
The device would recognise which files to play at once by their names. for example:
Song1_1.mp3, Song1_2.mp3, Song1_MIDI.midi
By this naming convention it would find these files and play them synchronised through the different outputs.

UI
Basically, a simple three/four row LCD screen (Shows a song list, what's playing, timing, nothing fancy)
Some buttons - Previous track, next track, pause, stop, play, rewind, fast forward.
Two volume knobs for the audio outputs.
An on/off switch.

Sounds fairly complicated....

I was looking around for tutorials, so here's some uncertainties I have:
There are these mp3 modules or shields that can do most of the work...
But how could I use them to play a few files at a time? I could use two modules in the device, but each one of them has their own SD slot...
The SD module has to be separate, so that a midi circuit could also read the midi file...
But how this is setup, I am still not sure...
Maybe I can avoid mp3 shields, and the arduino could decode mp3 through code somehow? But, maybe I will need extra ram for that?
I found no tutorials on how could the pc recognise such a device as a storage device.

So yeah, any thoughts about anything?
Is this worth trying?

Maybe I can avoid mp3 shields, and the arduino could decode mp3 through code somehow?

No.

I found no tutorials on how could the pc recognise such a device as a storage device.

That is because it can't. You would have to make the Arduino look like a USB storage device at that requires at least a USB host shield.

But how could I use them to play a few files at a time?

You can't, you would need one device for each simultaneous track.

FreeMind:
Well, I couldn't find such a thing... And a device closest to this was 500$, which seems ridiculous...

Deleted pages of Features and Capabilities.

So yeah, any thoughts about anything?
Is this worth trying?

If $500 is too expensive you can take the 5 months and $10,000 to develop a custom implementation the might work sometimes.

I could build you one of these for less than $500 if you bought 50k of them.

Chuck.


Check out my Kickstarter Project Memory Panes an expansion RAM Shield for Mega2560's. It adds 1MB of RAM for those projects where 8KB is not enough.

Grumpy_Mike:
USB storage device at that requires at least a USB host shield.

That's what I thought.

Anyway...
SD card shield, a midi shield, an mp3 shield, and a USB host shield and an LCD screen.
Still too ambitious?

FreeMind:
That's what I thought.

Anyway...
SD card shield, a midi shield, an mp3 shield, and a USB host shield and an LCD screen.
Still too ambitious?

Sounds doable, but by the time you're done I'll bet you wish you'd just spent the 500 bucks.

Please understand that just having the hardware for a USB host shealddoes not mean you have a working device, you need to write the device drivers to make it look like a storage device and then to Handel that device. That is not a beginners project so there is a lot of learning needed. Unless you can find some one who has done that before

Ok. Let's drop the USB idea.
SD card swap only.