I'm working on a pretty ambitious project at the moment and I keep coming up to this same point and then getting overwhelmed and moving to other parts of the project. The eventual idea is to have a person be able to record a variable number of messages, to be played back at specific times in the code. I was thinking about getting this https://www.adafruit.com/products/1788 to play back the audio.
Here are the problems I'm facing right now:
- How could I make a group of audio files, while having the capability to change the size of the group to add or subtract from the size of the group through an interface? -- I was first thinking of a variable sized array, but then if I delete the information in, say, block 2 of 4, that block is empty. I was looking for a way to shift the values so that there are only as many spaces in the grouping as there are audio files. I looked a bit at lists, but I'm not familiar with them, though I'm still reading up to see if a list would do what I want.
- Is there a better way to make a menu interface on Arduino than with a bunch of screenName1 variables and nested if statements? -- This approach to menus makes my brain bleed. Having to put the draw statement at the end of the last if so that the loop doesn't continuously redraw the screen, plus the miles of if statements and curly brackets just seems terribly inefficient.
- Recording the audio. I've seen a few modules that would give the capability of recording audio, but the code to begin and end recording, plus saving that to a file, naming that file, storing it's location to be accessible to the grouping from (1), all while managing a visual user interface seems like it might be a tad far-reaching for the Arduino Mega2560, from what I've read. The code alone to record audio that I've read has me totally baffled. (See: http://www.instructables.com/id/Arduino-Audio-Input/?ALLSTEPS). -- Any tips here at all would be appreciated. This is the first time I've working with audio on Arduino and it has me on the ropes.
Am I being too far-reaching with this idea? I essentially just want to make one of those recordable greeting cards, but with more messages and the ability to record, rerecord, add, and subtract messages as the user sees fit.