RPI4 / SparkSDR / WSJT-X

642 views
Skip to first unread message

Thomas Beiderwieden

unread,
Jun 14, 2021, 6:58:28 AM6/14/21
to SparkSDR
Hi Group,
I am struggeling with my audio-setup. Running a PI4B with Buster, HL2, SparkSDR 2.0.6.7 and WSJT-X 2.4.0.

1st I load SparkSDR (standalone, it works perfekt)
2nd I load WSJT-X. The communication via Hamlib works, but I cannot get the audo working.

a) no addtional software: sound device seemed to be blocked by SparkSDR, all entriey in WSJT-X are denied
b) pulseaudio: worked for RX, no sound on TX
c) audacity: sound device seemed to be blocked by SparkSDR, all entriey in WSJT-X are denied

Has anyone a working setup and like to share some details?

vy 73 de Thomas, DL3EL

ahop...@googlemail.com

unread,
Jun 15, 2021, 7:43:26 AM6/15/21
to SparkSDR
Hi Thomas,
sorry I'm not expert on linux sound setup and was rather hoping someone else would have an answer.  Does spark detect audio devices and let you use them normally?
Has anyone got a good guide for connecting audio devices on linux?
73 Alan M0NNB

Thomas Beiderwieden

unread,
Jun 15, 2021, 9:27:34 AM6/15/21
to SparkSDR
Hi Alan,
thanks for replying. Well, there are sound devices shown in spark and depending on what I choose, I do have a normal sound. However, ther variety of soundcards (including all virtuals) I see in spark is far less than I see in WSJT-X and given the idea, that I should better use the same on both sides, it comes down to "pulse" or the usb-soundcard. Both of them work max from spark to wsjt-x (so decoding there works), however with no sound / modulation on tx.

To exclude external or historic effects, I have moved my tests to a brandnew PI4B-8GB with a fresh buster. Only WSJT-X, SparSDR, Pulseaudio and the necessary libraries are installed. 

ahop...@googlemail.com

unread,
Jun 15, 2021, 11:04:57 AM6/15/21
to SparkSDR
Hi Thomas,
I just had a quick play and can see the same problem, I need to do some reading up, I wrote spark to avoid all this sort of interconnection but making it work easily with WSJT-X is important.  I shall try and sort out the best way to do this, all help from linux gurus gratefully received.
73 Alan M0NNB

Thomas Beiderwieden

unread,
Jun 15, 2021, 11:47:02 AM6/15/21
to SparkSDR
Hi Alan,
very much appreciated.

vy 73 de Thomas, DL3EL

PS except this, SparkSDR rocks. I really like it :-)

Mike G4RAA

unread,
Jun 15, 2021, 3:44:40 PM6/15/21
to SparkSDR
I'm not a Linux guru of any kind and I don't have SparkSDR hooked up to WSJT-X on my Pi but I do have a couple of comments:

There is a known problem with pulse audio when used with recent version of WSJT-X on PiOS. This may well not be the OP's problem but it looks like alsa may be a better route. See  WSJT-X 2.3 – Transmit Audio Failure with PiOS – Mike Richards G4WNC (photobyte.org)

I have Spark & WSJT-X working well on my PC with Spark in DigiU mode*. I used a pair of virtual audio cables to connect the two programs together. I was intending to use this approach when I get round to trying it on my Pi400. JackAudio is a virtual audio cable solution for Linux that I've seen recommended. https://jackaudio.org/ 

*Actually there is a teensy problem from my perspective. I may well be doing something wrong, or maybe its an HL2 issue, but while I can have a nice wide 5kHz bandwidth in RX there appears to be some audio bandpass filtering going on in TX, so if there's some DX hiding away much below 300 Hz or over 2850 Hz my TX output is attenuated or non-existent.

PS SparkSDR is an utterly brilliant program Alan, thank you so much for all the work you put into it!

73

Mike
G4RAA

Thomas Beiderwieden

unread,
Jun 15, 2021, 5:12:30 PM6/15/21
to SparkSDR
Hi Mike, 
I did not mention, but I also have this setup on a windows machine. There I use VAC from  Eugene Muzychenko, works like charm. I have tried Jack on the raspberry as well, not much difference to pulseaudio.

However, thanks a lt for the link to G4WNC's problem. That is exactly what I am experiencing here too. I have only put that aside because of the problem with no modulation on tx. I have to look closer into this tomorrow. I think I have tested it in the way G4WNC described, and the result was, that WSJT-X stoppped decoding data on rx.

vy 73 de Thomas, DL3EL

Thomas Beiderwieden

unread,
Jun 17, 2021, 4:21:00 PM6/17/21
to SparkSDR
Hi Alan,
I think I have found a workaround. I have again started with a clean system, only SparkSDR & WSJT-X installed. I configured a sound loopback interface, with the standard alsa tools (sudo modprobe snd-aloop). During testing, I disocvered some kind of spikes on my tx signal and could verify, that these were comming from the mike, plugged into the usb-soundcard. Then I tried to disconnect the soundcard. Well, after that it worked. :-)

So the setup now is
no soundcard
alsa loopback
WSJT-X Input: Alsa_output.platform-bcm2835_audio.digital-stereo.monitor
WSJT-X output: Plughw.Card=Loopback,DEV=1
SparkSDR Input & Output: default

Tested it the whole day without any issues. Spark version under test ist SparkSDR.2.0.7-1.linux-arm.deb

vy 73 de Thomas, DL3EL

ahop...@googlemail.com

unread,
Jun 18, 2021, 4:23:06 AM6/18/21
to SparkSDR
Hi Thomas,
great, I had just got to trying the same thing.  I'm very slowly getting more of an understanding of all this, as you mentioned spark detects pretty much the same set of audio devices as Audacity (they both use portaudio). I did have a play using PulseAudio Volume Control and virtual sinks but this seemed very messy.  The long term solution is to have a non audio solution to pass audio or iq data to and from digimode programs.
73 Alan M0NNB

ahop...@googlemail.com

unread,
Jun 24, 2021, 2:14:32 AM6/24/21
to SparkSDR
Hi Thomas and Group,
73 M0NNB 

Thomas Beiderwieden

unread,
Jun 24, 2021, 6:19:17 AM6/24/21
to SparkSDR
Hi Alan,
thanks a lot, a very good paper, also full with other useful information. I have tried it this morning, unfortunately with not very much luck. First try was exactly as described in the paper. 
Problem is: the option "plughw:5,1 Loopback" is not available in SparkSDR 2.0.7_4. Then I switched cable. Now it works for RX. However I see a lot of "ghost-signals" on the whole band and the sensitivy on the WSJT-X side seemed reduced (compared to a virtual radio with FT8 on SparkSDR on the same qrg). On TX, the SparkSDR is triggered, but no audio is received by the radio from WSJT-X. I could not find a working setup.

FLDIGI is refusing to show any signal coming in.

After switching back to my config (explained earlier) it worked again.

During my tests I saw two odd things:
- when running two virtual radios on the same qrg, one with FT8 and one with DIGU, the snr shown in SparkSDR differs sligthly from the one shown in WSJT-X. However, I am using decode depths 1, so in my understanding, the same engine is used.
- when I change the FT8 radio to decoding depth 0, it refuses to decode (no error, just nothing). This is only on Linux, it does work on Windows. 

vy 73 de Thomas, DL3EL

Thomas Beiderwieden

unread,
Mar 13, 2023, 6:20:20 AM3/13/23
to SparkSDR
Hi Alan,
I have made some test lately, which have shown a nice result. On an Raspberry FLDigi and SparkSDR works without any VAC. You just need to use pulse audio and install / activate pavucontrol. In pavucontrol you need to change to the "monitor" option where ever possible. Done.

The only issue when using this remotely is, that the sound via websockets reduces the quality when runing longer (a couple of minutes). Unsubscribe / subscribe again solves the problem for the next minutes. The sound is very helpfull for cw, as it has a relativly short latency.

vy 73 de Thomas, DL3EL

Reply all
Reply to author
Forward
0 new messages