MORSE CODE TRAINER AND
SIMULATOR WRITTEN IN PYTHON
(2013-2016)
KLIK HIER VOOR DE NEDERLANDSE VERSIE
Screenshot of the program to learn and simulate Morse code.
Many variations. A simple QRP transceiver for portable use
during hikes or a professional key for in the shack!
Digitale mode. The computer does all the work werk and we are
looking very passive to a display to read what the decoder has decoded.
Simple Morse code transceiver with a key that you can clamp on your leg.
Start with only letters. These kind of random text can be made with the exercise program |
Later you will practice with all the characters |
For the decoding of the Morse code, it is important that you learn to recognize the characters as a kind of music. So do not convert them into dots and dashes, but directly hear that a .- is an A. You must learn to recognize characters as melodies. And after a while you will even recognize whole words at once without decoding individual characters.
A quick method to learn to recognize the characters as music is the Farnsworth method. In this method, the character is transmitted with a relatively high speed (eg, 12 WPM) and the spaces between characters and words are made much larger. This is possible with the exercise program with the Timing. With the exercise program you can create texts consisting of five randomly chosen characters and convert then to audio files that can be played with a music player. Start with the characters with 1 and 2 dots and dashes and extend it further and further.
If you are more experienced, you can also convert text into Morse code with the exercise program. I do copy parts of the daily news or other interesting stories. And then you can also add interferences, noise and fading. Here below are a few examples. I can play the WAV files perfectly on my smartphone with the Google music player. Because we only use low frequencies up to 1500 Hz, the sample rate of the WAV files can be kept low, 4800 samples / sec. As a result, the WAV files are reasonably small and the pitch of the noise is limited to a SSB bandwidth.
EXAMPLES:
Morse and noise
Morse and fading
Morse and interferers
Small Morse code transceiver, simple
and cheap but very reliable!
Save Setting and Recall Setting
As you can see on the screen, you can program all kinds of settings of the Morse and interferers. To avoid that you have to set them every time again, you can save and recall these settings.
Make Text
Herewith you can make training text as you see on the previous pictures. You can choose between letters, numbers, special characters or all characters. And you can select how many dots and dashes you want. So you can start with the characters with 1 and 2 dots and dashes and expand it. Save the text and make then a WAV file.
Sample Rate and Make WAV
The default sample rate of 4800 can be changed and text can be converted into a WAV file with the Morse code. Play it later on your smartphone (with Google music player for example) or your PC. Before you make a WAV file, you must first load the text with the button Load Text. Because we only use low frequencies up to 1500 Hz, a low sampling rate of 4800 samples is sufficient and are the WAV files reasonably small and the pitch of the noise is reduced to a SSB bandwidth.
Load Text
Before you make a WAV file, you have to load the textfile (*.txt) with this button.
Timing
You can set the Morse speed. A value of 0.1 second is equal to a Morse speed of 12 WPM. You kan also make the pauses between characters longer with the PAUSE multiplier.
Morse Modes
Press the button and you will see another mode on the screen. Mode 1 is the mode we normally use. The others are for simulation of modes used for QRSS Morse, a mode with very low power signal and slow speed. You can try if you can learn to decode mode 2 by ear. In this mode, the dash is replaced by a dot with a different tone height.
Morse Signal
The tone frequency and strength in % of the Morse signal can be set. You can also set a tone for the spaces. Of course we do not use it for our Morse code exercises, then we set the level to 0%. But for simulating QRSS Morse, a mode with very low power signal and slow speed, we do need a tone for the space. Usually the difference in pitch is less than 5 Hz. QRSS is decoded with a special computer program.
Fading
Fading can be activated. You can choose a fading frequency, slow or faster fading.
Noise and Interferers
Noise and interfering signals similar to Morse code can be added. Please note that the sum of the levels of all signals (Morse, noise and all interferers) is not more than 100%.
Signal Level
The level of the complete signal can be controlled. Not really necessary, might sometimes be useful.
When you are quite experienced, you will use a squeeze keyer. |
You can transmit very relaxed with it with a much higher speed during many hours. |
How further?
When you have become quite experienced, you will begin to use a squeeze keyer. It has two paddles. You can transmit very relaxed with it with a higher speed. Your thumb for the dashes, your index finger for the dots.
Unfortunately there are no coastal stations anymore that transmit news and weather reports in Morse code. But with the exercise program you can convert text from internet in Morse code and add noise and Morse code-like signals. It is as if you are listening at your shortwave receiver.
With my homemade 2 meter transceiver, I made the first contacts in Morse code! I had the first FM voice QSO only a month later. Great those always changing conditions. And even during bad conditions you could make QSO's across large distances with Morse code!
Portable during cold weather in a harsh winter landscape?
Then Morse code is the most reliable communication!
SOFTWARE
Before you are using this program, you have to install Python. That is very simple. But read first something about Python by clicking the following link:WHAT IS PYTHON AND HOW DO YOU INSTALL PYTHON
As the source code of Python is written in ASCII, it is very simple to modify the program to you own requirements. Think for example about the size of the screen, the colors etc.
Required Python version: