I break ear training into 3 different categories:
- The ability to identify notes from hearing them. This includes hearing intervals, hearing what the note is within a key, or hearing notes from memory.
- The ability to tune pitches by telling if they are sharp or flat.
- The ability to imagine what the music will sound like from notes before ever having heard it or played it.
There are a lot of methods to attack each of these areas. These do all relate, but I found that it helps to treat them differently as I found that ability in one does not always mean ability in the other.
Identify notes from hearing them:
The main method for this is dictation and transcription. You listen to music, or tunes and or harmonies generated by program or just recordings. It helps to start with simple things and build on this as you get better.
The ability to tune pitches:
Singing with a drone really helps with this. You really feel how a tone fits against the tonal center drone by doing this. Also, playing something like a bass line on the piano and singing the melody, and the other way around, can help with this. A lot of intonation comes from the ability to hear the tonal center of the music and the harmonies. When you can internally hear harmonies and the tonal center you can tune accordingly.
Ability to "hear" music form looking at sheet music before it is played:
I believe sight singing is the best method for this. I strongly believe in using solfege, and fixed do solfege (as most people start to develop some sense of perfect pitch over time) is one of the best ways to do this.
You can first learn to sing intervals, and then simple melodies. When you can't "hear" an interval in your head before singing it you can fill in the notes between the current note and the next notes with scale notes (best to do them as quick grace notes if you can). If you are lost, you sing the tonal note (the note of the key that the music is in) and then do a scale up to the interval. Eventually, you won't need to sing these in between notes any more.
The above method of singing the tonal center or filling in notes is important. Don't play the notes on a piano before singing them because it should be coming from you and not the instrument. Worst case scenario, play the tonal center note on the piano if you get lost, and build up from there. Everything when you are learning this relates to the tonal center, not the previous pitch -- this keeps you from getting off among other things.
All of these skills, like playing an instrument, take time. Don't get discouraged, start with the basics in each area and move up as you get better. You start with simple intervals and scales. Then move on to navigating a key fluently. You then learn how to do transitions between different keys. Lastly, if you get advanced you work on stuff that is either atonal or near atonal. This process will likely take years, and is often something musicians work on throughout their whole life.