[Sulaiman Habsi] and two classmates put together a Morse Code interpreter as a class project at Sultan Qaboos University. The system listens to a morse code signal using a microphone, then translates that input to text which is displayed on this character LCD.
The breadboarded circuit feeds an audio signal from the microphone, through an OpAmp, to the ADC of an ATmega8 microcontroller. The captured signal is stored as a byte in a special way. The three least-significant bits signify how many total dots or dashes are contained in the character, the remaining bits represent those dots and dashes with zeros and ones. A full description of this process is included in a PDF linked in the article above. As you can see in the video after the break, the hardware waits to process all of the signals once the full message has been received.
This would be a great add-on for a Morse Code practice keyer.