the Gstreamer Script used in this video example:
*************************************************
gst-launch-1.0 -v alsasrc device=hw:4 ! "audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)48000, channels=(int)2, channel-mask=(bitmask)0x0000000000000003" ! tee name=t ! audioconvert ! audiowsincband mode=band-pass lower-frequency=580 upper-frequency=820 length=384 window=3 low-latency=true ! audioconvert ! audiomixer name=mix mix. ! queue ! alsasink device=hw:4 buffer-time=3500 udpsrc port=7777 ! "application/x-rtp, media=(string)audio, clock-rate=(int)48000, encoding-name=(string)L16, encoding-params=(string)2, channels=(int)2, payload=(int)96" ! rtpjitterbuffer latency=50 ! rtpL16depay ! audioconvert ! queue ! mix. t. ! queue ! audioconvert ! audiowsincband mode=band-pass lower-frequency=580 upper-frequency=820 length=384 window=3 low-latency=true ! audioconvert ! rtpL16pay ! queue ! udpsink host=(ip address of laptop) port=3333
the Gstreamer script above shows the use of two of its more unique elements, TEE and AUDIOMIXER
the TEE allows the keyed twin-t CPO's/(filtered by gstreamer) CW to not only go to the same sound card's line output/headphone jack, to monitor the filtered CW sidetone in real time, but also allows the sending of that same exact filtered CW SIDETONE to go out to another CWop over IP (PCM L16 RTP encoding)
the AUDIOMIXER allows the incoming CW over ip from the laptop to also use the same exact Pi4 ALSA sound card(which otherwise would be impossible)
Views: 33
Tags:
© 2024 Created by Chuck aa0hw. Powered by
You need to be a member of QRQcw to add comments!
Join QRQcw