Here is yet another method for getting a nice sounding CW SIDETONE into the MUMBLE INPUT
using a Raspberry PI, an OPTO-ISOLATOR & a 555 timer chip square wave running continuously...
both the OPTO-ISOLATOR and the 555 TIMER chip are being powered by the PI's gpio pins...
the OPTO-ISOLATOR is "keyed" by an external CW KEYER's RIG KEYING JACK...
which then passes the 555 square wave that is running through the opto-isolator's output pins
and then into the PI's usb sound card's line input...
...HOWEVER...
being a square wave with harsh harmonics and no edge shaping of any kind....this would sound horrible !
so.... this single GSTREAMER SCRIPT depletes every harmonic OUT of the square wave AND then places
a raised cosine edge onto the RISE & FALL time
gst-launch-1.0 -v jackaudiosrc do-timestamp=true ! "audio/x-raw, rate=48000" ! queue ! audioconvert !
ladspa-zamgate-ladspa-so-zamgate attack=.1 release=.1 threshold=-22 ! audiorate ! audioconvert !
audiowsincband mode=band-pass lower-frequency=698 upper-frequency=898 length=567 window=3 low-latency=true !
queue ! audioconvert ! jackaudiosink buffer-time=5000
- this setup operates at near zero latency -
please see the video description notes for more info...
here is the LIVE DEMO VIDEO example of this operation: