Morse code at 25 wpm

For a while now, I’ve been listening to Chuck Adam’s (K7QO) code course. It’s a good, methodical course that first takes you through each letter, with a cumulative test after every second letter. You get lots of practice hearing each letter by the time you get to Z. I’m starting to recognize most of the letters up to K now.

The course sounds like it’s recorded at somewhere between 15-20 wpm. For most people that’s probably plenty fast enough but it’s just slow enough that my brain still wants to count the dits and dahs and then convert to the corresponding letter rather than just listen to the rhythm of the sound.

What I needed to do is convert or generate a new set of files that plays the code faster. With a bit of experimenting at, I found that 25wpm was where my brain stopped trying to count dits and dahs, letting me focus more on the sound of each letter.

A little bit of searching brought me to a program called ebook2cw by Fabian Kurz/DJ1YFK, who also happens to be one of the people behind From there, it was a trivial exercise to feed the answer files from Chuck’s code course into ebook2cw to generate a new set of audio files (OGG turned out to be about half the size of MP3) at a character speed of 25wpm and effective speed of 15wpm.

Here’s the shell script I used to generate the OGG files

for file in *.txt
  do /opt/bin/ebook2cw -O -p -o `basename -s .txt $file` $file;

Do this in the directory where you’ve extracted the text files from K7QO’s answers file and you’ll end up with a bunch of .ogg files. Then copy them to the media player of your choice (if it can’t handle OGG files, it’s time for a new player). If you insist on MP3 files, just drop the -O parameter. The file names will have some trailing 0’s tacked on before the extension (chapter numbers automatically added in by ebook2cw) but it doesn’t affect anything.