An aspiring jazz trumpet player's blog about jazz improvisation and ear training.

February 28, 2015 Ear Training 12 Comments

Ear training tool - version 3.0

Today I launched version 3.0 of my free online ear trainer!

online ear trainer - v3

This new version of my ear trainer runs natively in modern web browsers, without the need for Java or any other type of plugin. It's a nice change of pace from the security warnings and Java installation headaches of my old ear trainer (first created as a Java applet back in 2004).

UPDATE 11/12/22 - Fixed issue where progression highlighting is incorrect after changing the tempo. Fixed timeout issue for audio on some iOS devices.

UPDATE 10/10/22 - Added Drop 3 and Drop 2+4 chord voicings as well as a 1,000-note option to the interval sequences.

UPDATE 5/21/22 - Added a new "Intervals: Key from Note" Sample Exercise, which can help help you to identify a chord's key by using a reference note. The Custom Scratchpad supports new "absolute" tags, which will force the enclosed sequence to play as written, even when you have modulated to a different key (see Scratchpad examples #1 and #8). A new <#chord> tag will speak aloud the currently playing chord key and chord type for Custom chord progressions (see example #11).

UPDATE 4/17/22 - When notes are higher and lower than the displayed range, they will now have a "8va" or "8vb" next to them to indicate their actual position on the staff. The Custom feature now supports tags to prevent parts of a script from appearing in the display. There is also the addition of an ellipsis shortcut to indicate a range of notes in Custom scripts (ex: C...c).

UPDATE 2/1/22 - The display of progressions has been improved to scale better on different screen sizes.

UPDATE 12/22/21 - The Progressions and Custom tabs now have an option for a drum stick count in, to give you a chance to prepare before the exercise starts. Keyboard shortcuts have been added for playing a middle C (period key) and repeating an exercise without also playing the starting cadence (shift+left arrow). More information on keyboard shortcuts is farther down this page. A new Yamaha DX7 piano type has been added. It's a nice quality soundfont, but due to the fluctuation in pitch, it probably wouldn't be my first choice for many of the ear training exercises.

UPDATE 9/28/21 - The Custom feature now supports variables and randomization for simultaneous notes.

UPDATE 8/14/21 - Added two new piano sounds that can be used with any exercise.

UPDATE 4/8/21 - Added ability to share the ear trainer's current configuration via a unique URL. This was you can share an exercise with other people without having to tell them each and every box to check. They can just load your saved configuration's URL and their ear trainer's settings will automatically match yours when you created the URL.

UPDATE 3/1/21 - Added some sample exercises to demonstrate various capabilities of the ear trainer and to help people get started with ear training. Also added stepped sequences to the Intervals and Melodies tab.

UPDATE 2/1/21 - The staff has been updated to support retina displays. The Custom feature now supports repeats and modulation control. Lastly, the bass clef has been improved to show notes in a friendlier octave when possible.

UPDATE 12/16/20 - The Intervals tab now supports longer sequences, so you could specify a few intervals and each subsequent note of the sequence will be within that interval. For this feature, I recommend "Random" for "Note Direction" in order to avoid octave shifts that will occur if it gets out of range. The Custom feature can now support words, allowing you to add note names and other words to your Custom scripts (for a complete list, see example #9 of the scratchpad instructions). The Progressions tab now includes Dom7sus4 and Dim7 chord types. Finally, the ABC notation processing engine has been improved to support more complex rhythms. If any of your scripts no longer sound as you expected, please let me know.

UPDATE 8/31/20 - In addition to a starting cadence, there's now an option for short drone.

UPDATE 8/8/20 - I switched to new mp3 piano sound files which should improve the audio quality for browsers (e.g. Safari) and operating systems that use mp3s (e.g. iOS). I also added an option to repeat an exercise without adding a delay (under Play Mode) and I increased the maximum repeat count to 36. This could be helpful if you want to repeat a chord/note over and over again as a drone.

UPDATE 6/13/20 - Added a version checker so the ear trainer will let you know when a new version is available. Also, Custom sequences now display the proper notes when transposed into different keys.

UPDATE 6/4/20 - Here's the largest update since 3.0 went online. I fixed a bug which logged you out after a few days, forcing you to reload the page to login. I added the ability to be logged on from multiple devices. I improved the audio for iOS devices. I added support for Major 6 chords in the Custom scratchpad. I improved the responsiveness of the ear trainer, so it resizes better on smaller screens. The initial load no longer produces no audio for the first exercise on iOS. There is now an option to have the note names read back to you. This is handy if you want to have it running in the background while doing other tasks. I was going to use SpeechSynthesis to read back the interval and chord names, but due to an issue with iOS, I had to resort to audio files. As a result, it's only going to read the note names. You can also have the results delay until you click in the staff area. That works best with Manual mode. With all that's going on in the world today, I hope you'll get some use out of this update.

UPDATE 1/4/20 - Added Major 7 b5 chord to the Chords tab. Also, in random custom scripts, accidentals are now cleared after each random sequence. Previously, accidentals would accumulate and carry over to subsequent randomizations.

UPDATE 5/10/18 - Due to a recent change in Chrome's autoplay restrictions, the ear trainer may have stopped producing audio. I put in a quick fix which may need to be altered a bit to improve performance on mobile devices.

UPDATE 5/15/17 - I added a hi-hat and ride cymbal to the rhythm sections used by the Progressions and Custom features. The Progressions section also includes the ability to choose between a single key center and a random mixing of keys when it creates a chord progression. This could be used, for example, to practice a ii-V7-I progression in random keys without pausing in between each key change.

UPDATE 10/4/16 - The custom feature now supports melodies with even (i.e. non-swing) rhythms. To enable this feature, add "R:even" to the top of your custom script. Note that this only applies to stand-alone melodies. Rhythmic accompaniments will still use swing rhythms regardless of this setting.

UPDATE 9/6/16 - This update introduces the concept of custom exercises, where an "exercise" saves the current ear trainer settings. For example, if you like to practice random melodies with a tempo of 120bpm, in auto-play mode, with 3 repeats, and random modulation, you can save that configuration as an exercise. Another ear training exercise might be random ii-V7-I chord progressions with a tempo of 90bpm. Once you save these as separate exercises, you can return to them at any time without having to manually change the tempos, repeat options, etc. You just click on the exercise names and stored configuration is loaded automatically! To use this feature, simply login and then use the "Your Exercises" link at the upper right to create a new exercise.

UPDATE 7/30/16 - Thanks to a visitor's request, I have added Sus2 and Sus4 triads to the Chords feature.

UPDATE 5/12/16 - This update adds randomization to the ear trainer's Custom tab, with a syntax like the following: { randomSequence1 ; randomSequence2 ; randomSequence3 }. As an example, if you want to play a C and then a random note that's either a G, A, or B, you'd put the following into the Custom tab: C { G ; A ; B }

UPDATE 3/6/16 - The melodies feature now includes the ability to play a cluster of notes simultaneously via the "Sequence Type=Harmonic" option. A suggested exercise for this would be to play a C major cadence followed by the note cluster. Begin with a couple of notes, and increase to as many as you can identify. Over time, this should improve your relative pitch. I also added a few new 9th chords to the chords feature. Both of these new features are the result of your feature requests, so thank you for your suggestions!

UPDATE 10/31/15 - I improved the layout of chord progressions for this update, so they should be easier to read. Also, I fixed a problem single-note melodies and and the "Restrict to Single Octave" option.

UPDATE 10/20/15 - This update fixes a few bugs, including an issue where modulation could force the jazz progressions to be played in extreme upper and lower registers. Additionally, the Custom tab's scripts will now respect the specified double bar repeat settings. To round things out, you'll find a few more examples for the Custom tab's scratchpad feature, including a listing of all currently supported chord types.

UPDATE 8/29/15 - With this update, you can click on the notes in the ear trainer's staff in order to hear a specific note. I also added a sight singing "Play Mode" where the ear trainer will show notes without playing audio. Once the notes appear, you can click on individual notes to hear their pitches or you can click the repeat button to hear the entire sequence.

UPDATE 7/31/15 - This update focuses primarily on the Custom tab. New options have been added for modulation within sequences via double bar lines ( || ). This is handy if you want to do ear training over an entire song. By adding double bar lines periodically within the song, you can repeat and modulate a series of measures.

UPDATE 5/2/15 - I added a new soundfont which greatly improves the piano sound for Safari and other browsers that don't support Ogg files. With this change, I think my new ear training application runs almost as well on Safari as it does on Chrome and Opera.

UPDATE 5/1/15 - This update fixes several bugs, adds keyboard support for controlling playback (left arrow=repeat, right arrow=next, space=play/stop), and it includes a few new chord progressions (jazz blues, minor blues, etc). The biggest change is the addition of accounts. Once you register for your free account, you can save your custom melodies and chord progressions. I still need to improve the documentation and examples for the custom markup, but hopefully the existing samples will give you enough to start customizing your ear training exercises.

Comment by Nate

This has been a great tool for me,and I really appreciate the work you put into it, especially since its free. Hope you keep it up and thanks for the help! :)

Comment by Dave

Please, could you make the default browser something OTHER than Chrome? Google's flagrant way of making one's personal information available to anybody who wants to pay for it puts Chrome in the category of 'spy software'. Firefox would be my choice, Opera behind that.

Thank you VERY much for disconnecting the Java dependence...yours was the last website I ever visited that required it.

Comment by Rick

Hi Dave,

The new ear trainer uses HTML 5's Web Audio API for audio sequencing. Like any Web technology, the implementation of this technology is up to each individual browser manufacturer. For simpler tasks like the ear trainer's interval, chords, and melodies, you'll find that most browsers do a decent job with timing and sequencing. With more complex sequences, like my "Progressions" feature, the performance of each browser makes a big difference. It just so happens that Chrome has the best performance right now, and Chrome sounds the best since it supports Ogg-formatted audio. Hopefully, future versions of each browser will improve upon their implementation of the Web Audio API and there won't be such a big difference between browsers.

I do have some good news for you, though. I hadn't tested Opera yet, but this morning I installed the latest version on my Mac and it seems to run just as well as Chrome! I'm going to update my references to Chrome so they'll indicate both Chrome and Opera as the suggested browsers.


Comment by Ivan

Congratulations and thank you for the new version of the online ear-trainer, works really well with my old firefox (did not even update it).

Comment by Anthony Rodgers

Ear training software and online ear training programs are gaining a lot of popularity these days. Although I think that instead of a virtual approach, hiring a well known ear training expert is always better. The depth of knowledge of an expert can be very helpful in solving the most complicated of your queries. My brother is a musician too and he went for an online ear training program called Ear Training HQ. I think it was worth his while, but I went for "Offline" training and still got the same results.

Great site! Love your ear training tool. My main instrument is the drums. I'm also a jazz vocalist though, and want to keep improving my ear training skills.

Thanks for sharing!

Comment by Rick

I'm glad to hear that you're enjoying the new ear trainer, Brad.

Comment by Corai

Hi there everyone, this is just the best tool for ear training and music perception i've ever seen would like to thank whomever made this tool.

When the 3.0 will be available for download? =D

good studies everybody

Comment by faiz


First of all, thanks for your amazing work, i use your stuff everyday for some years now! i m definitely going to make a donation at some point, it's higly deserved. Is it possible to change the instrument on the newer version, cause i don't get to find it?

Comment by Rick

Hi Faiz,

Thanks for the feedback. The new ear trainer doesn't have an option to select different instruments at this time. It was easier to implement that with the old ear trainer since the Java soundfont has all of the instruments by default. I'm not sure when I'll add additional instruments, but it is something I've got on my todo list.


Comment by Jerry

Thank you so much for doing this. I have been trying to find a ear tainner does exactly what your offer. not to mention it is totally free.

Comment by Owen

Rick, this is an amazingly useful tool, and I can't believe I haven't discovered it until now. I am staggered that you chose to put so much effort into it, and not charge us a cent to use it. Very generous! You've done a great service for your fellow jazz learners. Incidentally, if you do ever decide to charge for the iphone version, I for one would be very happy to pay.

Post a new comment



Your Website (optional)


Security Code: type the numbers you see in the image shown above
Note: Your email address will be used to send you notification if/when your comment is approved for public viewing. Additionally, I will use your email address to contact you if you ask me a direct question. Your email address will not be displayed online, nor will it be used for marketing or any other purpose.