Thomas Martin, DF7TV, Stuttgart, Germany.

Back to DF7TV homepage

iCW - Internet CW

iCW[1], [2] allows for full duplex, QSK conversations using Morse code audio signals in Mumble[3] voice chat

PacmanDit by DF7TV


Windows 10 Setup for iCW (Testing)

I set up an iCW[1], [2] Mumble[3] client to connect to the iCW Chicago server; address: 216.52.148.10, port: 5360. An Audio Mixer, a RX-Path and a TX-Path are set up on a Dell M4800 Notebook (Intel Core i7-4900MQ CPU @ 2.80GHz, 16 GB RAM, Windows 10 Pro 64-Bit). A modification of the K1EL WK3 WinKeyer USB-SMT Kit[13] as presented in Morse Code Circuits is used to get a square-wave side tone signal out of the WinKeyer. This signal is provided to the TX-Path. For the connection to the Internet an Ethernet cable is preferred over Wifi. This setup is experimental.


W5UXH Charles M Broadwell has been so kind to help me.

My setups are to a large extent based on ideas presented in very nice videos by QRQcw / AAHW Charles F Vaughn on YouTube:

"Send & Receive Morse Code AUDIO over the Internet"

I am grateful for the support by AA0HW Chuck.


Audio Mixer


-- Select one or more local Hardware Outputs for Audio, switch Receiver CW Regeration ON/OFF --

Voicemeeter Potato[15] Advanced Audio Mixer Application is used to select one or more local Audio Outputs and to activate/deactivate CW Regeneration for reception.

Virtual Audio Cable: CABLE Virtual Audio Device[9] (for Mumble[3] Output / RX-Path)

For this setup I shut down Voicemeeter Potato before I shut down Windows 10 to avoid a Windows 10 "SYSTEM_SERVICE_EXCEPTION" stopcode.

Realtek Line IN - the Side Tone - is the selected device for Voicemeeter Potato Hardware Input 1

CABLE Output (VB-Audio) - the Mumble[3] Output - is the selected device for Voicemeeter Potato Hardware Input 2

A two-positions macro button "CW Regen" is defined within Voicemeeter Potato to switch CW Regeneration "ON" (using RX-Path - "strip[5]") or "OFF" (using the Mumble[3] Output provided via VB-AUDIO's CABLE Output - "strip[1]") for reception (by mouse-click on the golden macro button).

Several two-positions macro buttons for Audio Output are defined within Voicemeeter Potato to send the Side Tone (TX-Path) and RX-Output to the selected outputs - "bus[0] to bus[3]" (by mouse-click on the blue macro buttons).

A push macro button "Shutdown" is defined to shut down Voicemeeter Potato (by mouse-click on the red macro button) before shutting down Windows 10.

Voicemeeter Potato "Voicemeeter AUX" is selected in Windows "Sounds" as the standard playback device for Windows applications (Mozilla Firefox etc.).

Version: April 5, 2021

DF7TV iCW toggle audio output to speakers or to headphones

DF7TV iCW Potato Macro Buttons

DF7TV iCW Potato Buttons Definitions


Signal Shaping Filter


-- Morse Code Signal Shaping --

VST Plugins from RS-MET[6] within Pedalboard2 (32bit) VST Host[5]

This combination of three EngineersFilters (RS-MET[6]) 1 to 3 is used with identical parameters in the TX-Path and in the RX-Path. It proved to provide a well decodable Morse Code signal even for a switched square-wave input signal at CW speeds from about 20 to 60 wpm.

For a side tone frequency of f_s = 666 Hz, Filter 1 is a 2nd order bandreject (notch) filter (Bessel) centered at f = 2 * f_s with a bandwidth of 0.5 oct., Filter 2 is a 4th order lowpass (Papoulis[17], [18]) with cutoff frequency at f = 2 * f_s and Filter 3 is a 3rd order bandpass filter (Bessel) centered at f = f_s with a bandwidth of 0.5 oct. (The shaping filter input signal shown in pictures of the SignalAnalyzer is the square-wave side tone audio signal of the WK3 WinKeyer[13] (modified, see Morse Code Circuits) for DITs at 60 wpm and a weighting of 37).

Version: April 5, 2021

DF7TV iCW setup RX-Path

DF7TV iCW RX-Path Settings

DF7TV iCW setup RX-Path, VST


RX-Path


-- CW Regeneration --

Windows 10, Pedalboard2 (32bit) VST Host -- 1st Instance[5]

Additional VST Plugins from RS-MET[6], SocaLabs[7] and REAPER[8]

Virtual Audio Cable: CABLE Virtual Audio Device[9]

Version: April 5, 2021

DF7TV iCW setup RX-Path

DF7TV iCW RX-Path Settings

DF7TV iCW setup RX-Path, VST

DF7TV Mumble setup RX-Path


TX-Path


-- WK3 WinKeyer Side Tone / CW Regeneration --

Windows 10, Pedalboard2 (32bit) VST Host -- 2nd Instance[5], WK3 WinKeyer[13] (modified, see Morse Code Circuits) Side Tone Output

Additional VST Plugins from RS-MET[6], SocaLabs[7] and REAPER[8]

WK3 WinKeyer[13] Side Tone Frequency abt. 4000 Hz, "Weight" (Weighting) set to 37 to compensate for DIT/DAH prolongation by the Signal Shaping Filter EngineersFilter 1 to 3 at CW speeds from about 20 to 60 wpm.

External sound card: Behringer U-Control UCA222[16], Behringer ASIO Audio Driver 2.8.40. Driver available at DROPBOX -- for 32-Bit: [11] and for 64-Bit: [12]

RTL Utility[4] was used to measure the Round Trip Latency (sum of the Output and Input delays) of the UCA222 to be abt. 9 ms (at sample rate = 48000 Hz, audio buffer size = 48 samples and using the Behringer ASIO Audio Driver 2.8.40). The UCA222 has a low enough latency value (< 20 ms) for its use in the TX-Path. Using it I did not remark any delay between touching a paddle and hearing the local side tone. The UCA222 makes use of a Burr-Brown Stereo Audio Codec PCM2902[14]

Optionally W1HKJ's modem program flwkey[10] for the K1EL WinKeyer series may be used to decode the sent signal and for keyboard input

Version: April 23, 2021

DF7TV iCW setup TX-Path

DF7TV iCW setup TX-Path

DF7TV iCW TX-Path Settings

DF7TV Mumble setup TX-Path


References

[1] iCW - Internet CW: Introduction

[2] iCW - Internet CW: Groups.Google

[3] Mumble: Low latency voice chat application

[4] OBLIQUE AUDIO: RTL Utility - Tool for measuring the Round Trip Latency

[5] Niall Moody: Pedalboard2 VST Plugin Host

[6] RS-MET: EngineersFilter & SignalAnalyzer VST Plugins

[7] SocaLabs: ToneGenerator VST Plugin

[8] REAPER ReaPlugs: ReaGate-standalone VST Plugin

[9] VB-AUDIO: CABLE Virtual Audio Device (VBCABLE_Driver_Pack43)

[10] W1HKJ: flwkey - Modem Program for the K1EL WinKeyer Series

[11] DROPBOX: Behringer U-CONTROL UCA222 ASIO Audio Driver 2.8.40 32-Bit

[12] DROPBOX: Behringer U-CONTROL UCA222 ASIO Audio Driver 2.8.40 64-Bit

[13] K1EL WK3 WinKeyer USB-SMT Kit

[14] Burr-Brown: PCM2902 Stereo Audio Codec Data Sheet

[15] VB-AUDIO: Voicemeeter Potato Advanced Audio Mixer Application

[16] Sound Card Behringer U-Control UCA222

[17] Notes on "L" (Optimal) Filters by C. Bond, 2011 (pdf)

[18] Optimum L Filters - Polynomials, Poles and Circuit Elements by C. Bond, 2004 (pdf)


Modified: April 23, 2021.


Back to DF7TV homepage