Become a beta tester for early access to new features by joining the Google+ Community and following the link to the Beta version.
Jump to section
How to use
- Ascending / descending / harmonic intervals.
- Identify phrases
- Pick intervals / phrases based on specific intervals / specific notes / a specific mode or scale
- Identify scales
- Associate intervals with songs
- Set tempo, instrument and volume, pitch range, interval and note choice and responses to correct / incorrect answers.
- Listen mode to compare correct answer to all other answers to understand why an answer is correct.
- Continuous play for hands free use with speech recognition.
- Customisable layout and font size. 2 - 5 columns of buttons.
- Tuning tester - identify if a note note is sharp or flat
- Perfect pitch exercises - identify single notes or clusters
- Identify chord types - select voicings / inversions
- Contextual Help
Interval SongsThe following melodies are used in this app to help identify intervals by associating them with a melody you already know. I welcome song suggestions.
|Interval||Ascending melody||Descending melody|
• Beethoven's Fifth
• Good King Wenceslas
• Jingle bells
• Memory (Cats)
• A hard day's night (The Beatles)
• Isn't she lovely (Stevie Wonder)
• I'm dreaming of a White Christmas
• Carmen - Habanera
• Circus Clown
• Fur Elise (Beethoven)
• Joy to the world
• Baby one more time (Britney Spears)
• Frere Jacques
• Happy Birthday
• Let it go (Frozen)
• My Girl (The Temptations)
• My heart will go on (Titanic)
• Silent night
• Sweet Caroline - Intro
• Toreador - Carmen
• A whole new world (Aladdin)
• Deck the Halls
• Metal Gear Solid
• Yesterday (Beatles)
• Beverly Hills Cop Theme
• Iron Man - Black Sabbath
• James Bond
• Lullaby (Brahms)
• Smoke on the water
• The Salmon Song (Nexus 2008)
• Frosty the Snowman
• Hey Jude (Beatles)
• Hit the road Jack
• The Star-Spangled Banner
• Hey Jude (Beatles) - outro
• Old bear sleeps tight (Polish)
• Once in royal David's city
• Spring (Vivaldi)
• The Simpsons (theme)
• When the saints go marching in
• Beethoven's 5th
• Imperial March
• Summertime (Gershwin)
• Swan theme (Swan Lake) - Tchaikovsky
• Swing low sweet chariot
• Take on me (Ah-ha) - riff
• Waltz no 2 - Shostakovich
• Amazing Grace
• Apache (The Shadows)
• Bridal chorus
• Danse Macabre
• El condor pasa
• Harry Potter Theme
• Hungarian dance no 5 - Brahms
• O Tannenbaum (O Christmas Tree)
• Take 5
• USSR National Anthem
• We wish you a Merry Christmas
• Billie Jean - bass line
• Born free
• Eine kleine nachtmusik
• O come all ye faithful
• Pachelbel"s Canon
• Paradisi - Toccata
• Super Smash Brothers - Battle Theme
• Maria - from West Side Story
• The Simpsons (title)
• Black Sabbath (Black Sabbath)
• Blue Seven (Sonny Rollins)
• Danse macabre
• Don't stop till you get enough (Michael Jackson)
• Slightly scary motif
• Back to the future theme
• Georgy Girl (The Seekers)
• Handbags and Gladrags
• In the end - Linkin Park
• Star Wars Theme
• Sweet home Alabama
• Top Gun Theme
• Twinkle twinkle little star
• Back to the future (2nd phrase)
• Game of thrones (intro)
• It don't mean a thing if it ain't got that swing
• Song of Time - Zelda
• The Flintstones Theme
• Conquest of paradise (Vangelis)
• In my life (Beatles)
• Rains of Castamere - Game of Thrones
• The Entertainer (Scott Joplin) - 3rd interval
• Where do I begin? (Love Story)
• All things bright and beautiful
• Where do I begin? (Love Story)
• Angels (Robbie Williams)
• Chopin op 9-2
• It came upon a midnight clear
• Jingle Bells - (Dashing through the snow)
• La Traviata
• My bonnie lies over the ocean
• My Way (Frank Sinatra)
• Opus 28 no 7 (A Major) - Chopin
• USSR National Anthem (2nd phrase)
• Man in the mirror
• Music of the Night (Phantom of the Opera)
• Nobody knows the trouble I've seen
• Over there (military song)
• Sweet Caroline - Chorus
• Luminous Rain - Arc Rise Fantasia
• Maman les petits bateaux
• Star Trek
• Somewhere (West Side Story)
• The winner takes it all
• An American in Paris
• Watermelon Man
• Don't know why (Norah Jones)
• Pure Imagination (Willy Wonka)
• Superman theme
• Take on me (Ah-ha) - chorus
• Have yourself a merry little Christmas (end phrase)
• I love you (Cole Porter)
• Singing in the rain
• Some where over the rainbow
• We are going to be friends - The White Stripes
• Dogtanian and the three muskehounds theme
• Ghostbusters - bass line
• Perfect Cadence bass line
• To Zanarkand - Final Fantasy X
• Willow weep for me
How to use Interval RecognitionPress the Question Mark button ('?') on the Action Bar or Menu -> Contextual Help to show information about the current Technique / screen. There are Breadcurmb links at the top of each page and links within the text to navigate between help pages.
This app has a lot of options and features to enable you to learn in the way you find easiest. A lot of these features are demonstrated in the video at the top of the page. Please do contact me if you have any questions or feature requests.
- Press Menu - > Technique to choose from Intervals / Phrases / Scales etc. Then choose the note source from Selected Intervals / Notes / a Mode or Scale.
- Selected Intervals / Selected Notes can be changed by pressing Menu -> Select Intervals Etc and choosing Intervals or Notes then making your selection.
- A standard press on Repeat and Next will skip repeat or skip the current question. Long pressing can skip an entire phrase / cluster or repeat just part of a phrase.
- The Play type button selects between Ascending / Descending / Harmonic etc.
Listen / Guess:
- Toggle between guessing the answer to questions and hearing any possible answer by pressing the Listen (or Guess) in the Action Bar. For pre Ice Cream Sandwich devices press Menu -> Listen.
- If your device has a button for Search, this can be used too.
- Touch an Answer to hear it. Touch Repeat to play the Question. Unselected Answers are coloured red but they can still be listened to.
- Press Listen Type in Listen Mode to choose what is played eg Interval / Song / Chromatic etc and direction ie Ascending / Descending
- One way to learn intervals is to associate them with well known melodies which start with (or contain) that interval.
- After an incorrect guess, a melody may be played which is associated with the correct interval.
- To change which song is played: Menu -> Select Intervals Etc -> Songs -> Choose an interval -> Choose Ascending and Descending songs -> OK. Long press a song name to hear it.
- I welcome song suggestions.
- Press the Options Button on the Action Bar (on devices without an Action Bar - Menu -> Options).
- Set the BPM (speed) and velocity (volume) of each note. Notes can be made louder by playing them several times simultaneously. Set the pitch range of notes used for the root note of intervals / phrases / scales.
- Select what response is played after an incorrect guess eg nothing, play the correct interval, a song associated with the correct interval or the incorrect interval followed by the correct interval.
- Choose whether a prompt is displayed after a correct interval / complete phrase. Choose whether the 'ding' and 'buzz' sounds are played to indicate correct / incorrect answers.
- Select the number of notes in a phrase along with the allowed rhythmic denominations.
- Various options for size of intervals in phrases and how modes / scales are used.
What does speech recognition understand in Continuous Play?
Speech recognition in Continuous Play is not yet finished and will be improved in both accuracy and in the number of things you can say to it. It can currently only be used for ascending or descending intervals and supports:
- Next - (Added in v3.48) The same as pressing the Next button. Goes to the next interval.
Note names - (Added in v3.4 and improved in 3.48)
Say just the note name not the octave ie 'C, C sharp / D flat, D, D sharp / E flat, F, F sharp / G flat, G, G sharp / A flat, A, A sharp / B flat, B'.
Pause - (added in v3.4)
The same as pressing the Pause button during Continuous Play. You must press the Continue button to carry on.
Repeat - (added in v3.4)
The same as pressing the Repeat button during Continuous Play.
Root note - (added in v3.48)
The root note of the interval will be displayed (and announced if you have that option enabled).
Stop - (added in v3.4)
The same as pressing the Stop button during Continuous Play.
If these errors or any other problems persist, please contact me with a description of the problem, any error messages and the model of your device.
#1000 - Error creating midi file...
If using midi sounds instead of HQ sounds - the application will create a midi file and attempt to save it to Internal Storage - if that fails then this error occurs.
#2000 - Error playing midi file...
The midi file was created but the media player can't play it.
#3000 - No activity found for Speech to Text...
Interval Recognition relies on a separate service for speech recognition. Many android devices use Google's service but there are other options.
#3010 - Cannot start Text To Speech...
Interval Recognition optionally uses Text To Speech. It requires the English Language Locale to be installed. When the app starts it tries to initialise Text To Speech. Check Text To Speech is installed and make sure it isn't being used by another app.
Interval Recognition requires Internet Permission for the following:
- To use BugSense for crash reporting - this assists me greatly in fixing bugs.
- Google Analytics to track how often the app is used and which features are used most.
- Google AdMob to display adverts - not in the Donate version.
- Speech recognition during Continuous Play.
- This application does not require internet permission for normal functionality and will work without it (except speech recognition).
- Network State Permission is required by AdMob and Google Analytics so it can try to wait until wifi is available.
TranslatorsI have had some requests to translate this app into other languages - something I never imagined would happen when I started writing it - so Thank You. I then received offers from users to help with the translation - so Thank You again!
Android apps handle localisation by each language having its own file and each piece of text having a unique name; thus every translation of the same phrase shares the same name. Translations can also use arrays (which are like lists) to group similar items - eg the first position of a list called 'Interval Names' will be the word for 'Unison' in the required language.
Even I was a little surprised at how much text this app uses. So I thought the best solution is to make the translation a collaborative effort whereby individuals can translate whatever parts they wish.
To help translate this app, please update this Google Sheets file.
It contains a separate sheet for each language. Sheets are named by their country code and language - please make sure you update the correct one! The 'en-english' sheet cannot be edited and is referenced by all the other language sheets - thus the first four columns are exactly the same for all languages and the phrases are in exactly the same order for each language.
- Phrases are mostly grouped by their use within the app eg for a particular technique or how they are displayed eg lots of Button texts are grouped together.
- Column A - contains comments / explanations / examples. The text is green.
- Column B - contains the name of a list - above the 1st item in a list. Below the last item of a list - Column B contains '### end of list ###'
- Column C - contains the name of each phrase. This column is blank for lists.
- Column D - contains the English phrase to be translated. Columns A, B and C - do not need to be translated!
- Column E - contains the translated text - well if all goes to plan it will!
- If the text in Column D is red - it indicates that row in Column E is blank.
- Some characters have special functions eg \ and % so must occur twice to be displayed once.
- Some phrases need numbers or other information (variables) to be placed within them. Most commonly %1$d is used. %1 means the first variable supplied (there could be more than one and they can appear multiple times in the desired order). $d means a number. $1%s means text instead of a number. Eg 'Tempo: %1$dbpm' may output 'Tempo: 120bpm'.
Thank you for your help! The app does not read directly from the Google Sheets file - new translations should be included in the next update.
Become a beta tester for early access to new features by joining the Google+ Community and following the link to the Beta version.
Interval Recognition - Ear Train v4.31 - released 08.12.18
- Continuous Play can now play songs for ascending or descending intervals. it has the option to play just the selected song or all the songs for the particular interval.
Interval Recognition - Ear Train v4.28 - released 26.11.18
- Added more songs
- Fixed prompts and messages during Harmonic / Cluster intervals showing the wrong intervals
- Other bug fixes
- Continued preparations to make the app translatable into other languages. Please do contact me if this is something you would like to help with / suggest improvements / request specific languages. Many thanks to those who have already offered to help.
Interval Recognition - Ear Train v4.25 - released 28.10.18
- Added Chord technique - identify chord types - select voicing / inversion and arpeggiation speed.
- Moved Interval Description from main menu into Layout and Fonts.
- Changed text colour on some lists to white - making it easier to read on the dark background.
- Improved the HQ piano sound so that notes aren't missed out.
- Began preparations to make the app translatable into other languages. Please do contact me if this is something you would like to help with / suggest improvements / request specific languages.
Interval Recognition - Ear Train v4.09 - released 24.09.18
- Added new Perfect Pitch exercises based on Selected Notes
- Bug fixes
- Added 2 more songs
Interval Recognition - Ear Train v4.07 - released 29.05.17
- Used dark background for Action Bar on all devices so icons show up better
- Improved layout of some screens
- Added 9 more songs
Interval Recognition - Ear Train v4.05 - released 03.05.17
- Added 2 more songs
Interval Recognition - Ear Train v4.04 - released 23.03.17
- Bug fixes
- Added more songs
- Sorry for the slow updates - I have also been working on a MIDI animated snowman!
Interval Recognition - Ear Train v4.02 - released 25.09.16
- Added more modes and scales
- The transposition of the 2nd note in Tuning questions can be random rather than fixed
- Fixed a bug that sometimes caused the first button to hide / show after each question
- Reduced the delay when using the HQ piano sound
Interval Recognition - Ear Train v3.97 - released 09.09.16
- Questions can be based on specific notes with specific intervals or a Mode / Scale with specific intervals.
- Select the root note of a mode or scale for phrases.
- Optional ding between questions in Continuous Play.
- Added more songs.
- Bug fixes and UI improvements.
Interval Recognition - Ear Train v3.91 - released 13.01.16
- Option to use high quality sampled piano instead of midi sounds. Options for velocity and fade out speed.
- Interval play and listen type of ascending then descending / descending then ascending.
- Optional up to 1 second pause after a question being answered correctly playing ding (if present), pause then next question.
- Bug fixes
Interval Recognition - Ear Train v3.75 - released 18.07.15
- Fix crash if screen is rotated while showing Contextual Help.
- Improved Reset Statistics.
- Changing Technique doesn't increment the question count if you haven't made an incorrect guess for the current question.
- 'Ding' plays correctly after a completed phrase.
- Option to restart identifying the phrase from the beginning after an incorrect guess.
Interval Recognition - Ear Train v3.74 - released 12.07.15
- Improved style and added links to What's New message.
- Continuous Play now works with Tuning and Perfect Pitch. Speech recognition responds to Sharp and Flat for tuning.
- Improved layout of Select Notes screen.
- Added songs - Swing low sweet chariot and Nobody knows the trouble I've seen
- Made toast messages more helpful after selecting Intervals / Notes / Phrase type
- Added option to pick root note for Tuning from Selected Notes.
- Bug fixes
Interval Recognition - Ear Train v3.73 - released 28.06.15
- New layout options - interval buttons can be scrolled so they do not all have to fit on the screen at once. Set font size, button size and number of buttons across. Removed the Page button as it is no longer necessary.
- Tuning tester - identify if a note is sharp or flat.
- Fixed a bug where resetting the statistics would play a new interval regardless of which technique was selected
- When Interval Type is set to 'Ascending or Descending', added the option making the root note the interval note from the previous question along with the option to only play the new interval note and not the root note.
- Fixed a bug where the Play Scale button would play the wrong scale in phrase technique.
- Added contextual help - press the ? button on the Action Bar to display help related to the current technique / screen. Use the hyperlinks to navigate the help system.
- When Interval Type is 'Asc or Desc' - added the option to use the previous interval note as the new root note and an additional option to only play the new interval note.
- Added more songs.
- Migrated to the new versions of AdMob and Google Analytics in the Google Play Services library.
Interval Recognition - Ear Train v3.51 - released 31.03.14
- Fixed a bug which would cause a Force Close when the app starts if there was a problem initialising Text To Speech.
Interval Recognition - Ear Train v3.5 - released 03.02.14
- Added two more songs.
Interval Recognition - Ear Train v3.49 - released 12.10.13
- Added link to instructional video on youtube to Info dialog.
- Added Welcome Dialog - shown on first run.
- Added Update History Dialog - shown on first run after each update.
- Added Harry Potter theme for Ascending Perfect 4th.
- Changed some default options.
- Renamed Octave Toggle button to Page.
Interval Recognition - Ear Train v3.48 - released 14.09.13
- Intervals as well as note names are displayed during phrases and harmonic intervals in interval identification mode and in Continuous Play.
- During Continuous Play you can now say 'Root Note' to be reminded of the root note. You can also say 'Next' to go to the next interval. Also accuracy of recognising spoken note names has been improved.
- If you press Pause during Continuous Play after the answer has been displayed it will pause and keep displaying the answer as opposed to going to the next interval and then pausing.
- Several bug fixes.
- Moved adverts away from buttons on Action Bar - most effective in landscape orientation.
- Updated BugSense version.
Interval Recognition - Ear Train v3.45 - released 03.08.13
- When listening to intervals added the option to play chromatically from the root note to the interval (and optionally back again).
- Improved use of action bar - tick icon replaces OK button on Options and Select Intervals screens.
- Tidied up note volumes.
- Added another song.
Interval Recognition - Ear Train v3.42 - released 10.07.13
- Fixes bug where the only mode / scale available in Scale Technique is Ionian
- Added Action Bar for devices running ICS or later. Button to toggle between Listen / Guess and button to access settings.
Interval Recognition - Ear Train v3.4 - released 24.06.13
- Very basic speech recognition in Continuous Play. Say note names (without the octave number) for ascending or descending intervals. Also say Stop, Pause and Repeat. Later releases will improve accuracy of speech recognition and add support for phrases and scales plus add more commands.
- Message to say an interval was guessed correctly (after the first guess) is now white as opposed to blue to make it easier to see
- Updated AdMob to 6.4.1
Interval Recognition - Ear Train v3.35 - released 15.06.13
- Added more songs
- Interval Recognition Donate v3.4 - very basic speech recognition in Continuous Play. Say note names (without the octave number) for ascending or descending intervals. Also say Stop, Pause and Repeat. Later releases will improve accuracy of speech recognition and add support for phrases and scales plus add more commands. Speech recognition will be added to the free version of Interval Recognition in a future release.
Interval Recognition v3.33 - released 11.05.13
- Intervals and phrases can be based on list of specific notes.
- Intervals can also be picked from notes in a specific mode / scale based on a specific root note.
- Added Samsung Multi Window Support.
- Fixed bug where some songs were not being transposed / played correctly.
- Incorrect descending intervals are now replayed in the right direction.
- Fixed bug where Octave button wasn't being enabled again after leaving Scale technique.
- Improved error messages when midi file can't be created or played.
- Added new songs from requests on Facebook page.
- Increased height of bottom row of buttons (Repeat / Next etc) as they were a bit small and close to the back button on some devices
Interval Recognition v3.1 - released 13.02.13
- Added 20 more songs
- Song choices are saved
- Stopped dialog for select intervals for songs appearing erroneously after screen rotation or when app resumes.
- Options screen now gets the correct tempo again instead of resetting to 30bpm.
- When replaying an interval and a phrase after an incorrect guess - the interval direction will match that of the phrase.
Interval Recognition v3.01 - released 27.01.13
- Fixed force close if intent to check Text To Speech is not found.
- Fixed bug in Continuous Play when picking a phrase based on selected intervals as opposed to a mode or scale.
Interval Recognition v3.00 - released 21.01.13
- Added more songs to associate to intervals. Please request more songs on the Facebook Page or email me.
- Added Continuous Play - application will keep asking questions with a pause inbetween. Uses Text To Speech to announce the root note and the answer.
- Improved display on tablets. Made text in Toast messages larger on some devices where it was too small.
- Disabled button click sound effects
- Added Rate / Share and Donate buttons to the Info screen.
Interval Recognition v2.8 - released 05.09.2012
- Improved options for what is played after an incorrect answer. Separate options for intervals, clusters, phrases and scales. Option to play the incorrect answer followed by the correct answer to help hear the difference between the incorrect and correct interval.
- New logo designed by David Disbury
- Added Google Analytics.
- Added Google AdMob.
Interval Recognition v2.7 - released 01.07.2012
- Option to play a sound to signify a correct or incorrect answer.
- When identifying intervals in a cluster, it will follow the option to show a prompt after a correct answer after each individual interval.
- Option to show a prompt after a complete phrase or cluster.
Interval Recognition v2.52 - released 09.06.2012
- Fixed the Back Button.
- Fixed some bugs with harmonic intervals.
Interval Recognition v2.5 - released 07.06.2012
- Toggle between Guess and Listen by pressing the Android Search Key (or use the menu as before).
- Harmonic intervals improved to allow clusters of up to 9 intervals to be guessed with variable arpegiation speed. Long press Interval Type in harmonic when using harmonic intervals to set the number of intervals in the cluster and the arpegiation speed.
- If the SD card is unavailable, the internal phone storage will be used instead for storing the dynamically created midi file.
Interval Recognition v2.26 - released 01.10.2011
- Fixed a bug which affected earlier versions of Android caused by chaing the Build target when I added App2SD support. Thanks BugSense.
Interval Recognition v2.25 - released 01.10.2011
- Added a guessing scales or modes technique. Scales or modes can be ascending / descending / ascending then descending / descending then ascending.
- When listening to modes or scales the notes used in the currently played mode or scale are displayed
- Added BugSense crash reporting.
Interval Recognition v2.1 - released 04.09.2011
- Phrases can be based on modes / scales
- Long press Repeat button to play part of a phrase.
- Long press next to go to the next phrase instead of next interval.
- Added App2SD.
Interval Recognition v1.95 - released 05.04.2011
- Added Phrase Mode. Instead of listening to and guessing a single interval at a time a phrase can be played and the individual intervals guessed in order eg a 5 note phrase has 4 intervals.
- Changed background and highlight colour of buttons to increase contrast where current theme was using non-contrasting colours
Interval Recognition v1.75 - released 12.01.2011
- Added option to show a prompt when an interval was guessed correctly allowing the interval or associated song to be replayed before progressing to the next interval.
- The volume control now changes the "Media Volume" as opposed to the "Ringer Volume"
- Changed text colour on buttons
Interval Recognition v1.52 - released 08.11.2010
- Fixed bugs with incorrect note names being displayed for descending intervals
- Made "Listen" in menu change to "Guess" when in Listen mode so it can be used to go from one mode to the other
Interval Recognition v1.5 - released 23.10.2010
- Added songs that use each interval to help associate each interval with a song. Songs are played from the root note of the current interval. Option to play the associated song when an interval is guess incorrectly.
Interval Recognition v1.25 - released 16.10.2010
- Options and progress are saved
- Option for limiting the range of the root note to avoid it being too high / low or to practice a particular octave. Also allows the root note to be the same for each interval which makes comparison and learning easier.
- The name and octave of the root note is displayed for each interval so you can play along with an instrument
Interval Recognition v1.1 - released 02.10.2010
- Added intervals upto 2 octaves
- Option to sound louder by playing the same note several times simultaneously
Interval Recognition v1.0 - released 21.09.2010
- Plays ascending, descending and harmonic intervals upto 1 octave
- Options for tempo, velocity and instrument
- Listen mode to hear different intervals from current root note and compare to current interval
I am an individual developer working on this app (and others) in my spare time. Thanks for using / considering this app - I hope you find it useful.Google AdMob:
The free version of Interval Recognition uses Google AdMob to display personalised adverts.
From the 'Layout and Fonts' screen you can choose either Banner or Interstitial ads. If Banner ads are selected and there is no internet connection, the layout will automatically adjust and not waste space with blank adverts.
The Donate version does not display adverts but contains essentially the same code and references the AdMob library - but ads are not loaded or displayed.Google Analytics:
This app uses Google Analytics to give me an idea of how many users the app has, what features are popular and how long the app is used for.Android Advertising ID:
This is a unique (but user-resettable) string - similar to a cookie.
AdMob uses the Android Advertising Identifier to display personalised ads.
Google Analytics also uses the Android Advertising ID.
The Android Advertising ID is user resettable from the Google Settings.BugSense:
This app uses BugSense crash reporting. This will provide me with a stack trace (details of what the app was doing when it crashed) - which I will use to understand the problem, try to replicate it and hopefully fix it.
Along with the stack trace, I also receive some device information - eg device model, language, OS version, app version etc. This helps me understand the reason for the crash.Internet Connection:
The app works fine without an internet connection - except for maybe speech recognition in continuous play which uses the Google speech recognition service.Communication:
I welcome comments and suggestions - it is encouraging to hear from users - thank you. If you choose to contact me, I will try to reply in a timely manner. I will most likely contact you again some time later when I have released an update or to let you know about progress relating to your original question. I will not pass your details on to anyone else.Jump to section
How to use