Skip to content

pianosnake/ear-training-buddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ear Training Buddy

This is the patient ear training buddy you've always wanted. It's a web app that can play notes, intervals and chords randomly or diatonically. Available live here.

Choose how many notes you'd like to hear played at once by clicking 1, 2, 3 or 4.

  • With 1 note you can test your relative pitch by comparing the played note to the reference note.
  • With 2 notes you can test your interval recognition. For more of a challenge play the reference note and try to identify the interval pitches. In diatonic mode, Buddy will play both random notes from the major key of the reference note.
  • With 3 notes you can try recognizing major, minor, diminished or augmented triads. For more of a challenge name the root of the chord or try to hear the relationship of the reference note within the played chord, ie, A would be a 6th in F Major.
  • With 4 notes you can try recognizing chords like major 7, minor 7th, dominant, major 6th, minor major and half-diminished.

Some extra options exist for making the exercise harder or easier:

  • In Diatonic mode the random notes or chords will be taken from the major key of the reference note.
  • Make reference note part of chord option will 'pivot' the 3 or 4 note chord around the reference note. If A is the reference note, Buddy might play an F Major chord because A is the 3rd of that chord. Buddy won't play an E flat Major because that chord does not contain A.
  • With Open voicings checked, Buddy will play the 3 and 4 note chords with an open piano voicing, spreading the notes over the keyboard for a more realistic playing style.

The following keyboard shortcuts are provided to speed up the exercise:

  • A Play reference note
  • R Play a random note, interval or chord
  • H Play the interval or chord melodically. Plays slower each time it's pressed.
  • SPACE Show the answer

The sounds are real piano samples from the University of Iowa Musical Instrument Samples available in the Public Domain.

Developing

In non-production mode the site runs from index.js using JS modules provided by import and export statements. Run locally by starting a webserver in the home directory.

In production mode the site uses bundle.js. Run npm run build to build the bundle file with webpack.

Tests are written in Jasmine and run in the browser at /tests.