My 5-year old sister has just started violin lessons, and very often, I have to accompany my sister. While I consider that to be interesting, it is not fun when I have to do that thirty times in a row. Also, with only two years of violin lessons behind me, I’m not the perfect Mr. Accompanist.
However, all the MIDI players we could find aren’t that helpful, so we resorted to using Youtube. That worked, but then sound quality and flexibility for speed (0.5 speed was too slow and 0.75 was too fast) became a problem. The electric piano is better, since it has a good sound quality, but then there is the problem when it's playing an accompaniment and one makes a mistake on even a single note - the electric piano has absolutely no sympathy when it comes to errors (a.k.a. there is no "pause" button, only a "restart" one).
After all that talk about music, you probably have guessed that Cricket Pi is a MIDI player. However, it is much more than that. It's voice-controllable with playback, tempo, and volume control. Along with features including metronome and alarm clock (to remind you when to practice), Cricket is a cute and amazing "little" accompanist for violin students.
Cricket Pi consists of a Raspberry Pi with voice control engine, a GUI with visual feedback, and a MIDI player with speakers.
Currently, the entire program is prototyped on Scratch. This means that Cricket has a limited capability. For example, the voice engine can only use Loudness values, which makes it rather insensitive, and the hand-crafted MIDI player lags in the beginning of a piece and speeds up too much in the end. We plan to have a working Pi on Python (with an actual MIDI player) before September. Here is the current status and future plan:
Jieruei Chang has had a long interest in robotics and programming ever since his dad gave him a Lego WeDo set when he was five. Now, six years later, he is the creator of dozens of Scratch games, a partially self-taught artist, the owner of a six-propeller drone, three violins, and a genuine Venus Flytrap.