How It Works
Being a Violin Player, I had to use mobile app based tuners to tune my Violin. This used to create issues in handling the violin since I had to shuffle between changing notes on my app and then tune my violin accordingly. And so, I thought what if an Interactive Voice based assistant could help me tune my Violin with ease. Here, Alexa came to my rescue!
And so, I came up with the idea of making an Alexa Skill - String Tuner, which can help tune String Instruments like Violin, Viola and Cello.
What it does
Launch String Tuner on your Alexa device and ask it to tune your instrument of choice for each Note of your Instrument String.
You can first select Your Instrument and tell the Note. Alexa will play the corresponding Note on that Instrument, using which you can tune your actual Instrument. You can then keep on asking for Notes, without the need to tell the instrument within the same session.
For example, For Violin, you can first ask for E Note. String Tuner will play the E note. You can then tune the Violin 1st String on E Note. You can ask Alexa to repeat the Note or move to the next String by asking for A Note. Then to D Note and Finally G Note. Eureka, your Violin is tuned perfectly without you having to move your hands off the bow and Violin Neck!
Example Interactions with Alexa:
- Ask String Tuner to Tune Violin with Note G
- Tune Cello for Note A
- Tune Viola with Note D
- Start Tuning for Violin with Note E
How we built it
String Tuner is an Alexa Skill build using the Alexa-SDK. It uses Audio Player Directives to play the notes based on the strings of the instruments. The backend is a Node.JS function hosted on AWS Lambda. The app uses Amazon DynamoDB to store the session attributes so that user has a seamless experience in tuning the instrument.
Accomplishments that we're proud of
Learning how Alexa works and the Voice Interaction best practices, to give users a seamless stress-free interaction to achieve what the app is meant to do.
What's next for String Tuner
To add more String Instrument support!