qrq is an open source Morse telegraphy trainer which runs on several operating systems (Linux, Unix, OS X and Windows), similar to the classic DOS version of Rufz by DL4MM.
It's not intended for learning telegraphy (check out LCWO or have a look at radio.linux.org.au for CW learning software), but to improve the ability to copy callsigns at high speeds, as needed for example for Contesting.
Using qrq is simple: qrq sends 50 random calls from a database. After each call, it waits for the user to enter what he heard and compares the entered callsign with the one sent. If the callsign is copied correctly, the speed is increased by 10cpm / 2wpm and full points are credited, if there were mistakes in the callsign entered, the speed decreases by 10cpm / 2wpm and (depending on how many letters were correct) only a fraction of the maximum points are credited.
A callsign can be heard again once by pressing F6, hitting F10 aborts the attempt. The previous callsign (before the current) can be re-heard by pressing F7.
The possible speed ranges from 20cpm (4wpm) to infinity, the initial speed can be set by the user (in ~/qrq/qrqrc or in the settings menu, F5).
Additionally, there are several training modes available. Arbitrary databases of callsigns or words can be loaded, it's possible to practice at a fixed speed, etc.
There is a simple toplist function in qrq which makes it possible for the user to keep track of his training success or to compare scores with others.
A small Perl script (qrqscore) can be used to upload your best score to the the qrq toplist, and to synchronize your local toplist with the online list. If Perl is not available, scores can also be sent by email to the author.
Note that there is no checksum or other mechanism to verify the scores, it relies on your honesty.
As of version 0.0.7, the toplist file also includes a timestamp of the attempt, which makes it possible to keep track of your training progress. Pressing F7 generates a graph score vs. date. (Gnuplot required, not implemented on Windows)
Additionally to the toplist, a detail summary file for each attempt is saved in the "Summary" sub directory (on Windows: in the qrq directory; on Linux: in ~/.qrq/), containing all sent and received callsigns, speeds and points.
Here's an example: DJ1YFK-20190507_1941.txt
All settings are saved in the configuration file qrqrc (in the current directory or ~/.qrq/ on Unix). You may edit it before running qrq for the first time, but most settings can also be changed in the configuration menu (F5, also works during attempts).
Special care has been taken of the CW tone generator. In order to avoid key clicks, the CW signal edges are formed as a raised cosine impulse. The rise- and fall times can be set individually to any value (in milliseconds); an adaptive mode allows to use different times depending on the current speed. This graph (produced with GNUplot) shows a dash at 500CpM/100WpM with 5ms rise time and 15ms fall time (too much for real CW, just for demonstration purposes), at a samplerate of 44.1kHz.
OSS, PulseAudio, Core Audio (OS X) and WinMM are supported methods for sound output.
Of course qrq is free software (free as in beer and free as in freedom) and published under the GPL 2.
The current version is 0.3.3 (May 2019) and can be found in the download directory and in git: https://git.fkurz.net/dj1yfk/qrq.
qrq is also available as a package in different formats, thanks to the work of the respective maintainers.
|FreeBSD port||ports/comms/qrq||Diane, VA3DB|
|Debian deb||qrq||Debian Hamradio Maintainers|
|Ubuntu deb||qrq||via Debian|
|Ubuntu snap||tbd||FanJun Kong, BH1SCW|
|Mac OS X||qrq-0.3.1.dmg||Xie Yanbo|
|Mac OS X||qrq-0.3.3-osx||compiled binary|
qrq was written by Fabian Kurz, DJ1YFK <firstname.lastname@example.org>
Marc Vaillant, KB1OOO contributed code to make it work under Mac OS X.
Lukasz Komsta, SP8QED contributed code for the native Windows version.
I am always interested in any kind of feedback concerning qrq. If you have any suggestions, questions, feature-requests etc., don't hesitate a minute and contact me at email@example.com.