This video is demo’N a setup to create a custom QRQ CW sine wave, raised cosine edged, ‘keyable’ oscillator
There are already 2 excellent programs for LINUX for a software QRQ CW KEYBOARD… FLdigi and TWQRQ...however, neither one of them are ‘keyable’ - this first video in a new video series on “QRQ CW OVER 100 WPM” uses Fldigi as a tool to build a new software QRQ CW pure sine wave, raised cosine edged, ‘keyable’ oscillator...that you can adjust weight both by TIME and by PERCENTAGE…you can also choose the raised cosine ‘window’, adjust pitch, volume, Q, bandwidth etc… NOTE: at QRQ CW over 100 wpm, many of the cw element parameters become critical for good copy… for example, the edge noise, in spite of the cw element having an 8 ms rise and fall time, increases with cw speed and must be reduced...the edge noise can get so loud as to be 50 percent of what you hear… the VSTs filter it out very well...
NOTE: headphones might be needed in order to hear the subtle cw edge changes
NOTE: only one speaker output is used for the video, to prevent 2 speaker phase issues while listening....you can use a STEREO to MONO adapter if you need to hear this video on both speakers..
first a 1000 hertz tone from Fldigi’s RT QSK CONTROL RT CHANNEL audio output goes to the input of the VST HOST’s first VST PLUGIN, a bandpass filter...which is centered at 1000 hertz...the volume of its output is CRITICAL to get the weight by TIME to work in the following plugins… [ - 1.74 db in this setup ]
the bandpass filter connects to the first REAGATE VST Plugin, where again the threshold volume(-.2 db) is critical to get the weight by TIME to work on the next plugin...another REAGATE…
the 2nd REAGATE PLUGIN is used for adjusting the WEIGHT BY TIME on the CW NOTE...the threshold slider in the middle is set to clone Fldigi’s weight and if you raise the threshold slider higher...you get lighter keying...if you lower the threshold slider you get heavier keying…
the next VST PLUGIN is called “sineCW” and is the heart of the system...where the 1000 hertz tone is used to create a new “cloned” cw element..sineCW lets you adjust the CW PITCH, VOLUME, bandpass filter bandwidth and Q, and rise/fall time
the final vst plugin is called the ENGINEERs FILTER, where we remove any remaining edge noise and select the filter ‘window’ to your preference...each window sounds a bit different...and allows more or less edge noise to get through to the audio output…
a text file from TOM’s, W4BQF, article about copying CW OVER 70 wpm is used...and demoN some of plugins while sending...
© 2023 Created by Chuck aa0hw. Powered by
Here is the 2nd video in this series...where we test the setup to see how well it keys at 110 wpm by using a K1EL K40 CW KEYER to key a 555 SQUARE WAVE CIRCUIT which outputs an audio tone to a MIC JACK INPUT and then connects internally to the VST PLUGIN CHAIN that clones, regenerates, and reproduces precisely in software, the orignal K1EL CW ELEMENTS at 110 wpm
In part 2 of this video series...we are going to test the K1EL K40 CW KEYER at 110 wpm, keying a 555 SQUARE WAVE audio oscillator that is connected to the MIC JACK INPUT of this laptop’s sound card..the audio from the MIC JACK INPUT goes directly to the first VST PLUGIN – The Mbandpass vst plugin
the 555 is outputing a square wave audio tone at 1000 hertz with lots of harmonics and some 60 cycle HUM... However, the first VST PLUGIN filters out everything but the 1000 hertz tone
a message in the K1EL K40 CW KEYER memory is used to test the setup, and key the 555 oscillator, to see how well these VST PLUGINs will send QRQ CW over 100 wpm when using an external CW KEYER like the K1EL K40 to key the 555 like a RIG
Here is the next video in this series, where we demo building in software a 'keyable' QRQ CW OSCILLATOR - using only NATIVE LINUX LV2 PLUGINS:
This video is demo’N a setup to create a custom QRQ CW sine wave, raised cosine(like) edged, ‘keyable’ oscillator
There are already 2 excellent programs for LINUX for a software QRQ CW KEYBOARD… FLdigi and TWQRQ...however, neither one of them are ‘keyable’
In this example we use all native LINUX - LV2 plugins
the setup framework is the same...in this video we use FLdigi's RT CHANNEL QSK 1KHZ tone output to provide an audio input to TRIGGER MIDI MONO...which will take that incoming audio volume level from FLdigi, and when the FLdigi volume SPIKES OVER a certain threshold level, it TRIGGERs TRIGGER MIDI MONO to start a NOTE ON MIDI MESSAGE DATA PACKET...then after FLdigi stops sending the cw element...the volume level, drops and once it goes lower than the TRIGGER MIDI MONO THRESHOLD setting....it triggers TRIGGER MIDI MONO to create a NOTE OFF MIDI MESSAGE and thus finishes that MIDI DATA PACKET for NOTE ON and NOTE OFF timing....this streams out of TRIGGER MIDI MONO's MIDI DATA OUTPUT PORT and connects to two SINE WAVE SYNTHESIZERS, which are KEYED by the TRIGGER MIDI MONO MIDI DATA stream and the TRIGGER MIDI MONO MIDI DATA MESSAGES instruct both SYNTHESIZERS to TRANSMIT a cw AUDIO tone that precisely clones the timing of the ORIGINAL FLDIGI cw element length http://lsp-plug.in/?page=manuals§ion=trigger_midi_mono
for the demo, FLdigi sends a text file at 104 wpm...then the Q-MULTIPLIER Is adjusted to demo how it can vary the weight of the cw ...making it heavier or lighter...also the bandpass filter and high pass filter are turned off and back on...to demo how they make a difference in how well the cw sounds at high speeds...
Here are the settings used by TRIGGER MIDI MONO in this video:
Here is a setup for building a QRQ CW 'keyable' pure sine wave oscillator with EXPONENTIAL EDGES using AlsaModularSynth:
simple, basic, AMS setup to see how exponential edges sound(verses linear edges) for qrq cw copy using AlsaModularSynth's own native modules...
1. MCV = midi input....MCV GATE goes over to the Envelope Generator(ENV) = (ADSR, ATTACK, DELAY, SUSTAIN,RELEASE) for a linear rise and fall time of 6 ms and is further adjusted for heavy or lighter keying, while listening to a qrq cw text file being sent by FLdigi...where the FLdigi RT QSK 1khz audio cw output tone is used to trigger a CW REGENERATION app called TRIGGER MIDI MONO http://lsp-plug.in/?page=manuals§ion=trigger_midi_mono TRIGGER MIDI MONO takes the audio from FLdigi and converts it into MORSE MIDI DATA MESSAGES according to the exact length of each cw element...the MIDI DATA goes over to the AMS MIDI INPUT and "keys" AMS's VCO SINE WAVE OSCILLATOR...the output of the AMS OSCILLATOR VCO goes over to the AMS EXPONENTIAL VCA module(VOLTAGE CONTROLLED AMP)...where both the ENV and VCO mix together to create a CW NOTE with exponential edges and then the cw audio notes go out of AMS to the speakers through the AMS "PCM OUT" module...then to a LOW PASS/high pass/bandpass filter setup to get rid of as much percussive edge noise as you prefer...
to adjust how light or heavy the cw sounds...even further, the CALF EQUALIZER is set up as a Q-multiplier and you can adjust the width of the peak of the 1khz tone to suit your preference by adjusting the DB VOLUME LEVEL(coarse adjustment) and the Q(fine adjustement) here is a picture of my settings https://imgur.com/eAjxBxL
The heart of the system is TRIGGER MIDI MONO(TMM)...which precisely duplicates/clones the original CW ELEMENTs(in TIME) from FLdigi's RT CHANNEL - here are the settings i used for TMM:
this software setup allows for a 'keyable' high quality morse code software instrument which you can key with paddles, st key, and cw keyboard ie - like K1EL K40 etc...with a 1 KHZ tone from your CW KEYER audio output OR setup a 555 square wave circuit and "key" it...to send a 1KHZ tone into your sound card's LINE INPUT or MIC INPUT
Here is another example setup for building a high quality QRQ CW software sine wave oscillator on your LInux computer that you can KEY with a CW KEYBOARD, STRAIGHT KEY and PADDLES...this example uses the classic vintage MFJ-451 cw keyboard to key the INGEN SOFTWARE CW KEYER:
this video shows how to setup INGEN to house all the LV2 PLUGINS to create your own customized pure sine wave software CW KEYER with raised cosine edges and adjustable rise/fall time, weight, pitch, volume and also in includes a final audio filter to get rid of any remaining edge noise
a great feature of INGEN, is, that you can SAVE it all...all the LV2 PLUGINS and their settings...once you work them all out...and are happy with how it sounds...when you bring INGEN back up again and load your cw keyer setup ingen patch...it's immediately ready to send cw again...
in this setup, we are using the MFJ-451 CW KEYBOARD to key a 555 square wave oscillator circuit which sends its output audio to the mic jack input of a laptop running LUBUNTU 16.04
NOTE: the first audio filter housed in INGEN is a CALF 5 BAND EQUALIZER setup to act like a Q-multiplier....so that you can adjust the weight of your cw by "time"...the keyer itself allows you to adjust weight by percentage...however, being able to adjust the actual CW ELEMENTS by exact time is very helpful to getting it to sound correct, since you want all the cw elements to be in perfect time matching the MFJ-451's timing etc...you can adjust weight by time to negative or positive amounts and fine tune how your keying sounds...in addition to adjusting weight by percentage
Here is a new tutorial on how to use MIXXX, a variable speed morse code audio file player - for QRQ CW COPY BY EAR training
This video demo's an advanced setup for QRQcw copy by ear training, to allow MIXXX, a variable speed audio file player, to keep the same pitch while you vary the MORSE CODE AUDIO FILE PLAYING speed AND also keep it silent if you hit the REVIEW/REWIND button during the training sessions, so you don't hear a high pitched squeal during the rewind process...
this setup uses two previous setup techniques that will be needed to get MIXXX to work as shown - those videos are here:
1. morse code audio to morse code midi converter :
2. pure sine wave shaped cw generator using a triggered GATE:
NOTE: the OS being used in this video is Lubuntu 16.04 on an i7 quad core laptop...MIXXX also has windows and mac version... NOTE: you could setup a similar construction using WINDOWS VST's and maybe also using MAC's audio unit plugins
Here is a slightly easier method for building a custom software "keyable" QRQ CW pure sine wave oscillator
this video demo's another method to build a software pure sine wave shaped morse code practice oscillator - this time using ZAMGATE(LV2 plugin) and a pure sine wave oscillator(LV2 plugin)
ZAMGATE has connected on its input channel 1, a pure sine wave oscillator LV2 Plugin as shown on the video...the GATE THRESHOLD on ZAMGATE is set so that the pure sine wave oscillator will not go through the gate to the speakers, until it is triggered by an external sidetone on its channel 2...ie.. from a CW KEYER keying a 555 CHIP that outputs a very harsh and raspy square wave connecting to the laptop's MIC JACK INput....from the MIC JACK the 555 square wave connects to channel 2 of the GATE, the pure sine wave oscillator is connected to channel 1 on the GATE and will be allowed to pass through the gate to its output on CHANNEL 1, then over to the LP and HP filters(optional) and then to the speakers(headphones) during the duration of the original amount of time of the dit or dah from the 555
NOTE: there is no output used on channel 2 of the zamGATE, so the audio from the 555 is only used as a TRIGGER to open and close the ZAMgate channel 1 - so that the pure sine wave audio can pass through CHANNEL 1 only during the exact time the 555 square wave sidetone audio is going through channel 2 of ZAMGATE
ZAMGATE allows you to adjust the rise and fall time to your preference, AND also allows you to adjust the weight by time, so you can duplicate the original exact time of each cw element from your CW KEYER or STRAIGHT KEY that is keying the 555...you can also add or subtract weight by time(compensation) making your cw heavier or lighter according to your preference(you can usually adjust the "weight by percentage" using your cw keyer's menu options..weight by percentage sounds differently than weight by time/compensation)
ZAMGATE allows for an easier way to build a custom pure sine wave "keyable" morse code oscillator than some of the previous videos have demo'd...
Here is a demo of the ZAMGATE software sine wave CW KEYER being "keyed" by the K1EL K40 at 130 wpm
this is a follow up video to a previous video on this topic - here:
In this video, we "key" ZAMGATE at 130 wpm with a K1EL K40 CW KEYBOARD KEYER. The Zamgate plugin has controls for adjusting the rise and fall time in 1/10 increments(plus or minus), and the weight "by time" can also be adjusted in 1/10 increments(plus or minus)
in addition, two LV2 PLUGIN audio filters are used to clean up the remaining edge noise....a LP filter and a HP filter from GLAME - using the BUTTERWORTH window...
140 wpm Testing for CW TRANSMIT(afcw mode) on the Elecraft K3S using its own RAISED COSINE HANNING WINDOW waveshape which is "fixed" at 8 milliseconds rise/fall...and comparing that by transmitting CW at the same speed using a customized RAISED COSINE waveshape with the HAMMING WINDOW that also has an adjustable rise/fall time control AND a variable weight by time control(to increase or decrease each cw element by the same amount of time - using the TWQRQ qrq cw keyboard by wa0eir)
The Elecraft's rise/fall time is not adjustable, and without modification, it is fixed at 8ms rise/fall time using the raised cosine Hanning window....The HANNING window however, may not be the best for qrq cw copy at 140 wpm... and a few diagrams below will illustrate this... However, if you trade out the Hanning window for the Hamming window...the CW COPY during a test run seemed to have an easier copy by ear due to less edge noise and the extra options of being able to adjust the rise & fall time AND the weight by time gave the cw just a little more breathing room and helped it to feel less jammed together...
Here is a side by side comparison with the
Elecraft's HANNING dit and the TWQRQ's HAMMING dit
the HANNING dit is slightly wider in length and more linear(left dit) during the rise and fall time
the HAMMING dit is slimmer in width(right dit) and has a slightly steeper curve on its rise and fall time journey
at 140 wpm here is the SPECTRUM ANALYSIS results of the HANNING verses the HAMMING
THIS IS THE HANNING SPECTRUM ANALYSIS AT 140 wpm
you can see on the left side pictured just above, the lower frequencies are making quite a bit of noise...
THIS IS THE HAMMING(twqrq) SPECTRUM ANALYSIS AT 140 wpm
as you can see, all of the lower frequency edge noise has been reduced... and this along with being able to adjust the weight by time and percentage(TWQRQ) I found the HAMMING to be a Raised Cosine Window that made it much easier to copy at this high speed - where the cw element rise time edge noise can be so high as to be actually louder than the actual CW TONE...
here is a video demo of the ELECRAFT K3S HANNING verses the TWQRQ HAMMING:
117 wpm - competition between FLdigi and TWQRQ - which has the better qrq cw audio for copy by ear ?
a test run between FLdigi and TWQRQ to see which one has the better qrq cw audio for copying by ear... at 117 wpm
FLdigi is using the BLACKMAN raised cosine window(FLdigi's Hanning window sounds too thick and jammed together to me)
TWQRQ is using the HAMMING raised cosine window
both were adjusted by ear to sound as good as possible...and then an A/B switch toggles between the two apps sending the same text file at 117 wpm
FLdigi has its own BANDPASS FILTER to virtually eliminate all lower and higher frequency edge noise
TWQRQ is using the CALF FILTER(2 of them) one acting as a LOW PASS FILTER and the other acting as a HIGH PASS FILTER...both adjusted to get rid of low freq and high freq edge noise to the point just before ringing starts or before it starts to sound likes it's inside a tunnel
My preference is the HAMMING WINDOW that TWQRQ has available along with TWQRQ's ability to adjust "weight by TIME"(fldigi does not have an adjustable weight by time control)
NOTE: in my perception, even though FLdigi has its own fantastic bandpass filter, FLdigi as shown in the video, even with the BANDPASS "ON", still sounds like there is too much percussive effect creating a 2nd tone like loudness that is interfering with reception of the 828 hertz cw tone...also note that during the video the FLdigi HANNING window is toggled on for a brief period to demo that it is wider and thicker than the Blackman ...(the Hanning window makes the cw elements sound too jammed up together - to me...at 117 wpm)
here is the playlist for more vids on CW OVER 100 WPM
Here is a short video where the homebrewed ZAMGATE CW KEYER competes with the TWQRQ CW KEYER at 101 wpm for best sounding cw audio tones to copy by ear at 101 wpm:
ZAMGATE CW KEYER: