Thursday, June 6, 2024

Re: Audio sink to "wire"

Hi everyone,

trying to get the discussion back under one email thread (hint: it's easier to deal with the mailing list if you *don't* get the digest but each email individually, and set up your email client or -service to file emails from the mailing list into their own folder).

So, Dave pointed out:

Under Linux, a simple approach is to use a loopback (essentially establish a Virtual Audio Cable).  The loopback is established by

sudo modprobe snd_aloop enable=1,1 index=10,11

The WJST-X audio input is then plughw:CARD=Loopback_1,DEV=1
and the GNU Radio audio sink device can be left as default.
right! That works with every sound system.
However, if the intent is to use WSJT-X, there is some extra complexity.  WSJT-X assumes it is communicating with a transceiver (a rig) and will look to check that the rig is configured consistently with what WSJT-X expects.  So you need another program that emulates a chosen type of transceiver (eg a Kenwood TS-2000) and responds to those WSJT-X checks.   Switching between Tx and Rx requires some similar complexity.
Indeed, and that's why Henning Paul has his own CAT/hamlib proxy for interfacing with WSJT-X to emulate his own hardware frontend, see [1] slide 22. Luckily, I don't think you'll have to go that far, usually. Depends, really, on what you want to control from WSJT-X; you'd choose CAT as transceiver/rig type, probably.

However, I'm not deeply into these ham radio applications. If there's demand to talk about ham affairs like plugging WSJT-X to GNU Radio (and maybe ask whether someone can talk about their experiences doing something specific), I do recommend heading over to our Matrix chat room for GNU Radio in amateur radio,

#HamRadio:gnuradio.org

you can easily access that, if you've never used Matrix before, using, for example, [2]. Note that there's a lot of knowledge out there – and a lot of implementations that not everyone knows about. For example, I think someone has implemented FT-8 in GNU Radio (can't find the link right now). And: there's a series of talk recordings, organized by Barry Duggan himself, which I find worth watching [3].

Best,
Marcus


[1] https://github.com/hennichodernich/talks/blob/main/SDR_Selbstbau.pdf
[2] https://app.element.io/#/room/#HamRadio:gnuradio.org (account necessary for writing messages, you can sign up for free there, or anywhere else on the matrix network; do join [2a] while you're there)
[2a] https://app.element.io/#/room/#gnuradio-space:gnuradio.org
[3] https://wiki.gnuradio.org/index.php/Talk:HamRadio

On 05.06.24 23:21, Kevin McQuiggin wrote:
Hi Jakub and Marcus:

On the Mac, use the BlackHole virtual audio driver.  It's at https://github.com/ExistentialAudio/BlackHole.  You can create a virtual audio device and point WSJT-X at it for input, output, or both.  It works well and the developer is responsive to questions and suggestions.

Kevin


On Jun 5, 2024, at 1:12 PM, Marcus Müller <marcus.mueller@ettus.com> wrote:

Uff, please don't recommend such stunts :) This can be solved easily in software at zero cost.

If you're on a modern Linux, you use the pipewire audio system. Install `qpwgraph`, start WSJT-X and just use qwpgraph to connect the output of your GNU Radio flow graph to the input of your WSJT-X. (or vice versa, really!)

If you're using an older Linux distribution, you might still be using pulseaudio. No problem, you just 1. create a "black hole" audio sink, then 2. form a virtual microphone input from that:

1. pactl load-module module-null-sink sink_name=cable_out sink_properties=device.description=cable_out

2. pactl load-module module-remap-source master=cable_out.monitor source_name=cable_in source_properties=device.description=cable_in

You'd then use `cable_out` as device name in your GNU Radio Audio sink. That's it.

On Windows, I'm no expert, but there's many loopback ways. there's VB-Cable, which used to be a thing when I used WIndows the last time.

No expertise on Mac OS, but if something is Mac OS's thing, it's multimedia routing, so that should work. In no case should you spend money on an external sound card, and live with the quality loss of that!

Best regards,
Marcus


On 05.06.24 14:27, vittben@pm.me wrote:
Hi Jakub and group!  IMO the simplest way to "redirect" audio sink, and that's the solution I usually use, use another USB sound card for WSJT-X with an "audio splitter" and "physical crossed cable".  The audio splitter is only necessary if you want to monitor the audio.  No need for complicated settings, virtual audio cable, etc. etc...... fast and dirty!!!     Enjoy     Vittorio, I3VFJ        
Message: 5  Date: Tue, 28 May 2024 06:58:18 +0000  From: Šerých Jakub Serych@panska.cz    To: "discuss-gnuradio@gnu.org" discuss-gnuradio@gnu.org    Subject: Audio sink to "wire"  Message-ID:  PAXP189MB167934066ABE5023CEF7E155DDF12@PAXP189MB1679.EURP189.PROD.OUTLOOK.COM      Content-Type: text/plain; charset="iso-8859-2"    Hi,  is there any simple way to redirect GNU radio Audio sink output to "wire" so that it can be processed by some other software (e.g. WSJT-X)?    Thanks for any info    Jakub  

No comments:

Post a Comment