QRQ CW QSO over ip using "1" multi-function multipurpose Gstreamer script on a Raspberry PI 4

GSTREAMER SCRIPT used in this example on the PI 4:

*******************************************************

pi@raspberrypi:~ $ gst-launch-1.0 -v alsasrc device=hw:3 ! "audio/x-raw, layout=(string)interleaved, rate=(int)48000, format=(string)S16LE, channels=(int)2, channel-mask=(bitmask)0x0000000000000003" ! tee name=t t. ! queue ! audioconvert ! ladspa-zamgate-ladspa-so-zamgate attack=.1 release=.1 threshold=-31 ! audioconvert ! audiorate ! audiowsincband mode=band-pass lower-frequency=698 upper-frequency=898 length=567 window=3 low-latency=true ! audioconvert ! audiorate ! queue ! audiomixer name=mix ! "audio/x-raw, rate=(int)48000, layout=(string)interleaved, format=(string)S16LE, channels=(int)1" ! alsasink device=hw:3 buffer-time=15000 sync=false t. ! queue ! audioconvert ! ladspa-zamgate-ladspa-so-zamgate attack=.1 release=.1 threshold=-31 ! audioconvert ! audiorate ! audiowsincband mode=band-pass lower-frequency=698 upper-frequency=898 length=567 window=3 low-latency=true ! audioconvert ! audiorate ! rtpL16pay ! queue ! udpsink host=192.168.1.101 port=7777 udpsrc port=8888 ! "application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)L16, encoding-params=(string)1, channels=(int)1, payload=(int)96" ! rtpjitterbuffer latency=15 ! rtpL16depay ! audioconvert ! audiorate ! audioresample ! queue ! mix. ***********************************************************

The Gstreamer Script performs the following functions 1. grab a 'keyed' 555 timer square wave osc. --- from PI USB sound card LINE INPUT: A. apply a GATE to stop leak through of the 555 oscillator B. convert it from a square wave to a pure sine wave with raised cosine edges C. send the 'converted' pure sine wave CW to the PI USB SOUND CARD LINE OUTPUT/headphones to monitor your own sidetone @ near zero delay D. send the same pure sine wave CW to another OP over IP 2. RECEIVE RTP/UDP over IP CW AUDIO from the 'other' op and send it to the PI's USB SOUND CARD's LINE OUTPUT/headphones this Gstreamer script is using ALSA, so only one sound card can be claimed by the script....usually....however, by using the Gstreamer AUDIOMIXER ELEMENT... the RX over IP script is using "mix." instead of going straight to ALSA... RX script instead, sends the RX Audio to the AUDIOMIXER ELEMENT...and then it follows the same path as the monitoring of the PI's own sidetone from the PI-op's FLdigi CW Keyboard... NOTE: FLdigi is 'keying' the PI's square wave 555 timer chip oscillator connected to the LINE INPUT via the FLDIGI 'rts' serial port pin keying feature the 'other' OPs CW KEYBOARD is sending to this PI using the yellow/orange CW KEYBOARD at the bottom left of this desktop screen in view THE AUDIO YOU ARE HEARING is coming DIRECTLY from the PI's headphone audio outputs via a ground isolation transformer connecting to the pI's headphone jack and this recording laptop's MIC INPUT jack and into the screen recorder

Views: 30

Comment

You need to be a member of QRQcw to add comments!

Join QRQcw

© 2024   Created by Chuck aa0hw.   Powered by

Badges  |  Report an Issue  |  Terms of Service