Ear training meets Java learning

  • Posted on: 30 December 2016
  • By: hapebe

Recently I've started a serious professional training course aiming to become a certified "Java Programmer" at ils, a German classic distance learning institution. Let's see how this goes; but while doing the first few lessons of that, I remembered having played with Java on my own before, a very long time ago: In 2000 I started to write an ear training desktop program, using Java / Swing as the technology. I called it "Can You Hear It?", and already at that time it was both an attempt to create a more or less useful tool for learning better musical listening and to make myself familiar with potentially useful skills when it comes to Java programming. Well, over the years I only made use of this rather infrequently, mainly working on web-based (Servlet/JSP) survey tools for my employer.

But, after all, now there's "Can You Hear It? 2.0", the 2016 edition. I've done some refactoring in the code and added features - but still, the program is based on the Swing UI framework and even uses a classic applet component (well, an JApplet, so it would always have required a true Java PlugIn for running in a browser), even if it is wrapped inside a stand-alone Java GUI application.

I've moved it to / published in on GitHub, also in order to practise the workflows with Git(Hub).

 "Can Your Hear It ?" 2.0

Also, I've used a bunch of Java libraries / Java tools:

  • ant
  • one-jar (helps to wrap everything up in a single application jar)
  • JsonP and GSON libaries for JSON input/output (the stats are stored that way now - might help to connect it to some kind of web data storage later on...)

Development itself was done using Eclipse (Neon / 4.6.2).

The musical ear training offers two exercises, at the moment:

  • Intervals up to an octave (i.e. 12 of them)
  • Chords (also 12 types of them)

Their notes are played back at the same time, so you need to identify them from their harmonic combined sound. You will also be asked for the absolute base note; but correct identification of the type will also get you score points.