Little games to play with Morse Code in your browser
Feb 4, 2022 · 728 words · 4 minutes read
This is a pair of games for playing with Morse Code. Since the games play the signals as sound, I recommend headphones (wired if possible for the latency) and a low volume. Game options are available towards the bottom.
Morse Code Listening Game
In this game, it will play a word in Morse Code, and you have to type in the word.
How to play the listening game
As you hear the Morse Code, enter the letters (or words!) that you hear. Press Enter (either the button or on your keyboard) to see if you got it, and press Replay (or Control on your keyboard) to hear it again.
For doing Morse to letter lookups, I find it helpful to look at a tree-shaped diagram, where you can follow from one node to the next based on whether it’s a dit or a dah. Source
Morse Code “Speaking” Game
For the speaking game, it will show a word, and you’ll have to enter it in Morse Code.
How to play the speaking game
Press start to reveal the target. Enter Morse Code with your spacebar or the Tap button. Press Control or the Try Again button to clear your input and start over.
The game will assume you’re done with a letter after the letter gap interval (see options below), and it will automatically insert a space for you after the word interval; be careful you don’t take too long in between dits!
For doing letter to Morse lookups, I find it helpful to look at an alphabetical list with the matching representation. This makes looking up a letter faster. Source
Game options
After changing settings, you have to stop and restart the above games.
Difficulty
Speed
The speeds match the following from Wikipedia:
The duration of a dah is three times the duration of a dit. Each dit or dah within an encoded character is followed by a period of signal absence, called a space, equal to the dit duration. The letters of a word are separated by a space of duration equal to three dits, and words are separated by a space equal to seven dits.
Speed | Dit (ms) | Dash (ms) | Letter gap (ms) | Word gap (ms) |
---|---|---|---|---|
Slow | 300 | 900 | 900 | 2100 |
Medium | 200 | 600 | 600 | 1400 |
Fast | 100 | 300 | 300 | 700 |
Very Fast | 60 | 180 | 180 | 420 |
But, that being said, the Farnsworth method varies the intervals between the letters and the word gap instead of varying the length of the dits, dashes, or character gaps. It is more helpful for learning the sounds of each letter at a real speed you would hear it.
All times are in milliseconds. I recommend starting with slow and giving yourself plenty of time for the dahs, then increasing the speed as you go!
Issues/questions
Something went wrong?
You may need to refresh — it’s a little rough around the edges.
Something went wrong on iOS?
First, make sure your phone is unsilenced (turns out a silenced phone blocks the web audio APIs). You also may need to tap Start and Stop a few times, refresh, or start with the “speaking” game. I ran into an issue with initializing the AudioContext, and although I think I got it right, I’m sorry if it’s giving you trouble.
Why is it so quick with the spaces when listening?
Sorry, it was easiest to be super strict about the timing when making it. Try slowing the speed down or practicing to go faster!
How does it work?
You can read about it here, and you can see the source code here and here, though it’s very unpolished.
Any recommendations for learning Morse Code for real?
I’m far from an expert, but so far I’ve seen a few recommendations (thanks to curiousfab and SaberTail on HN):