Skip to main content

qrss-ei: Software to transmit QRSS CW signals

Introduction

What is QRSS CW?

Very slow Morse code. In normal Morse code, the beginner's slow speed is 60 cpm (characters per minute), which is the same as 12 wpm (words per minute). At that speed, the fundamental unit, the "dot length", is 100 ms. In QRSS, the dot length is much longer, commonly 3 seconds or more. In other words, QRSS is Morse code with a speed of 2 cpm = 0.4 wpm or less.

Normal CW is on-off-keying. QRSS is commonly sent as frequency-shift-keying, with the "key engaged" frequency typically being 5 Hz above the "key released" frequency.

Finally, typical QRSS receiving software assumes that the QRSS transmission is repeated a few times each 10 minutes, preferably with exactly the same timing. This is used to "integrate" serveral transmissions so they can be fished out of the noise better.

QRSS is also very much a QRP mode. Typical transceivers put out a few 100 mW or so, some even less.

The waterholes for people interested in this mode seems to be

What is this project?

This software enables me to transmit QRSS signals.

Management summary: This is a programm that talks to rigctld from the well-known hamlib software package. The rig should be set to RTTY mode, which will cause a carrier to be sent whenever PTT is pressed. Alternatively, some other such mode can be tried (AM and FM would work as well).

No actual characters are ever emitted to be sent via RTTY. Also, this uses the "data" variety of "PTT", and as now data comes in, AM and FM should also send a bare, unmodulated carrier.

On each frequency shift, the PTT is briefly released, the frequency shifted 5 Hz up or down, and the PTT again pressed.

This is strictly a command-line utility. It needs only plain Python without any modules that need compilation. It does make use of the morse2sound software by the same author which already has the code to convert text into Morse code characters. But morse2sound is plain Python as well.

What do I use to receive QRSS CW?

This software does not help you to receive QRSS CW. To do that, I presently use Lopora.

Installation hints on that:

The Lopora instructions address unconventional installation targets. On my plain Python installation on my plain Linux Debian Laptop, I found I just needed an active virtual environment with this pre-installation:

pip install numpy pillow pyaudio

On my Debian Linux Trixie box, I'm using 16 (pipewire) as the "audio device for input". I set the input device actually used via the standard Gnome configuration.

Installation

Plain Python

uv

If you use the uv Python dependency manager:

  • Construct a uv virtual environment with uv venv
  • activate it
  • uv pip install qrss-ei

Metadata

Release files for qrss-ei 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qrss-ei 0.0.1
File Size Uploaded Provenance Actions
qrss_ei-0.0.1.tar.gz 9.9 kB Without provenance Details for qrss_ei-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qrss-ei 0.0.1
File Interpreter ABI Platform Actions
qrss_ei-0.0.1-py3-none-any.whl Python 3 none any Details for qrss_ei-0.0.1-py3-none-any.whl

Total release size: 18.2 kB

Release files / qrss_ei-0.0.1.tar.gz

Download URL qrss_ei-0.0.1.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9d7a846a619b1cd40ce454cdb6d14eea538883087e11b53d8a7f9e35316e154b
BLAKE2b-256 checksum
How to use checksums
ed6cd7a2b8a3bcca76413966d06301a1c95bb3ab18b540de620798d5816462fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / qrss_ei-0.0.1-py3-none-any.whl

Download URL qrss_ei-0.0.1-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42f92ef847504c64d885013a1375969d97a03c1fdd075079e38e8016f6ad3aad
BLAKE2b-256 checksum
How to use checksums
d849e9a241ff5ace08eb9ff3a4313bc2d1e1ab5f59930e7c58f8159ff4c4a606
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for qrss-ei 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page