Earlier, I wrote a post describing my lack of success in finding a music player suitable for a young toddler, and that would fit with the way he seems to use his music-playing toys.
In this post, I’ll document my actual requirements for the project. I’m sure they’ll evolve as I go - requirements always do - but this should provide a good starting point. In no particular order:
- The player will provide several buttons or keys - and each one will play a specific mp3 from the filesystem.
- Pressing the same button a second time will stop the playback.
- Pressing a different button while a track is playing will stop playback, and start playback of the new mp3 from the filesystem.
- (Maybe) Some kind of switch will allow the user to change music sets associated with the buttons. This implies that it must be able to query the state of that switch after a power off…
- The volume should be a controllable with a slider/switch that allows 2 or 3 preset volume levels. As with the previous item, this implies that the current state/position of the switch must be queryable after a power loss.
- Turn on relatively quickly: a 2-year-old doesn’t understand turning something on, walking away for a minute or two, then returning to use it. So either extreme power management, a standby mode (instead of “off”), or very fast boot time. I see that with a class 10 SD card, boot time may be as low as 6-7 seconds - but with no feedback, this will still be long enough to confuse/frustrate a youngster?
- Keys/buttons should light up when pressed? (Perhaps rev 2…)
- Bright colors!
- All controls must be suitable to a toddler’s hands - that is, larger than normal.
- Durable - need to be able to be dragged around the room, dropped, kicked, sat/stood upon, and in general treated like any of his other toys.
- Ideally battery-powered and portable, with a decent battery life. May not be practical given the requirement for fast boot.
- I need to be able to update/swap out the music selections available without a lot of pain. Over WiFi ideally, or perhaps simply via a USB drive.
- Internals must be securely protected from little fingers and incidental spills (he’s moving on to open cups these days…)
- Usage stats/play counts! I’d love to know which music he prefers and which he doesn’t ever listen to.
Already I see this is going to be more complex than I thought, though not unmanageably so. I’m most concerned about quick startup time and battery life, since RPi doesn’t seem to have much in terms of suspend/sleep modes. I’m not quite sure about materials - perhaps wood? I have no 3d printer and am not interested in paying for custom molded parts.
Next post will be a bit of brainstorming around implementation, and posting results of any research I do between now and then.