Saturday, September 30, 2023

Long Island CW Club

When I was in Visalia earlier this year, I had the chance to listen to a talk from Bob W06W.  He was from the Long Island CW Club and he was there to talk about a device that helps people operate CW.

It was described as the Haptic CW device.

I will link to the information about the device at the end.  The intent here is less about explaining the device, but to write about the Long Island CW Club impact on my CW training.

Unlike the CWOps classes, the LICW classes are much more loose and freestyle.  I didn't have to register to visit the class.  I just needed to join at the right time and Zoom room.

And, in the class something distinct occurs.  The leader of the class, gives rather practical and interesting exercises for everyone to do together.   What I like about the format is that the classes do not 'break out into rooms'.  We stay together and listen and copy from each other.

In the last Intermediate-2 class (the level that I'm at), what the instructor did was show a graphic image of pet or animal and on the fly each of us had to send a quick sentence about it.  Nothing scripted, nothing pre-arranged.   Then the instructor asks who copied what that student sent.   We take turns and it's a fun way to practice copy and sending.

I'm of the opinion that it is best to 'learn by doing' -- and so real QSO with real people is my favorite way to practice.  Drilling on pre-recorded things is fine, but not as satisfying as working a real station on the air.

The other comment I will make is that something occurred during both the CWOps class that I am part of as well as the LICW sessions.  The remark was made that (paraphrasing) "When practicing with automated software like Morse Runner or the facilities in Learn CW Online ( what you want is to have errors that hover in the 20-30% range.   If your errors are less than 5% then real learning isn't happening.  When the errors rise to 20-30% then real learning takes place."

I had been waiting for a while to learn about better techniques in CW training and it has taken a long time to get to that kernel of information.  I guess in hindsight it seems obvious.      I can reflect on the world I'm used to -- the software development and engineering world -- we use the phrase "fail fast" which is a way of suggesting that getting a design implemented as soon as possible to see and experiment yields rapid corrections and refines the design.  By failing 'fast' we improve 'faster'.

The translation in CW-training is that by failing 'faster' we figure out what to work on faster and what to practice more diligently.

Just an observation.

As promised the link to the Haptic CW device.

Wednesday, September 20, 2023

Encoding MP3 for CW Practice

Pangram Audio Files

In my CW-Ops Academy class, we are learning to copy simple phrases and words.

Among those phrases are lines of text called pangrams.

If the word pangram is unfamiliar, I'm sure this is not:

The quick brown fox jumps over the lazy dog.

That's a pangram.

In the class we were given a list of them and asked to practice sending them.  I wanted to practice copying them so I used some software, and wrote some more to support that in order to make these encodings.

In order to share the knowledge for how to do this yourself, here are the steps below.

Just a note -- it will require a bit of technical know-how to get setup.  I don't have it all packaged up so nicely that it is a simple "application" to download.  You'll have to make the environment yourself.

I did so on a Linux system.  I'm sure it's possible to do this on Cygwin or even in Windows, but the steps for that are more complicated.   The key is that these tools are scriptable.   They are not GUI applications.  We cannot use the GUI application to batch process strings of text into MP3s.

The first step is to get the main software that can encode text into WAV files:  WAV files are not the final product we want, but we need the WAV files first.

(If you don't have git, then I'd reconsider this process.  It needs some skill in getting the software installed correctly.  If you've never used git, then you're likely not to have used apt, which means unless you want to do some additional homework, the process may frustrate you.  But you are encouraged to carry on if you wish.)

The tool we need is  a python script that someone wrote to convert text into WAV files.  Many tools can probably do this, but this one is very simple and command-line oriented.  We do not want a GUI application.

That tool is located here:

So, in Linux  (or any shell where you have git), clone the repo.

$ git clone

Don't use the software there yet.  We need another tool.  We need to get ffmpeg

$ sudo apt install ffmpeg

ffmpeg is a package that you can install on your system.

Once those tools are installed, here is how you can test them.

$ cd morse

That takes you into the directory of the repository you cloned above.

Then type this:

$ echo "hello world" | python3 -f 650 --fs 10 --wpm 20 -o input.wav

What that does is offer the string "hello world" to the python script

-f 650
--fs 10
--wpm 20
-o input.wav

Here is what they mean:

-f N   is to set the tone frequency (Hz) of the CW.   Choose N that correct for your use case.

--fs N  is to set the Farnsworth speed of the words.  The lower the value N, the more space there is between the letters.

--wpm N is to set the words per minute speed (this is effectively the character speed).  Each character of each word is timed to this speed.  If you are used to setting your "speed" dial on your radio for CW, this is that setting.

-o FILE  is to specify which FILE to use when writing out the resulting WAV file.

Usually it makes sense that the "wpm" speed is always greater than or equal to the Farnsworth speed. It doesn't make any sense that Farnsworth speed is greater than the WPM speed.

If you want the audio to sound like 25 wpm but the space between the letters and words is evident, then set a Farnsworth speed to about half of the wpm speed.  Make a file from that and then adjust the parameters to suit your need.

But you need that first file generated, let's continue.

Some systems may let you actually play WAV files as-is, and if that is the case, you can try to do that.
But this process has a second step which is to convert the WAV files into MP3.

We need the ffmpeg application to do that:

Here's the command:

$ ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k sample.mp3

This application ffmpeg has many options, we're only using a fraction of them.

-i FILE instruct ffmpeg which file to read from for the source audio file.
-vn  is a flag to block all video to be part of the result.
-ar is to set the audio stream sampling frequency.   44.1 kHz is about the sampling frequency of a typical Audio CD.
-ac is to set the number of audio channels.  We want to set two audio channels for left and right.
-b:a N  is to set the output result MP3 bitrate.  192k is perfect.  The human ear cannot really easily discern better fidelity beyond 192k for usual listeners.  Audiophiles may have better skill to do so, but 192k is plenty of data.

When that finishes, there will be a sample.mp3 file.

That's the result we wanted, the MP3 of the text.

The Morse software that was cloned has knowledge of a few "pro-signs" so you can be sure that if you use prosigns the encoded audio will sound right.

For instance. for BT use the = character in your text.  You'll get what you want.  If you use BT, you'll get the tiny gap between the B and the T, and it won't sound like the prosign of BT.

For AR, use the + character.  Same situation as with BT.

That's all there is to it.

What you can do next (what I did) is write software around this to automate the process so that I can generate a large number of encodings at different speeds without any manual command line invocations.

I'm sure if you got this far, you know exactly what you want to do next.

Good luck.

QSO Files

The other kind of encoding that you might want to do is one where two (or more) stations are involved.

The instructions above will produce a single MP3 at a given speed, and tone frequency.

What if you wanted to make a real QSO sound --- two stations, each with a different tone frequency and perhaps even different speeds.  You'll need to make several MP3, one for each passage (or send) of the whole QSO.

But what you'll have is a set of MP3 files, not one MP3 file that can be played from.. one file.

So ffmpeg can also help there.  After you've made the MP3 files of each "send" of the QSO then do this:

1. Make a file called manifest.txt

In the file manifest.txt list ALL of the MP3 files involved in the QSO

But they have to be in this format:

file 'vvv.mp3'
file 'cq.mp3'
file 'answer.mp3'
file report.mp3'
file 'response.mp3'
file 'tu.mp3'

In this example the file names vvv.mp3 (which is just a recording of the  string "VVV", nothing more), and the rest of the files are arbitrary.  You can name them however you want as long as that is the name you used when you generated the MP3 file.

And, most important, there is no rule or limit on how few or how many files make up the manifest.  In this example, I used six files.  You may use any number of files you want as long as the file names are listed as shown   file 'FILE'   The single quotes is required.  

You don't necessarily even need to name the manifest file manifest.txt.  You can name it whatever you want as long as you use the same filename in the next step 2.

2. With the manifest made, and the constituent MP3 files already made as shown above, then use ffmpeg to concatenate the audio files to make one MP3 file.

$ ffmpeg -f concat -i manifest.txt sample.mp3

As you can probably guess, the tool uses the manifest.txt to iterate over each file to concatenate and then produce a final product sample.mp3 from that.

So going back to your challenge of making the QSO -- that is where the selection of the TONE frequency is important if you want to differentiate one station from another.   Even slightly different speeds can help make the QSO sound a bit more realistic.

Monday, September 18, 2023

New Key

I was holding off buying a new key.

After Salmon Run I decided that it's time to get a fine key so I'm ordering a N3ZN iambic paddle.

Working out the details now.  

Sunday, September 17, 2023

Finished Salmon Run 2023

I'm in line at the Kingston Ferry, the route reduced to one boat, instead of the usual two. I'm leaving the west side where I spent the weekend operating with Rusty, W6OAT during Salmon Run 2023.  I thought I'd drop a quick note before the Ferry starts to load.

Far and away the best experience contesting this year.

It had been on my calendar since 7-QP and with all of the MST contesting as well as other state QP's the copy-practice paid off.

I cannot comment directly on the score -- I don't know precise numbers.  But we did as good as we hoped we would.   Some highlights:

  • We got to work K7TQ (Randy and Mike N7WA) on each of the counties they travelled -- many times on multiple bands.  Fantastic!
  • A lot of the WWDXC members were in the log too.  N7SS -- we worked Dan I believe on all the bands 160-6.  "7-Band-Dan"  And for a lot of other members, we worked them on several bands during the contest. K5EM, WA6CPA, and a whole long list.
  • The DX was great. 9N7AA was a good contact, and I believe we made contacts across all the continents except for Antarctica.
  • The SAC provided a lot of good DX.
  • Rusty and I chuckled at the spot-networks -- the Canadian provinces we really needed were skimming our signal routinely.  But no VE6's or MT's to be found!  Still we did reach into a VE2 late in the contest and that was great.
  • About mid-way through the contest we re-mapped some of the Macro-keys to ask "QSY up?" essentially trying to get some contacts on 6m and 160m.   It was fun when we'd get a bit of tracking on that.
  • Our friend NN7SS also gave us some Q's -- and that was fun since the last time I heard NN7SS was when I was operating it for RSGB IOTA in July.  Mark, K6UFO -- thanks for the QSOs!

It was a lot of fun and I appreciate all the hard work that went to prepare the contest.  I'm especially thankful to Randy and Mike for taking a ride through eastern Washington for two days+ to give us those Q's.   Thanks guys!

My thanks to Rusty and all the help and guidance.  We had a great time.

There's probably more that I could say and I'll leave room for that when the score gets posted.   Thanks again for the QSO's and QRS to my speed.  

Another big contest is just around the corner:  The California QSO Party.

Until next time..  73 and GD DX. 

SR goals

We had a few goals to strive for:

All the counties (39)
Work all States
Work all of the Canadian Provinces
1000 Q

We reached one of them. 😊

About hour or less to go.  Rusty is mopping things up on the bands.  We're in good shape.

I'm very much looking forward to posting the scores.  

Making Qs

The rate is getting sparse now on the second wave of the Salmon Run.

We'll have to keep picking out stations.

Hoping to get the Canadian east provinces and 5's and 6's.

Near the end of Day 1 - Salmon Run

The Run for day 1 is almost over and we're doing great.

Far exceeded our 7-QP numbers for the first day of Salmon Run.    Highlights were to use 160 meter antenna and also the 6 meter beam for the Salmon Run.   

We managed to log way more DX than we needed -- we had the maximum countable DX within the first few hours.

The state count is still missing a couple and we're shy a handful of counties.

But we expect to round out those numbers tomorrow morning.   As long as the CME that was expected to brush by doesn't make it too much trouble.

On the plus side, I got to work the station for most of the time and even ran the speed about 23 wpm for most of that time.  And several calls I could copy without the check from Rusty, but I still relied on his ear.  It was a team effort!

Practice is what this is.

A fun day!

Saturday, September 16, 2023

Salmon Run 2023

Rusty W6OAT and I are well into the Salmon Run today.

About six hours left in the first session before the break.

We're working all the stations that will give us multipliers and add to the score.

The bands have been relatively good, except 20 meters a bit noisier.  All together, a great Salmon Run so far, but we have many hours to go.

The adventure started on Friday afternoon when I took the ferry from my home QTH across the sound to Kingston and then travelled to Rusty's QTH.

We spent the evening going over our plan for SR and talking about the stations we want to work, and the rovers we knew of that would be in the Eastern Washington counties that are more difficult to hear.

After the setup was done, we worked on the N1MM macros and then setup the audio chain so we can both hear the signals at the same time when one of us is working the key.

I brought some hardware to allow us to use my key (Bencher BY-1) and Rusty could use his Vibroplex without any cable changes.   

In the evening Friday we played on the radio -- and I worked a handful of DX with his station using my call.  The feature I love about his station is the KPA and the 4 element SteppIR that lets us put the gain where we want.  Really nice setup!

The goal we established was to simply have fun.  We're up against some good competition for Salmon Run so it is going to be challenge to work numbers to get to the top of the list.  But that's not as important as having fun.

Although it's a bit fast, I set the key to work 23 wpm -- I can just about copy most call signs there, but Rusty is there to help always make sure we copied it right.  When Rusty's working the key, we run a bit faster, around 27-29 wpm and that really moves us along.

Well, back to the contest.  Just thought I'd give an update.

Thanks for all the QSO and QRS.   We have more multipliers to go!   Looking for those East coast Canadians and a few K States that would help us round out the list.

Friday, September 15, 2023

Mea Culpa

On the CW-Ops Groups page I made a mea-culpa saying that in effect I had been using decoders for some of my contesting -- when the speeds were 28+ , and that I had to come clean.   I had already turned off the decoder, but the catharsis in the apology was important to me.

Anyway, then I get an email from CW-Ops editor to use the parable in the next Solid Copy issue.  And they did.   

Page 8.


Monday, September 11, 2023

All good things

I thought that my procrastinating in 2011 would make my QSL from ZD7 go unanswerable.  Mail to ZD7 is tricky.

17m, SSB

What a surprise in the mail today.

12 years...

Saturday, September 9, 2023

This week has been one

This kind of week was a killer.  The work at the office was neck deep and we had a lot of things going on.  So I was relieved when the weekend rolled around and I would fine time to be on the radio.

The contest calendar had two events that interested me.   The FOC contest and the Alabama QSO Party.

I've wanted to participate in the FOC "event" (it's not actually a contest).  So I dug up the rules and looked over what the exchange was supposed to be.

Now that I've been using N1MM for a lot of things, I've learned how to pull up the Call History files of a contest (a very valuable resource) and I tune my function-key macros to be simple.

I didn't get a lot of contacts in the FOC.   I was sort of distracted actually.  My shack has been established for a while since the big move from the out-building to the space in the garage.  I have it pretty much the way I want it.  Simple.    I don't have a tower of radio's on shelves like I used to.  

I just run the K3 with the new KPA-500 and the KAT-500 connected.  I went back to my original MFJ-25A power supply (I have a decent high power DC supply, but I need to re-wire the garage to run it).

I still have the IC-9700 to setup and the rotator for the satellite antennas to build.  It seems that the shack move has so many moving parts.    I was also thinking that the S.A.T. device I bought with the I-9700 needs to be figured out.  Apparently this little device does all of the work to track the bird (satellite).  When I used to run working satellites, I had to manually track the Azimuth and Elevation by hand.

But as I said, I was distracted.   The surface of the bench I built had a plexiglass cover.  I put the Yaesu map of the world under the plexiglass so I have a rough guide of some of the Zones and Prefixes.  The other day during my CWOps class, the topic came up of Belarus and I thought the prefix was EW?  So I looked at the map and the map seems to be out of date !    I couldn't find Belarus on the map.    It was part of the Soviet Union then, I guess.

I wish Yaesu would update that map they produce.  There's not a map like it (the font and color selection seems good and easy to read).   But I will look online for a new map anyway.

Ever since I put a 24 hour UTC clock in the shack, it has been nice to be able to glance up and see when things are supposed to happen (contest wise) -- and the built in thermometer is nice too.   I haven't had to turn on the furnace in the garage all summer.  I installed one in February and it is ready.   As Fall starts to progress, it may be necessary to use it.

The real distraction was just that I've been overloaded.   I have a big contest coming up -- Salmon Run and I am very excited about this contest.  I'll be pairing up with a new friend of mine, Rusty W6OAT and working at his station.  We'll be using his call-sign.   But I think I'll be operating for a lot of the contest.  Of course Rusty has the good ear for CW (excellent ear for CW, no kidding around here).  I'll need his help in a lot of ways.

But it's Saturday night and although I'm a bit wiped out, I was planning on just getting some sleep.   Yet, on the night-stand was a copy of The Complete DX'er.    One copy of many.   My first copy I bought was the 3rd edition and for some reason I loaned it or it went astray during a office move.  I just don't know what became of it.  So I had to buy a second copy (2nd edition) and I put that in a book cover and it doesn't leave the shack.   But, the other day I was looking for it and I just forgot it was in a brown paper bag book cover and I overlooked it.  I panicked.   Where did that book go?  Did I lose another one?   So I went online and found a retailer who was selling a 1st edition, but for $13.   A bargain.   Seldom do I see it sold for less than $50.   So I snapped it up.

Why is the book so important?   Well when I read it, it's like talking to an old friend in ham radio -- retelling the same advice again, and the way Bob (W8KNI) writes the book, it's so easy to read.   As it happened I was about to call it a night, read a little and then go to sleep.  But the first chapter (again) got me excited about chasing DX.  I wondered --- I bet there is some DX out there?   I told the XYL -- "Oops, not going to bed after all."  She was up anyway doing some chores herself and my late night radio work doesn't phase her at all.  Especially on the weekend.   I even made a "Hotel-like Do Not Disturb" sign that I can hang on the garage door handle -- that sign means "If you can avoid it, don't interrupt with questions."   It isn't absolute, but it at least lets me avoid any awkward problems when I'm in the middle of a CW QSO.

So, I put the book back down, put my shoes back on and made a fresh pot of coffee (Just like Bob) and now the radio and amplifier is warmed up.

I'm going to find what is on the band and if nothing is there, I'm going to try to scare up some DX with CQ -- in CW of course.

Today I re-sorted the ham shack a little -- I went to the local TAP Plastic and ordered a sheet of 1/4" plexiglass that is 8 feet by 22 inches.  It now covers the entire working space, not just the radio area.  It looks a lot better and I can put more maps and reference material under the sheet now.


The reason why I wanted the book the other day was due to a concern about the CW Ops class.  We are learning about QSO and Stories.  We're asked to listen to QSO and Stories (MP3 files).   We were also given a set of Pangrams (sentences that have words where all 26 letters are used in the sentence -- The Quick Brown Fox Jumps Over the Lazy Dog, etc..).

I decided to write some software to convert the Pangrams we were given into MP3s.  So I did.

You can find them here:  Pangrams from CW Ops

Then I decided that I'm going to convert all of the funny/instructional "QSO" from Complete DX'er into MP3's as well.  That's still in work.   But I'll finish it soon.

Tomorrow I need to get to the shop and machine parts for Rob, N7QT -- I need to make him some 'cap hats' for the fiberglass masts he's taking to H40.   But that can wait until morning.

For now, the coffee has finally stopped dripping and my cup is ready for a night of DX'ing.

Monday, September 4, 2023

Worked the Guy

Well, that's just perfect.

I need more practice on CW rag-chew.  The CWOps Intermediate Class I'm taking started last week.  We're going through the intermediate level -- where I need the most help -- just copying story's and long-form QSO type conversations.

I'm not a huge 'rag-chew' sort, but if I can carry a conversation in CW that's an improvement.  

I set my coffee to the side, tuned to the range where the CW Ops Academy people hang out and started calling CQ.  Had a couple calls and then got a strong signal from 6-area.

I get a call from N6KR and I knew the call sounded familiar -- At first I thought it was one of the CWOps regulars (and it may be, I need to check the logs).  But just as I'm writing out a QSL card I realize who it is.

Not often you get to work another operator who made some excellent equipment -- and using his radio design too.

That was a lot of fun and I hope to work him again and maybe Eric too, hihi.

At any rate, that was just what this was supposed to be.. a lot of fun and surprising.


Winning Attitude

The slump in my scores can't be due to propagation, oh no....

"But, where is donut?"

Sunday, September 3, 2023

Working Tennessee

I was really excited about working TN QP.

Great state and great operators.

Except, not much on the bands.   Only 30 mults so far and 4 hours to go.

Things happening

It has been a busy few months since I hung up my software-spurs. On deck -- DX'pedition for Lord Howe Island Lord Howe Island (July 202...