I'm working on learning Morse code, and I'm looking for a way to use my computer as a practice oscillator with a double paddle key.
I'm using a Linux PC, but a Raspberry Pi solution would be cool to. I do have a USB Serial adapter.
This page appears to be what you're looking for. This technique uses the Linux LV2 plugin. You'll have to build an interface with a 555 timer chip.
SETUP: an UltraPico Keyer, keys a 555 TIMER CHIP..from the audio output of the 555, an audio cable is attached and goes to the input of a laptop's mic jack input...the 555 time chip sidetone is very rough sounding with lots of high pitched harmonics and key clicks...INSTEAD of trying to filter the 555's raspy tone, this video demo's using TRIGGER MIDI MONO to recreate the original 555 sidetone cw element and then a LINUX LV2 PLUGIN called TRIGGER MIDI MONO keys another CPO, a software code practice oscillator synthesizer called SIMPLE SINE GENERATOR(lv2 plugin)...this SIMPLE SINE GENERATOR has zero rise or fall time and therefore has loud key clicks...so those need to be filtered out....by another LINUX LV2 PLUGIN called CALF FILTER...calf filter does a great job of taking out all the harmonics and key clicks and produces a nicely shaped cw element audio waveform output
Previously, this CW REGENERATION technique was accomplished using WINDOWS VST PLUGINS, or a non free app called LINUX NATIVE REAPER. After discovering this TRIGGER MIDI MONO plugin for LINUX, this CW REGENERATION technique can now be utilized with ALL FREE LINUX APPS ...
NOTE: familiarity with KXstudio, and his LINUX JACK AUDIO APPS for Linux is necessary in order to understand fully, the method that is being demo'd...there are more videos in this QRQcw youtube channel to learn more about JACK AUDIO for LINUX/windows/mac and the Raspberry Pi....
NOTE: MIDI DATA MESSAGES, of NOTE ON and NOTE OFF are used to instruct (key) the software code practice sine wave oscillator APP called SIMPLE SINE GENERATOR. (there are other LINUX audio plugins that would also work like AMsynth) -https://github.com/amsynth/amsynth
MIDI DATA MESSAGES - WHAT IS MIDI ? http://www.instructables.com/id/What-is-MIDI/
Here is a solution that has been tested and works on Ubuntu 14.04 LTS.
The paddles connect via a standard FTDI-based USB-A Male to DB9-Male Adapter cable.
(Note that this shows how the Paddles are wired to a DB9-F which plugs into the DB9-M on the Serial-to-USB Adapter cable)
For reference, the traditional pin assignments for DB-9 serial is shown here.
This video demonstrates a method to hook up your cw paddles, key and bug to your Linux computer.
Dahdidah is the application chosen to perform the software cw keyer functions.
A USB TO SERIAL PORT ADAPTER is used to interface the morse code instruments directly to the serial port pins to "key" Dahdidah.
Jack Audio is the Linux sound engine used, with KXSTUDIO's CARLA and CADENCE.
Dahdidah uses the serial port to "key" its CODE PRACTICE OSCILLATOR sound system.
Dahdidah will use the WINEASIO - ASIO DRIVER - for the best audio production with near zero latency.
HERE IS A LIST OF THE BASIC STEPS.
DOWNLOAD the DEB FILE to get the KXSTUDIO REPOS
DOWNLOAD KXstudio's CADENCE
DOWNLOAD KXstudio's CARLA-GIT et al,
DOWNLOAD KXstudio's META-WINE package
DOWNLOAD KXsutdio's WINEASIO
important: REGISTER WINEASIO
get your USB TO SERIAL PORT adapter working and ready to go on boot up
link your new ttyUSB0 SERIAL PORT ADAPTER to WINE
DAHDIDAH PDF MANUAL: http://qsonet.com/doc/dahdidah.pdf
AUDIO DERIVED CW KEYING CIRCUIT to key your rig
I was also looking for a "pure" GNU/Linux solution to have (straight) morse keys generate sidetones, but unfortunately I gave up and I'm now using a Windows software which I installed with Wine on Ubuntu 19.04:
If you already have a serial-to-USB adapter with FTDI chip plus a DB9-to-audio cable (like SDsolar mentioned them) to connect your key to a PC, you're fine. If I connect the FTDI adapter to my PC's USB, a device
/dev/ttyUSB0 shows up.
In my case, Wine provides several symbolic links
$HOME/.wine/dosdevices/com* pointing to the serial devices
/dev/ttyS*, and once I plug the adapter in, a symbolic link
com33 is created which points to
/dev/ttyUSB0. I always rename that link to
com1 to be able to use it in the emulated environment. Since Wine sometimes renames it back, there seems to be a configuration option in Wine for these links: (source)
To override Wine's default device mapping, run
wine regeditand create string entries in
HKEY_LOCAL_MACHINE\Software\Wine\Portswhere the entry name is the Windows device name and the entry value is the path to the Unix device. Continuing with the above example, to make COM1 the first USB-attached serial port, create an entry with the name
COM1and the value
/dev/ttyUSB0. [...] After editing the registry, shut down Wine with
wineserver -kand the next time Wine runs a program, your changes will take effect.
The actual CW practicing software I use then is CW Communicator or CWCom. This is an old and disappearing client to connect to an Ionosphere network to communicate in CW over the internet. However, it doesn't require network for practicing alone. In addition, it has a very good Morse decoder built in. You can find an archived download link or can also directly download from here. This second link is provided by the Austrian CW society, OECWG, who still use this software for teaching.
Once you launch the program, you should see a black rectangle in the upper left corner of the main window. If you click on it, you should be able to hear a sidetone while holding the mouse button down. You can configure its frequency in the settings. To trigger sidetones with your key, open the configuration window and go to tab "Morse Key". Change the "COM Port" number to the one that points to your USB device, and then switch the "Morse Input" radio button to "COM Port". If it stays selected, try triggering your key. You should hear a sidetone. The decoder and the statistics window will help you making your Morse characters right.