HotPaw CW Morse Code Decoder Readme The HotPaw CW Morse Code Decoder translates Morse Code sounds into text, using the built-in microphone on your Mac, and including audio filtering and DSP signal analysis. The Morse Code Decoder includes a built-in spectrogram to detect the audio frequency of the Morse Code tones, and an optional narrow band audio filter to help filter out background noise. If the audio filter is enabled, the filter can be set for frequencies in the range of 400 to 1400 Hz. Click the spectrogram to set the audio filter to the desired frequency of signal. Checkboxes can be used to toggle squelch, AGC, filter and WPM modes. The Morse code WPM (words per minute) detection speed is automatically adaptive from about 8 to 40 WPM, and can be locked to the current estimated WPM dot speed (WPM lock icon locked). There is a High Speed WPM Mode which may work for code speeds in the range of 30 to 80 WPM, and which also supports higher frequency dot-dash tones. It may take several initial and immediately preceding characters containing both dots and dashes before the WPM speed estimation starts to get close to the actual WPM. Background sounds and signal fading can interfere with detection and decoding. The quality of detection depends on the signal level, signal to noise ratio, stability of the frequency and WPM speed, and keying "fist" quality. The characters that can be decoded include International Morse Code for the 26 letters A-Z, the numerals 0-9, period, comma, forward slash, and question mark. ********* ********* ********* ********* Helpful hints for those users who cannot get the Morse Decoder app to start decoding at all: The problem is likely to be a poor audio level, room echo, a tone frequency too high, too much background noise, or some tones or noise causing an unrealistic initial WPM setting at startup. 1) The red line in the waveform graph shows the input audio level. If the line is always at the top of the graph, the sound may be too loud to decode. If the line is just a little squiggle very near the bottom, the sound level is too low to decode. Thus you may need to adjust the volume on your radio to enable decoding. 2) Next to the waveform graph is an audio spectrum graph. If you can see a clear upward peak in this graph produced by Morse code sound, the audio filter can greatly improve decoding by reducing some of interfering noise. Use the switch to turn the audio filter on and touch the peak location (or move the slider) until the red cursor in located at the audio frequency of the code you want decoded. If the filter cursor is far from the audio frequency peak, decoding may not work at all. Thus, if the audio frequency of the code shifts or drifts, you may have to re-adjust the filter frequency. * If the Morse Coder tone frequency is too high, above 1.5 kHz, the frequency won't show up on the audio spectrum graph at all, and the decoder will think that this frequency of sound it is just radio noise. If so, you may have to tune your radio closer to the CW carrier frequency. The ARRL recommends a side tone frequency below 1 kHz. 3) On the waveform graph, if the red line is very spiky near the beginning or end of dots or dashes, the means you might might have your iPhone located where's there's a interfering echo in the room. This is actually more common than one might suspect. Try moving the phone or the radio speaker between a few inches up to 1 meter farther or closer to each other see if the room reflection spikes can be reduced, which will square up the tops of the dots and dashed in waveform graph. 4) If the first thing the app hears is some radio or room noise that fools the decoder into thinking it might be a dot or dash, the WPM setting may get initialized to a nonsense value. This is one cause of just seeing lots of letter "e"'s decoded. You can check the detected WPM at the top left of the waveform graph. If this value is off by more than 3X, it can take a very long time for the automatic WPM to correct itself. So, if the value looks too far off (high or low), please set the WPM to a value that is more reasonable to help the app start decoding sooner. If you can't guess the WPM of the Morse code sound, try 18 WPM. 5) When the level is determined correctly, the green line in the waveform graph should show the short dots and longer dashes that are being detected. If the green line is stuck high or low, but the red line show clear high/low variations, you can try using the manual threshold setting, which you can use to place the threshold halfway between the the high and low levels of the red waveform graph. 6) If the red graph show no clear high and low levels in the sound, there may just be too much noise for the decoder to reliably detect dots and dashes. ********* ********* ********* ********* Disclaimer SUBJECT TO ANY STATUTORY WARRANTIES WHICH CAN NOT BE EXCLUDED, HOTPAW PRODUCTIONS MAKES NO WARRANTIES OR CONDITIONS EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE WARRANTY OF NON-INFRINGEMENT AND THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE PROGRAM OR TECHNICAL SUPPORT, IF ANY. -- Version 1.2.8 Added support for decoding some International Extension characters. (b01) Version 1.2.6 Audio input bug fixes for some newer Mac models. Version 1.2.4 Minor fixes for Mavericks. Version 1.2.0 Added an option to use the Default Audio Input instead of selecting a microphone. Added an indicator for audio frequencies that are too high for optimal decoding. Improved audio spectrum graph resolution. Improved audio filtering. Improved auto-WPM-speed tracking. Improved auto-volume-threshold tracking. Version 1.1.6 Bug fix for some audio input sample rate issues. Version 1.1.4 Auto-threshold, AGC and Squelch bug fixes. Version 1.1.0 Added audio input select and manual threshold control. Version 1.0.0 (build 021) Initial release. http://www.hotpaw.com/rhn/hotpaw/ support email: rhn-support@hotpaw.com Copyright 2012,2014 HotPaw Productions and Ronald H Nicholson Jr. ALL RIGHTS RESERVED.