Category Archives: Ear training

Ear Training with a Voice User Interface

As a musician and software developer, I look for synergies between these two roles.  One such example is the app that I’m developing for the purpose of helping musicians with ear training.  This app, named Music Ear Trainer, contains a voice user interface (VUI) that trains the user’s ear to recognize musical constructs such as intervals and triads.  If you have access to a Google Home device, you may invoke the app by saying “Hey Google, talk to Music Ear Trainer.”  The app will invite you into a conversation, playing intervals and triads for you to verbally identify.

The Music Ear Trainer app uses Actions on Google to implement its Google Assistant functionality.  I chose to use the API.AI tool to build my Assistant actions.  The following diagram contains a portion of the conversation flow design, consisting of constructs including contexts, intents, text responses, and webhooks.


Portion of Music Ear Trainer app conversation flow

The Music Ear Trainer app is licensed under Apache License Version  2.0, and is available in the ripped-ear-vui GitHub repository.  Please let me know if there is functionality you’d want to add to Music Ear Trainer, or if you have any questions about its implementation.


James L. (Jim) Weaver