Piping audio into RSCW

In my spare time, I’m still playing around with RSCW, the Morse code decoder program. One of the hurdles that I’ve finally overcome (Praise God!) was how to send sound to the decoder. It turns out to be pretty simple, it just took me a few tries to get it right.

You see, by default, RSCW has several examples and options for sound input. Since it is an older program, it was written back when Linux kernel still used /dev/dsp and /dev/audio, back when everyone was using OSS and only a few had switched to ALSA sound. I don’t think PulseAudio was even a thing, yet…. It could also use input from programs such as sox, converting wave files to raw sound data, or use it’s own noise and CW generator.

Obviously, it would not be practical to record audio and then use sox to convert it and send it over to RSCW, nor would it be helpful to generate my own Morse code with the noise program, since I want to get live feeds from my HAM radio. I don’t want to downgrade my Linux kernel or OS to go back to the old method of sound card control, and to be honest, I’m not sure I really could without wiping my current setup.

Fortunately, there was a much simpler answer: arecord. Arecord is a “command-line sound recorder and player for ALSA soundcard driver”. In essence, it allows you to create recordings of anything being played or input into your sound system from the command line. The great thing is, as it has command line support, I can actually pipe it directly into RSCW rather than record the audio.

So, as a test, I jumped onto Morsecode.world’s translator page, which can generate Morse code from your input, and pasted information from the PulseAudio Wikipedia into the text field. This started playing Morse code over my speakers, to which I then used arecord to pipe to RSCW! Here was the output:

alaskalinuxuser@alaskalinuxuser-OptiPlex-790:/etc$ arecord | rscw -w 20 --track
RSCW 20 wpm mode track 1 - 3999 Hz ( rscw -h for help)
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
S A SOUND SERVER THAT PROVIDES REALBTTIME0 LOW LATENCY TGIAKEAK 5 MILLISECONDS OR LESSTQ AUDIO PERFORMANCE AND0 SINCE JACK20 SUPPORTS EFFICIENT LOAD B^CAborted by signal Interrupt…
alaskalinuxuser@alaskalinuxuser-OptiPlex-790:/etc$

The command is pretty basic:

arecord | rscw -w 20 --track

Of course there are more options that you could use, for both arecord or RSCW. Of interest is that you can use arecord to send just one specific input/output rather than everything or the default. You can list the available options with arecord -L:

alaskalinuxuser@alaskalinuxuser-OptiPlex-790:/etc$ arecord -L
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
sysdefault:CARD=PCH
HDA Intel PCH, ALC269VB Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, ALC269VB Analog
Front speakers
dmix:CARD=PCH,DEV=0
HDA Intel PCH, ALC269VB Analog
Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
HDA Intel PCH, ALC269VB Analog
Direct sample snooping device
hw:CARD=PCH,DEV=0
HDA Intel PCH, ALC269VB Analog
Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
HDA Intel PCH, ALC269VB Analog
Hardware device with all software conversions

Now that I can accept input, now I just need to play around some more and see what I can do for speed settings for RSCW. It currently requires that you choose a speed, as it is not programmed to detect the speed of the signal. A Telegram user told me I should try “Fldigi”, so I’m going to take a look at that as well.

Linux – keep it simple.

Free QSO Logbook Sheets

As I begin branching out in the amateur radio world, I came to realize that I needed some form of log to capture my contacts. Of course, I found several log books available on Amazon and the like, but as this is a side hobby, I would like to cut down on costs.

There are also several computer programs to handle this, which also are free, in various forms, but the problem with this is that I did not want to be tethered to a computer while I am transmitting or receiving. So, I jump online and searched for any downloadable, printable QSO sheets. Surprisingly, I found none.

If you happen to find some, be sure to let me know in the comments.

However, if, like me, you want to just have some sheets to download and use for yourself, I’ve made a spreadsheet and PDF version that you can readily use and even modify for your own needs. You can download them here and print/use/edit to your hearts content!

Linux – keep it simple.

Chirp – programming a HAM radio

While this tool isn’t new for most HAM’s, it was new for me. It’s called CHIRP, and it is a programmer for your radio. More or less, it allows you to input channels, change settings, and download/upload content to your radio. All of these functions can be done from the radio head itself, but this allows you to do it in a nice python scripted interface.

Of note, however, is that the Ubuntu and Debian repositories have incredibly old versions of the program. So old, in fact, that it could not read the downloaded information from the RepeaterBook query that I ran.

If you run into the same issue, be sure to check out chirp’s website: https://chirp.danplanet.com/projects/chirp/wiki/Home with this great explanation of how you can add the PPA to your sources list and get the latest version, like so:

sudo apt-add-repository ppa:dansmith/chirp-snapshots
sudo apt-get update
sudo apt-get install chirp-daily

I will mention, if you already installed chirp from the main repository, you will need to remove it first before installing this chirp-daily package. Once I did that, it was smooth sailing!

As for how to use chirp, I learned it all from a Youtube video by David Casler. It’s a great video and very thorough.

Linux – keep it simple.