By Martin A. Minow, K6MAMPractice Morse Code witha Java AppletIf your computer has a sound card and can run Java applets or applications, you canuse the MorsePractice applet to lean Morse code or improve your code skills. If you canprogram in Java, you can take MorsePractice apart and put it to use in your own shack.hen I read the July 1999 issue of <strong>QST</strong> and found thatW10-year old Zane Wurble, W2YL, had passed the13-WPM code test—and then sailed through her20-WPM Amateur Extra test a few weeks later—I decided to do something about my terrible code skills. The“restructured” 5-WPM test is easy enough, but many of us want tomaster Morse at a much faster clip so that we can actually use iton the air.My real skills are in computer programming, so I took theobvious, if impractical, approach: I wrote my own trainingapplication. (Another reason for this decision is that I use aMacintosh and write in the Java language, putting me outside theWindows-centric mainstream of the ham community.)The program I wrote, MorsePractice, runs on sound-cardequippedMacintosh and Windows computers, should work onLinux (I haven’t tested this), and can be used as a stand-aloneapplication or an applet on any Java-enabled system that supportsthe “sun.audio” sound generation library. I’m also distributing thesource so you can adapt MorsePractice to your own needs, or pickout interesting pieces for some other purpose (just don’t sell mycode). You can also read the code to make sure I’m not trying tosneak a virus into your system!MorsePractice provides two kinds of training: random symbolsand random QSOs. The random symbol training emphasizes theKoch Method that teaches Morse Code symbols in a particularsequence. The random QSO trial generates a unique amateurcontact vaguely based on the ARRL code proficiency test.Learning Morse CodeWhile I am hardly an expert on Morse code, the Koch Methodappears to be a better approach than listening to code tapes. It wasdeveloped in the 1930s by Ludwig Koch, a psychologist at DieTechnische Hochschule in Braunschweig, Germany. The book byWilliam G. Pierpoint, N0HFF, The Art and Skill of RadioTelegraphy has more information, including references toProfessor Koch’s research. The MorsePractice Web page has linksto an online copy of N0HFF’s book.The Koch Method uses high-speed random code at all times.That way, the student learns the code patterns directly and doesn’tfall into the trap of trying to listening for a symbol’s individual“dits” and “dahs”. You will notice that MorsePractice neverdisplays a visual (dot-dash) representation of the characters.Training should never be slower than around 13 words per minuteto avoid learning the code by picking apart each character. After48 <strong>May</strong> <strong>2000</strong>all, when you read English, you don’t distinguish between “b” and“d” by isolating the vertical line and circle; you read the letter asa unit and, as you become proficient, read the words instead of theletters.To train using the Koch Method with MorsePractice, select“Random Symbols”, click on the checkboxes or the Koch trainingsequence to select the characters you want to learn, then select thenumber of minutes to train (the Koch method recommends 5minutes). I’ve been starting off with 1 minute sessions for the firstfew letters, but will increase this as the number of letters in thetraining set increases. To begin, click the “Start Trial” button.Write down what you hear. When the test completes, type whatyou heard into the text box and click the “Check” button. Whenyou can copy one sequence with 90% accuracy, add anothercharacter.MorsePractice has a clickable palette showing the charactersin Koch training order, making it easy to gauge your proficiencyand know what you need to do next.Figure 1—The MorsePractice window.
Using MorsePracticeWhen you start MorsePractice, you’ll see its main window, asshown in Figure 1. Here, I’ve set the program to use a Koch trainingsequence, with the overall code speed set to 13 WPM, but witheach Morse symbol sent at 18 WPM. The trial will run for oneminute.After the trial, you need only type the symbols you hear into thetext area and click on the “Check” button. The program compareswhat it sent to what you typed and displays a “confusion matrix”that shows you how well you did. In the trial shown in Figure 2,I managed 92% correct. The top line shows that MorsePracticesent an “S” that I heard as an “A” and that I’m clearly havingtrouble with the “L” symbol.If you select the “Random QSO” option, MorsePractice willsend a QSO that vaguely follows the format used in the codeproficiency exam. The message is fairly long and will give yourears a workout. Since you will probably be listening for content,the “Check” option, while usable, isn’t really useful. When thetrial completes, the program displays the entire text it sent so youcan check your results by hand.If you run the application version, you can also generatemessages from text files and write an audio file (in the Sun .auformat) with the generated code.Installing JavaWhile you can use MorsePractice as an applet at my Web siteat http://homepage.mac.comK6mam/, there are advantages toinstalling it as an application: you can save your current trainingFigure 2—My training trial result.Notes on JavaThe Java programming language is reasonably simple tolearn with fewer “gotchas” than C or C++ (and let’s not talk aboutassembler!). MorsePractice runs both as a normal applicationand as an applet: a downloadable code module that can run inmost Web browsers.While applications act like any computer program, appletsrun in a security “sandbox:” they can’t read or write files on yoursystem, for example. Since you can read the MorsePracticesource code, you can check that there are no viruses or “hiddenfeatures” in the program. Also, Java has a number of built-inprogramming safeguards that prevent many coding errors thatare common to assembler or C programs, such as scribblingover random bits of memory.While most recent personal computers can run Javaapplets, Windows and Windows/NT users may need to install aJava Runtime Environmen to use MorsePractice as an application.I’ve provided instructions in the article.parameters, listen to text files and save Morse code in sound files.If you don’t have Java on your personal computer, follow theinstructions below to install it. (Macintosh users are lucky: if youhave a recent system, everything you need, except Netscape Javasupport, should already be on your system.)Installing on MacsOn the Macintosh, you need MRJ 2.1.4 or later. It was distributedwith System 8.6 or later and will be installed when you do a normalsystem installation. If you have an earlier system or want to updateto the latest public distribution, you can install MRJ from AppleComputer’s Java support area. You may also install the softwaredevelopment kit if you want to modify the sources. I’ve testedMorsePractice on MacOS System 8.6 and MRJ 2.1.4 and 2.2. TheMorsePractice file is a self-contained double-clickable application;it’s all you need. You can download MorsePractice.hqx from http://homepage.mac.com/K6mam/MorsePractice/MorsePractice.html.When run as an applet, MorsePractice should work on theiCab and Internet Explorer browsers. Unfortunately, Netscapeversion 4 does not support the current Java release on the Macintoshand will not run MorsePractice.Installing on Windows, Windows/NTBefore trying to run MorsePractice as an application, first makesure that you have a suitable Java environment. You can get aWindows or Solaris distribution from Sun Microsystems and aLinux distribution from Blackdown.org. You can use the JavaRuntime Environment (JRE) or the Java Development Kit (JDK).The latter lets you modify MorsePractice. MorsePractice requiresJava 1.1.8 or later. On Windows/NT, I found that JRE 1.2.2 works,but JRE 1.2.1 had display problems. Here are step-by-stepinstructions for installing JRE on Windows.1.Point your browser at http://java.sun.com.2. At the bottom of the screen, click on the “Products & APIs”link.3. Click on the “Java 2 Platform, Standard Edition” link then,on the next page, click on the “Java 2 Runtime Environment,Standard Edition” link. This brings you to the http://java.sun.com/products/jdk/1.2/jre page.4. Select the “Java 2 Runtime Environment v 1.2.2-001Windows 95/98/NT Production Release” link. This is the minimalrelease, and doesn’t let you write Java programs. Look at otherreleases or purchase a third-party development kit if you want tomodify the program.5. Choose a download method, agree with the license, and save<strong>May</strong> <strong>2000</strong> 49
- Page 6 and 7: May 2000 Volume 84 Number 5David S
- Page 11 and 12: THE AMERICAN RADIORELAY LEAGUE INC
- Page 14: Get to Know Your Section ManagerThe
- Page 18: The ARRL and the FCC’s Private Wi
- Page 22 and 23: The postman always keys twice.Accor
- Page 26 and 27: CORRESPONDENCEYour opinions count!
- Page 30 and 31: By Ian Poole, G3YWXOperating in the
- Page 32 and 33: By Roger Sullivan, WA0ETE, and Hugh
- Page 34 and 35: By Jim Graver, KB8PSO2000Dayton Ham
- Page 36 and 37: Figure 1A—Schematic of the interf
- Page 38 and 39: All input/output connections are ma
- Page 40 and 41: Figure 4—Hanger loopconstruction.
- Page 42 and 43: Figure 2—A GOES-8 picture capture
- Page 44 and 45: By Steve Ford, WB8IMYPSK31 2000In e
- Page 46 and 47: the software, PSK31 tuning required
- Page 48 and 49: WORKBENCHPROJECTS AND INFORMATION F
- Page 52 and 53: the download to a suitable location
- Page 54 and 55: 52 May 2000SHORT TAKESHeil Sound Go
- Page 56 and 57: By Zack Lau, W1VTA No-Tune 2-Meter
- Page 58 and 59: HINTS & KINKSA FOLD-DOWN MOBILE-ANT
- Page 60 and 61: By James Kates, N9GBBConfessions of
- Page 62 and 63: PRODUCT REVIEWKenwood TM-D700A Dual
- Page 64 and 65: is accomplished by using OK, BACK a
- Page 66 and 67: other radio operation. The chatter
- Page 68 and 69: operation because there’s so litt
- Page 70 and 71: consideration in the WT Docket 98-1
- Page 72 and 73: News in Brief:• League members no
- Page 74 and 75: communications tests in celebration
- Page 76 and 77: I’ve done this tour several years
- Page 78 and 79: The Crystal Symphony at anchor off
- Page 80 and 81: Table 1Claimed North American Dista
- Page 82 and 83: Okay in My LogBy Vic Curtis,WA3YUVP
- Page 84 and 85: their 432 MHz triumph of the previo
- Page 86 and 87: 2000 ARRL Field DayRulesBy Dan Hend
- Page 88 and 89: Collecting Vintage QSLsOLD RADIOAn
- Page 90 and 91: DIGITAL DIMENSIONAPRS Digipeater in
- Page 92 and 93: AT THE FOUNDATIONWhy We Fund Museum
- Page 94 and 95: It is with deep regret that we reco
- Page 96 and 97: COMING CONVENTIONSARRL NATIONAL CON
- Page 98 and 99: checking; handicapped accessible; f
- Page 106:
of the West Allis ARC and served as
- Page 110:
introduced that could of had a bear
- Page 114:
211/109; NJN/L 29/203/103; CJTN 29/
- Page 118:
W1PEX 1048, WA1JVV 143, N1NH 105, W
- Page 124:
an activity we enjoy so much can be
- Page 128:
126He is President of the Amateur R
- Page 132:
is Walt Bacon, N6SMT, who is curren
- Page 150:
Ham Adsl) Advertising must pertain
- Page 154:
BAHAMAS RENTAL: Abaco villa w/stati
- Page 164:
“EVERYTHING FOR THE MORSE ENTHUSI
- Page 168:
TUBES WANTED: Highest prices paid o