Alexa seems to be a great interface for human-computer interaction. Its just really cool. While I feel a kind of sensory overload with mobile phones and desktops, Alexa feels natural, more human and spontaneous. So it hit the right chord in me, when I figured I could develop something useful, that too in my spare time.
Why an educational application?
Education has taken radical turns and is pushing humanity quicker than ever towards the holy grail. This is one of my early attempts to make an educational tool, something I would love to do lot more from now.
Anything that shifts someones focus from the ratrace and spend a moment in wonder, or get an existential question is worth it, and that is what I wish stuff I develop pushes users towards.
What does Music Coach do?
Music Coach helps you attain better musicianship. At the moment, it can give you interval challenges, it can teach you intervals and also play notes that you would like to hear. Its a great skill to engage with in your leisure time, say resting down, take few challenges and sharpen your ear before you drift to sleep.
How I built it
I have been developing chatbots for half a year now, and my stack has been Flask, Zappa and AWS Lambda on most projects, so I was estatic on finding that Flask-Ask exposes Alexa skills development to flask and instantly figured the rest of the stack.
Challenges I ran into
I had to do few patch works because of the speech recognistion glitches. For example, when to user wants the skill to play notes like "B" and "D", most times, "D" is picked up as "B", so I had to add values to Note slots like "Dee", "Di" and now it picks it up right.
What I learned
Requires flexing some creative muscles, more than developing for other tech
Frankly, while it feels like the development should take no time, it actually takes a lot of time. The basic reason is the newness of the tech. Converational UIs are new, and that opens up huge potential for creativity as well as failure.
I tried to plunge in creatively, I have tried few approaches that makes the skill spontaneous and fun. But I am sure I have a whole lot of areas where I can improve this skill. On the whole, its been super challenging, just the way I like it.
What's next for Music Coach
Right now the sounds produced are only sinusoid. The lack of overtones makes them great for learning and identifying pitches, but they are not pleasing to the ear. In future Music Coach would offer sounds in various instruments like Piano, Harp, Guitar, Violin, Veena and more. This offers a more satisfying experience for the user. This also opens up monetization opportunities for the application.
The vision is to expand to various other capabilities, kinda like a one application to explore various music education tools. For example, guess the chord challenges, complex intervals, find the time signature, figure out harmonic intervals. All these can be implemented and make the user experience more soul satisfying.