First is Xcwcp
Qt frontend to unixcw
Xcwcp is an X-based interactive Morse code tutor program.
It lets you choose from a number of options for practice, including sending
random characters, random words, and characters from the keyboard. It will
also receive Morse code that you send using the keyboard or mouse as a Morse
keyer, and display the characters it sees.
Second is Aldo
Aldo is a morse code learning tool which provides four type
of training methods: blocks, koch, file, callsign.
Blocks: Identify blocks of random characters played in morse code.
Koch: Two morse characters will be played at full speed (20wpm)
until you'll be able to identify at least 90 percent of them.
After that, one more character will be added, and so on.
File: Identify played characters generated from a file.
Callsign: Identify random callsigns played in morse code.
For me, 2 apps is enough. One for X and one more for command line interface. The important is how to listen and sending the code. I still on my process to learn Morse code.