audio configuration on Linux Mint

696 views
Skip to first unread message

Jim

unread,
Oct 6, 2019, 8:40:53 PM10/6/19
to digitalvoice
I built freedv 1.3.1 from source on a Linux Mint 19.2 system.
Freedv seems to start up OK, but I can't make any sense of the
audio configuration.  I'm using a Dell computer and its built-in audio system for the radio
and a Logitech gaming USB headset for the mic and speaker. 

The Logitech headset shows up in lsusb as

Bus 008 Device 002: ID 046d:0a44 Logitech, Inc. Headset H390

Audio Config shows

Receive

   From Radio

   HDA Intel: AD1984A Alt Analog (hw:0,2)     0 ALSA
   pulse                                                        1 ALSA
   default                                                      2 ALSA
   none

   To Speaker/Headphones
   pulse                                                        1 ALSA
   default                                                       2 ALSA
   none

Transmit

   From Microphone
   HDA Intel: AD1984A Alt Analog (hw:0,2)
   pulse                                                        1 ALSA
   default                                                      2 ALSA

   To Radio
   pulse                                                        1 ALSA
   default                                                      2 ALSA

and I can't make any sense of this at all

Jim W6JVE

David Rowe

unread,
Oct 6, 2019, 10:17:31 PM10/6/19
to digita...@googlegroups.com
It looks like it's only showing up your default sound device. Normally
you would see another entry for the headset (I do).

You need to restart FreeDV to see any new sound devices.

Perhaps try another sound device and see if that is detected.

You could also try building FreeDV 1.4 from source on Github, the build
procedure has been simplified quite a bit (one script).

Cheers,
David

On 7/10/19 11:10 am, Jim wrote:
> I built freedv 1.3.1 from source on a Linux Mint 19.2 system.
> Freedv seems to start up OK, but I can't make any sense of the
> audio configuration.  I'm using a Dell computer and its built-in audio
> system for the radio
> and a Logitech gaming USB headset for the mic and speaker. 
>
> The Logitech headset shows up in lsusb as
>
> Bus 008 Device 002: ID 046d:0a44 Logitech, Inc. Headset H390
>
> Audio Config shows
>
> Receive
>
>    From Radio
>
>    HDA Intel: AD1984A Alt Analog (hw:0,2)/     0 ALSA
> /
> /   pulse/                                                        1 ALSA
>    default                                                      2 ALSA
>    none
>
>    To Speaker/Headphones
>    pulse                                                        1 ALSA
>    default                                                       2 ALSA
>    none
>
> Transmit
>
>    From Microphone
>    HDA Intel: AD1984A Alt Analog (hw:0,2)
>    pulse                                                        1 ALSA
>    default                                                      2 ALSA
>
>    To Radio
>    pulse                                                        1 ALSA
>    default                                                      2 ALSA
>
> and I can't make any sense of this at all
>
> Jim W6JVE
>
> --
> You received this message because you are subscribed to the Google
> Groups "digitalvoice" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to digitalvoice...@googlegroups.com
> <mailto:digitalvoice...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/digitalvoice/43c63b5b-ba79-4161-bd78-cf4f5620ce48%40googlegroups.com
> <https://groups.google.com/d/msgid/digitalvoice/43c63b5b-ba79-4161-bd78-cf4f5620ce48%40googlegroups.com?utm_medium=email&utm_source=footer>.

Dave Baxter

unread,
Oct 7, 2019, 5:37:34 AM10/7/19
to digitalvoice
Hi.

Has any progress been made to correctly use Pulse on Linux, as if you recall, I found it very screwed up with FreeDV on Linux (also Mint 19.x) with Pulse, FreeDV sees the entire Pulse sub-system as a single device, so does not allow it's use for more than one purpose, unlike Audacity, FlDigi, QSSTV, WSJTX and so on,

It can be made to work, but you must not have PavuControl running anywhere (or any other software using Pulse) before starting FreeDV, else it looses all saved settings re sound systems, and you have to start over, again.  Plus, you can only use one device only (sorry) via Pulse.  Where in practice we need to use 4,   Human In/Out, and Radio In/Out.  (Inputs and Outputs, being separate "devices".)

It seems most of the modern Debian derivatives (Ubuntu and so on) use Pulse as the main audio management.  It would be great if FreeDV could use it to the fullest of it's abilities without falling over when you try.

73.

Dave G8KBV (or G0WBX)

Stuart Longland

unread,
Oct 7, 2019, 7:21:26 PM10/7/19
to digita...@googlegroups.com
On 7/10/19 7:37 pm, 'Dave Baxter' via digitalvoice wrote:
> FreeDV sees the entire Pulse sub-system as a single device, so does not
> allow it's use for more than one purpose, unlike Audacity, FlDigi,
> QSSTV, WSJTX and so on,

Very weird, because Audacity and FreeDV both use portaudio as their
underlying audio library.

portaudio is an abstraction layer for audio, it handles talking to
PulseAudio, JACK, ALSA, OSS, Apple CoreAudio, Microsoft's audio
subsystem, etc…

PulseAudio itself shows up as a single "device" to portaudio, but
normally the other devices are seen directly via ALSA.

I think a lot may be down to how portaudio was built: as Linux Mint is
an Ubuntu derivative, I'd be surprised if they disabled ALSA support in
their portaudio build.
--
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
...it's backed up on a tape somewhere.

Stuart Longland

unread,
Oct 7, 2019, 7:27:52 PM10/7/19
to digita...@googlegroups.com
On 7/10/19 7:37 pm, 'Dave Baxter' via digitalvoice wrote:
> FreeDV sees the entire Pulse sub-system as a single device, so does not
> allow it's use for more than one purpose, unlike Audacity, FlDigi,
> QSSTV, WSJTX and so on,

David Rowe

unread,
Oct 8, 2019, 3:20:35 AM10/8/19
to digita...@googlegroups.com
Hi Dave,

It's been added to the freedv-gui Issues list on GitHub. I'm sure it's
a worthwhile feature but (sigh), the only way it will get done is if
someone steps up to work on it. Such is life with open source software.

Cheers,
David

On 7/10/19 8:07 pm, 'Dave Baxter' via digitalvoice wrote:
> Hi.
>
> Has any progress been made to correctly use Pulse on Linux, as if you
> recall, I found it very screwed up with FreeDV on Linux (also Mint 19.x)
> with Pulse, FreeDV sees the entire Pulse sub-system as a single device,
> so does not allow it's use for more than one purpose, unlike Audacity,
> FlDigi, QSSTV, WSJTX and so on,
>
> It can be made to work, but you must not have PavuControl running
> anywhere (or any other software using Pulse) before starting FreeDV,
> else it looses all saved settings re sound systems, and you have to
> start over, again.  Plus, you can only use */one/ device only* (sorry)
> --
> You received this message because you are subscribed to the Google
> Groups "digitalvoice" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to digitalvoice...@googlegroups.com
> <mailto:digitalvoice...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/digitalvoice/ee343cb9-99af-4ccb-a355-9938714473a1%40googlegroups.com
> <https://groups.google.com/d/msgid/digitalvoice/ee343cb9-99af-4ccb-a355-9938714473a1%40googlegroups.com?utm_medium=email&utm_source=footer>.

Dave B

unread,
Oct 8, 2019, 8:46:49 AM10/8/19
to digita...@googlegroups.com
OK.

Tried to build FreeDV this lunchtime on Mint 19.2 64 bit, attempting to
follow the convoluted (and contradictory in places) instructions on the
website, and eventually downloaded a zip of the current git version.

Installed the dependencies, and unpacked the zip into a folder of it's own.

It built OK (well, no errors) but when run (it launched without error)
and I look at about, and find it's a rev 4.1 development version that
appears to have some major issues, mainly in respect to the audio
configuration.

I did try to play one of the wavefiles, but it just kept complaining
about incorrect sound card configuration.  Not even accepting "none" and
"none" for the PC to Radio channel.  (There is only one sound system on
this laptop.)

(Now, if it would actually accept "Pulse" in all locations, I could
possibly configure Pulse to source & sink stuff in a way that it would
probably tolerate, even if by default silence ensued..)

After a frustrating 15 minutes, I have removed that sourcefile set and
resulting object code from the system and went looking for 3.1 instead
(that I did build OK earlier in the year at home.)

I found what looks like your FTP site, but all the links are just html
tag's, not leading to any actual downloadable files (other than more
html links.)

I eventually found a Fedora site, that appears to be your PC's backup
repository, containing not just FreeDV code and data!  (Not good perhaps
having that publicly accessible.)

None of the "browse source code" links from the website lead anywhere
sensible that I can find, and the only prebuilt binaries I could find
are for Windows, likewise the quickstart guide is pure Windows.

So, what did I miss, or is the FreeDV.org website under
reconstruction.   The closest I can get to finding 3.1 is:-

https://svn.code.sf.net/p/freetel/code/freedv/branches/1.3/

That just has html tags leading to more html tags etc.  No code tarball
or zip that I can find.  (There are some script files buried deep, but
no source file .tz or .zip

Sorry for the negative waves, but this sort of thing just drives me nuts.

73.

Dave G8KBV
--
Created on and sent from a Unix like PC running and using free and open source software:

David Rowe

unread,
Oct 8, 2019, 5:25:34 PM10/8/19
to digita...@googlegroups.com
The current 1.4 development version is here:

https://github.com/drowe67/freedv-gui

The build instructions consist of two lines, and many other people have
followed them successfully.

No audio issues as far as I know on the OS's I have tried (several
versions of Ubuntu, Fedora, and Windows 32/64 bit). It's also been
cross compiled for OSX. It's in daily use by several groups.

- David

Dave B

unread,
Oct 8, 2019, 6:48:58 PM10/8/19
to digita...@googlegroups.com
Hi David.

Yes, that is where I got the zip download from, and yes it builds fine,
just that on Mint 19.2 using Pulse, I find it more or less unusable, due
to FreeDV's policy (for want of a different word) of not allowing
"Pulse" to be used by more than one stream at a time, that of course
Pulse itself can handle just fine.  As evidenced by Fldigi and WSJTX
sharing the same RX audio stream for example, or two "programs" playing
audio through the same, or different devices.

(As earlier, I often have both WSJTX and Fldigi running concurrently,
taking audio from the same RX, sometimes Audacity too recording for
later deeper investigation.   All easy when Pulse and PavuControl are
used.  Thankfully on a fast multi core PC.)

The problem I find with ALSA, is that as the sound card enumeration can
vary each time the system is booted (same behaviour when multiple
devices are present, on two different PC's.)

On this shack PC, a small format desktop with multiple USB sound devices
(there are 4 or more, as often some SDR dongles are present) to pick and
choose from!   As a result, it's a bit poke and hope to find (for
example) the microphone to use as TX audio input.  And of course if you
get it wrong FreeDV seems to revert all it's sound settings to something
utterly unusable, but not in conflict.

What would be very useful, would be for FreeDV to indicate what the
actual device conflict is, not just:-
    "Invalid one or two sound card configuration".
& Yes, I know the sample rates need to be the same.

Why also, does it often not allow the sample rate to be picked? 
Sometimes it is taken when the device is selected, sometimes not, just
showing "none" greyed out.   Exiting and restarting the program, often
fixes that issue.

ALSA does not seem to support more than one application sharing any one
device, such as two programs "listening" or "recording" from the same
audio input device.   Hence no doubt why FreeDV gets upset...

Where as, if Pulse was used, it's very much easier to reliably pick the
devices by name (instead of enumerated connection) and they stay
consistently named for each session.    It is also very much easier to
set levels too, thanks to the live level indicators.

I'm beginning to think that FreeDV needs a dedicated system to work
correctly, currently relying on ALSA, something I don't have shack space
for.

Has anyone built FreeDV on a system that uses the JACK audio management
scheme?  Is that more reliable/consistent etc?

Comments hints welcome.

73.

Dave G8KBV, 23:33 local, time for zzzzz

>><<




On 08/10/2019 22:25, David Rowe wrote:
> The current 1.4 development version is here:
>
> https://github.com/drowe67/freedv-gui
>
> The build instructions consist of two lines, and many other people have
> followed them successfully.
>
> No audio issues as far as I know on the OS's I have tried (several
> versions of Ubuntu, Fedora, and Windows 32/64 bit). It's also been
> cross compiled for OSX. It's in daily use by several groups.
>
> - David
>
> On 8/10/19 11:16 pm, 'Dave B' via digitalvoice wrote:
>> OK.
>>
>> Tried to build FreeDV this lunchtime on Mint 19.2 64 bit, attempting to
>> follow the convoluted (and contradictory in places) instructions on the
>> website, and eventually downloaded a zip of the current git version.

Peter Reichelt

unread,
Oct 8, 2019, 9:30:41 PM10/8/19
to digitalvoice
Hi David

I built FreeDV following those instructions on a Ubuntu 18.04 box but before the line

$ ./build_linux.sh

would run I had to run this 


$ git clone https://github.com/drowe67/freedv-gui.git

Not being a Linux guru I am not sure if I missed something or if this should be built into instructions.

No problems with audio ports being set up

Regards
 
Peter VK5APR

David Rowe

unread,
Oct 9, 2019, 3:34:28 AM10/9/19
to digita...@googlegroups.com
Thanks Peter,

Yes the "git clone" step is kind of standard/assumed step for any
Git-based project, but perhaps a good idea to include it for people new
to building on Linux.

I'll add it to the README.md.

Cheers,
David
> >>> an email to digita...@googlegroups.com <javascript:>
> >>> <mailto:digitalvoice...@googlegroups.com <javascript:>>.
> <https://groups.google.com/d/msgid/digitalvoice/ee343cb9-99af-4ccb-a355-9938714473a1%40googlegroups.com?utm_medium=email&utm_source=footer
> <https://groups.google.com/d/msgid/digitalvoice/ee343cb9-99af-4ccb-a355-9938714473a1%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> >
>
> --
> You received this message because you are subscribed to the Google
> Groups "digitalvoice" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to digitalvoice...@googlegroups.com
> <mailto:digitalvoice...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/digitalvoice/cfe2324f-8755-491f-a62c-8513b1c5f937%40googlegroups.com
> <https://groups.google.com/d/msgid/digitalvoice/cfe2324f-8755-491f-a62c-8513b1c5f937%40googlegroups.com?utm_medium=email&utm_source=footer>.

Dave B

unread,
Oct 9, 2019, 5:12:03 AM10/9/19
to digita...@googlegroups.com

Hi Peter.

Yes.  In my case, I downloaded a zip of the Git repository, and unzipped that into a folder.  I've had some bad experiences with Git in the past, and don't trust it any more (way too easy to damage a repo' in error) though I know others who rave about it.

What Linux OS are you using, on what hardware?   I'm running Mint 19.2 64 bit, on Dell or HP hardware.  An 8 core Dell XPS laptop and 4 core Small Format HP desktop, both Intel based, 6 and 8G RAM respectively.

The laptop is dual boot, Linux by default, Win7 if some radio programming is needed, that can't be done with CHIRP.  (DMR usually.)   The HP is Linux only.

The Dell XPS laptop only has the single internal single sound system, while the HP machine has multiple internal sound ports (front headset port, rear line-in/line-out, HDMI/DVI and so on) + the two external devices that are attached to two radios, the SDR dongles, and a USB headset.)

I find ALSA is a pain to use in that environment, as before the instances move about each boot.   But I have used ALSA's scripting interface in the past on another machine, so that a mobile DireWolf based APRS dual band station/gateway would start-up correctly, but that was over 3 years ago, and a different flavour of Linux (Linux Lite, still Debian based, on an Acer One netbook!)

In essence, that was as much a dedicated system as any, and I'm sure I could do the same with FreeDV on a dedicated box, but in this case I would like it to co-exist (though not always running at the same time) with other audio interface software I use, that is ludicrously easy using Pulse and Pavu, but a right royal restricting pain in the butt if I have to use ALSA.

Unless, anyone knows how to get ALSA to share RX devices with multiple applications at the same time.  (That Pulse permit's and handles without question.)

I have looked into installing the JACK system, but it seems there are issues on Debian based systems, where Pulse is pre-installed.

~ ~ ~

Lastly.   "Playing" in single card RX only mode, works.  Playing back the test wav files, work, with the exception of Horus mode.  Before UDP was enable, FreeDV just quit if you tried to start that.

With UDP enabled, when you try to play the Horus test file from the website, it fill's the screen with "Many" copies of the file chooser dialogue.  Needing FreeDV killing off via the command line in another workspace!   However if left to it's own devices, it eventually crashes and burns anyway.  (I don't know any HAB users of Horus in the UK or EU, so is probably a non-problem, most use DlFldigi with custom RTTY settings, or LORA systems.)

~ ~ ~

PTT?   Never had a problem.   There again, I grew up with RS232 and am fully aware of all it's little foibles.

73.

Dave G8KBV.

You received this message because you are subscribed to a topic in the Google Groups "digitalvoice" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/digitalvoice/TUTSQXqKNx8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to digitalvoice...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/digitalvoice/cfe2324f-8755-491f-a62c-8513b1c5f937%40googlegroups.com.

Jim

unread,
Oct 11, 2019, 9:45:36 AM10/11/19
to digitalvoice

Thanks for all the suggestions, and in fact the one that works is to kill off pulse audio.

I guess that makes me less interested in trying to run freedv, since I use pulse
with fldigi which is my main digital application.

Jim W6JVE

n8vnr

unread,
Oct 12, 2019, 12:57:20 PM10/12/19
to digitalvoice
I've had good luck running
pasuspender -- path/to/freedv

That keeps PA from using the audio devices while running FreeDV, but apps that use PulseAudio won't freak out because the daemon is offline. As soon as FreeDV exits, PA resumes use of the audio devices.

Jim Haynes

unread,
Oct 12, 2019, 1:35:14 PM10/12/19
to digitalvoice
On Sat, 12 Oct 2019, n8vnr wrote:

> I've had good luck running
> pasuspender -- path/to/freedv
>
Thanks, I'll try that. Much easier than having to kill off pulse audio
by hand.

Jim

unread,
Oct 12, 2019, 7:57:33 PM10/12/19
to digitalvoice
Now, the next problem.  I ran pasuspender /usr/local/bin/freedv and now the audio config shows the
devices.  On receive everything looks good, but on transmit the sample rate is none and it doesn't let
me choose any other sample rate.

Jim W6JVE

Stuart Longland

unread,
Oct 12, 2019, 8:44:20 PM10/12/19
to digita...@googlegroups.com
On 11/10/19 11:45 pm, Jim wrote:
> I guess that makes me less interested in trying to run freedv, since I
> use pulse
> with fldigi which is my main digital application.

fldigi should _not_ be using PulseAudio either… PulseAudio is for audio,
fldigi is a modem.

Sure, use PulseAudio as the interface to your microphone/speakers or
headset, delivering audio to the user is exactly its use case. Making
it deliver modem tones is a recipe for mangling data transmissions.

Dave B

unread,
Oct 13, 2019, 2:35:54 PM10/13/19
to digita...@googlegroups.com
I hate to say this, but...

Fldigi's author recommends using Pulseaudio with Fldigi, and indeed it
works flawlessly for both TX and RX.  The only penalty is the extra CPU
overhead with all the resampling down to 8kHz, and up from 8kHz for
whatever rate PA run's the hardware at, if you have a "lower powered"
machine.

PavuControl, is also very much superior at "managing" what audio stream
goes where, and comes from, than any ALSA tool I've found.  (I've been
playing today in that respect.)   Especially at indicating the relative
level of the signals passing through it.  MUCH easier to setup and get
right than Alsamixer (command line or GUI version!)  I've yet to find
any that actually indicate even just the presence of audio, let alone
the level.

Sadly, I still can't get FreeDV to use even just one instance of Pulse
at the moment it throws an error and exits.  (Let alone 4 as ideally
needed!)

Where in the code are the checks for "sound card configuration
validity?"   I'd like to try disabling such things for "Pulse" as a test.

73.

Dave G0WBX.


On 13/10/2019 01:44, Stuart Longland wrote:
> On 11/10/19 11:45 pm, Jim wrote:
>> I guess that makes me less interested in trying to run freedv, since I
>> use pulse
>> with fldigi which is my main digital application.
> fldigi should _not_ be using PulseAudio either… PulseAudio is for audio,
> fldigi is a modem.
>
> Sure, use PulseAudio as the interface to your microphone/speakers or
> headset, delivering audio to the user is exactly its use case. Making
> it deliver modem tones is a recipe for mangling data transmissions.

--

Adrian Musceac

unread,
Oct 13, 2019, 2:44:35 PM10/13/19
to digita...@googlegroups.com
That's strange. I recently used FreeDV to listen to an Es'hail QSO with WebSDR. It always worked well with Pulseaudio for me. I don't know about Tx though, I don't have an SSB radio.

Adrian

Dave B

unread,
Oct 14, 2019, 5:15:49 AM10/14/19
to digita...@googlegroups.com

Hi.

Indeed, I've been doing the same, but with QSSTV taking audio from the Goonhilly WebSDR, using PA to route the "RX Audio" from the "monitor" of the "default output device", that was being used as the input source for QSSTV.

(This running a fully up-to-date Mint 19.2, 64 bit, with the Cinnamon desktop.)

I've done exactly the same (sometime simultaneously) with Fldigi too..  Not only with the QO100 WebSDR, but with other HF SDR's on the web.  Just "tune in" and watch the appropriate decoder, no need to keep launching and killing decoder app's.

Sadly, with FreeDV, this sort of trick doesn't seem to be an option, not at the moment without even more physical sound devices and patch cables!.

73.

Dave G0WBX.

--
You received this message because you are subscribed to a topic in the Google Groups "digitalvoice" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/digitalvoice/TUTSQXqKNx8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to digitalvoice...@googlegroups.com.

Adrian Musceac

unread,
Oct 14, 2019, 5:31:50 AM10/14/19
to digita...@googlegroups.com
I think my setup works well because I have two interfaces: HDMI and analog output. I always use the HDMI one to pipe the WebSDR into, and FreeDV listens on the HDMI monitor and outputs on analog. I seem to remember that you could create as many monitors for loopback as you wanted. But I'm not 100% sure of that.
By the way, Pulseaudio can be configured for low latency: from fragment size to resample method there are many options in /etc/pulse. I know because I wrote code using the Pulse API for my application. Nowadays I use the Qt audio wrapper which supports everything.

73,
Adrian YO8RZZ

Michael, DK5HH

unread,
Feb 1, 2021, 1:29:20 PM2/1/21
to digitalvoice
in adition -- support of pulseaudio for other linux flavours...


is there any step seen for a solution to use pulse audio? -- WE are now 15 month later!



Sorry to say that -- it is a little bit frustrating to read, all these problems on linux systems. And pulse audio is the standard with most linux flavours! And all other Ham-Software on linux uses pulse audio (wsjtx, freedv ...)

I observed the above reported errors here as well before I thought "you might be not the first who observed these incompatibile combinations" -- So, I have to say many thanks to G8KBV, G0WBX and all other reporters here. It saved me a lot of time and frustration!

hopefully we are near to a solution --
So I compuiled  freedv 1.5.2 devel (github) yesterday, when there was no working binary for opensuse thumbleweed (what a pitty)

But this does not help!

So I like to ask for support for the rest of hams who use linux as shack-computer with ordinary desktop environment

Michael, DK5HH

Travis Tabbal

unread,
Feb 1, 2021, 1:43:09 PM2/1/21
to digita...@googlegroups.com
It's possible I made some config changes, but Ubuntu works. Pulse is able to interface with ALSA, so it creates those connections and applications just use ALSA. I actually recently switched to a Windows VM for most radio stuff though. I kept getting weird crashes and audio related issues in Linux FreeDV that I couldn't reliably reproduce, thus no bug reports from me about it. I suspect these were caused by the Pulse/Alsa layer getting in a weird state, not actually FreeDV doing something wrong. It would usually clear up after a while, but it seemed to happen at the worst possible time, like trying to catch a QSO, and I finally gave up. 


You received this message because you are subscribed to the Google Groups "digitalvoice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to digitalvoice...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/digitalvoice/9173881b-d253-41f4-96be-aca7d8c4740en%40googlegroups.com.

Dave B

unread,
Feb 1, 2021, 4:29:52 PM2/1/21
to digita...@googlegroups.com

Hi.

I don't know how they do it, but many Ham applications seem to use ALSA for their sound I/O, but in a way that routes through Pulse, then probably back to ALSA.  I don't truly know.

But I and others regularly use more than one sound card application simultaniously under Linux, without issues.

Here we have Audacity and Fldigi, both configured to use Pulse via ALSA, and sharing the same stream (I have an old iMic device used for my HF radio) without any issues at all.

Each is also using a different sample rate, as far as they are concerned.  Audacity using it's default 44100 rate, fldigi it's default 8000 sample rate.

I have in the past had Fldigi, WSJTx, QSSTV and Audacity, all running at the same time, "listening" to the same source.  And also able to be easily flipped to another source ("Input Device" say the VHF radio) without bringing the world crashing down, or disturbing the application that just had it's audio stream re-sourced.

It all works seamlessly.  And has done for some years, allowing one to change levels as seen by the different applications, without affecting the others.

The above is a screen scrape from this Mint 19.3 64 bit system, running on 10 year old 4 core Intel I5 based hardware, with 8G RAM.

Sadly, it is currently impossible to do this with FreeDV if you have any instance of PavuControl running, FreeDV gets utterly messed up in it's audio device selection, eventually crashing and burning, and also de-stabilising other programs as a result.

We have to ask, Why?  (At least two of those in the above list, are also QT based applications, so what do they do different?  They are open source too, but that level of programming is way above my grey cell ability to understand.)

As before, I'm willing to test, but the last install of a binary I tried, was floored by undocumented and unresolvable dependency issues.  (Other .deb file distributed applications, manage to detect and fix any needed dependencies, "automagically".)

I tried a build from source on another Mint 19.3 machine, but also found dependency issues there that I was unable to resolve, resulting in a lack of enthusiasm about it all.  How many other potential users/testers etc have been put off by that?   To this day, the last successful build of FreeDV, was V4.1 Dev.  That went 100% to plan as described in the documentation at the time.

I'm actually considering removing and flushing FreeDV from the systems here.  As on HF the noise level is such that it can't reliably decode anything but the strongest stations anyway (that of course would be perfect copy under analogue SSB.)

Not that I've ever seen/heard any FreeDV signals other than on 80m on Sunday Mornings for the RSGB news.  The QSO finder page always seems unused when I look...

Coupled with the issue that currently it is impossible to do anything else "sound card digi-mode" wise, with the computer if FreeDV is running.

I would like to experiment with it on VHF/UHF, but until the crazy restriction on the use of the sound subsystem when it is running is resolved, I can't.

When the weather warms up, and we can get out and about again, I hope to get out portable (or at least vehicle portable) to get away from the urban RFI Smog, just to see what it can do in a quiet location.  Assuming I can find such a spot!

73.

Dave G8KBV (G0WBX is also me.  Well, the licence fee's are zero, so why not...)

Mooneer Salem

unread,
Feb 2, 2021, 11:28:48 AM2/2/21
to digita...@googlegroups.com
Hi Dave,

I'm not sure what Mint or Debian are currently using, but it's possible that a newer version of PortAudio might fix some/most of those problems. I know at least that recently for the macOS builds, we basically had to switch to building and including the latest Git snapshot because of incompatibilities caused by Big Sur.

Also, FreeDV 1.5.2 has some significant changes to how audio device configuration is stored. In my (as well as others') testing, it's allowed the application to consistently attach to the same audio devices (and pop up a message if one of the devices somehow goes away to allow the user to reconfigure). I sent out a link to Debian and other packages for it recently at https://www.dropbox.com/sh/1bp2fmqjcuqltup/AABzsxlmhBGAfWOUFHXmEf6Ca?dl=0. (BTW, the dependencies should be set correctly but the packages are named such that it would be a good idea to remove any existing libcodec2/FreeDV packages from the system before installing these. Regardless, if you run into any issues, please let me know; these were generated with CMake's cpack and should be somewhat straightforward to fix.)

Thanks,

-Mooneer K6AQ


--
You received this message because you are subscribed to the Google Groups "digitalvoice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to digitalvoice...@googlegroups.com.

Michael, DK5HH

unread,
Feb 4, 2021, 3:56:42 PM2/4/21
to digitalvoice
Dear Mooneer (K6AQ), dear readers of the list messages,

thanks for the assistance and for providing the recent versions of freeDV/codec2.


Mint an debian are using Pulse audio. I myself compiled the Github-version of Freedv 1.5.2-devel (28.1.21) on Opensuse Thumbleweed (rolling release) with absolutly very actual versions of all mandatory packages..

But it does not prevent all these errors using pulseaudio and pavucontrol decribed above -- it seems to be the same errors since the last 15 month! -- No improvement!  What a a disappointment!

Are there any software developers with the freedv team who read these error reports out there?

As mentioned before: we, the disappointed users will assist the developement where ever you invite us.

vy 73

Michael, DK5HH
BTW: you can find a youtube video of a conference talk to about 150 hams listeners on the "Amateurfunktagung, München, 29.Febuary, 2020" on https://www.youtube.com/watch?v=N0JFisGL9dQ (talk was held in German language)
The video shows explanations as well as practical demonstration of audio samples -- all in all a declaration of love for freeDV

Mooneer Salem

unread,
Feb 4, 2021, 4:32:54 PM2/4/21
to digita...@googlegroups.com, David Rowe
Hi Dave,

I took a look at the current issue list on GitHub (https://github.com/drowe67/freedv-gui/issues) and didn't see anything mentioning your specific issue. However, I did see a feature request specifically for PulseAudio support (https://github.com/drowe67/freedv-gui/issues/16). Still, I would think that PortAudio's Linux support should be allowing FreeDV to behave somewhat reasonably even without Pulse-specific features.

Anyway, I'll see if I can duplicate your setup in a VM as best as possible (I typically develop on Mac but do have an existing Ubuntu VM that seemed to work okay in initial tests, but I don't think I was running pauvcontrol either). Due to work and other non-ham radio/open source commitments, however, it may be a bit. Perhaps David can assist as well?

Thanks,

-Mooneer K6AQ

Mooneer Salem

unread,
Feb 5, 2021, 3:59:26 AM2/5/21
to digita...@googlegroups.com
Hi Dave,

I installed pavucontrol on my Ubuntu VM last night and played with PulseAudio a bit. In brief testing with a one sound card configuration, FreeDV appeared in pavucontrol as soon as I pushed Start and I was seemingly able to adjust the volume and mute the FreeDV app with no issues. Granted, this is with only FreeDV using sound, but it does show that the basic functionality is there:

Screen Shot 2021-02-05 at 12.14.14 AM.png

Here's another screenshot with multiple applications using PulseAudio simultaneously (WSJT-X and FreeDV grabbing receive audio from SparkSDR). Again, it seemed to work properly in brief testing:

Screen Shot 2021-02-05 at 12.52.13 AM.png

That said, I did discover an issue with one sound card setups and 1.5.2, which has been fixed in https://github.com/drowe67/freedv-gui/pull/103. I have new builds based off of that branch at https://www.dropbox.com/sh/g9jpq8s4u7cvvjj/AADbG4Dbe_pLW8wlyiMhFrdsa?dl=0 (or you can build off of the "bugfixes" branch at https://github.com/tmiw/freedv-gui/tree/bugfixes). Hopefully that'll help at least a bit.

Anyway, if there are any specific scenarios that are problematic, please post an issue over at GitHub (https://github.com/drowe67/freedv-gui/issues) and we'll triage as appropriate. At the moment it's basically just me and David working on FreeDV code, so it may take a while due to other commitments as previously mentioned. However, others are more than welcome to submit pull requests to add functionality and/or fix bugs (and would be much appreciated!)

Thanks,

-Mooneer K6AQ

Mooneer Salem

unread,
Feb 6, 2021, 3:46:37 AM2/6/21
to digita...@googlegroups.com
A quick update: I have another build at https://www.dropbox.com/sh/m801b5hsu62n2fv/AAAzIHs3jEFRt7gRUpP6Gctla?dl=0 due to another issue I found with the audio config. The PR and source tree previously mentioned have also been updated. Let me know if you have any questions.

-Mooneer K6AQ

Dave B

unread,
Feb 6, 2021, 9:02:52 AM2/6/21
to digita...@googlegroups.com

Hello Mooneer.  (And listeners.)


Coming back to this...

I've removed the old 1.4_dev files.  AFAIKT, it was all built in the source tree, and run from there...


But, trying your .deb's again, it is all a bit of a disaster.

So far, all I've got to install is LPCNet 0.2.0 from  lpcnet_0.2.0_amd64.deb  in your dropbox.

That the file  codec2_0.9.2_amd64.deb  (also in your dropbox) said it needs.

But even after LPCNet is successfully installed, the codec2 .deb still fails saying :-

Error: Dependency is not satisfiable: LPCNet (>= 0.2.0)


PLEASE PLEASE (sorry)  Test such things as .deb files on a "Clean" system (even in a VM) that you have never done any development work with to make sure the result is as desired, before making them available to others for testing.

If you're using Virtual Box, it is easy to have a "clean" master VM, that you can (A) clone when needed for testing, not needing to go through the usual install every time.   And (B) keep up to date from the distro repo's while keeping it "user application" clean.

Or, create .deb files that can identify and fetch their own dependency needs, as many other software authors manage to do it seems.   Heck, even the OS updates using the same underlying system, manages to find what's needed "automagically" when something like the kernel is updated.

Currently, I now have no FreeDV system here at all.

Oh, and why does the codec2 .deb "readme" give instructions to build it from source?    AFIK the .deb file(s) should be installing executable's, or is that not the case?

If not, it needs documenting in plain sight.

Sorry if I sound spiky, I've just wasted another two hours on this ending up with a headache, also resulting in no FreeDV at all, not that I could use it much on the low bands anyway.

Regards.

    Dave G8KBV

malc...@gmail.com

unread,
Feb 6, 2021, 12:45:01 PM2/6/21
to digita...@googlegroups.com

Ha-ha… you wasted 2 hours, I wasted about 2 months and never got it to work properly..  

--

You received this message because you are subscribed to the Google Groups "digitalvoice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to digitalvoice...@googlegroups.com.

Mooneer Salem

unread,
Feb 7, 2021, 12:04:04 AM2/7/21
to digita...@googlegroups.com
Hi Dave,

The Debian packages I generate by using the "cpack"/"make package" commands are mainly intended for testing newer versions that have not yet reached the main Debian/Ubuntu package tree. As such, they aren't 100% perfect (and will unlikely to be such any time soon), nor will they be ever used by the respective distro's package maintainers for official packaging short of major policy changes on their end.

That said, to respond to your points:

1. Compiling source code per the packages' README files is not the intention; cpack simply uses the existing README files in the source trees. This of course would not be the case if somehow the packages being produced by this mechanism ever became included in the official Debian or Ubuntu repositories. 

2. Normally, it's not necessary to use a fresh VM for testing; as long as the package database on a development machine/VM is kept reasonably up to date, most issues should still be discovered. However, I did create another Ubuntu VM in my VMware installation and attempted to use the packages (with nothing else installed); while Codec2 and LPCNet did install individually with no issues using dpkg -i, the main FreeDV package did have an invalid "libwxgtk3.0-0v5" dependency (it should be "libwxgtk3.0-gtk3-0v5"). This will be fixed in a PR and I have updated the previously linked Dropbox folder with the fixed package.

(BTW, having the package maintainers be responsible for packaging for their respective distros makes it more likely that issues like these will be discovered earlier, and is probably partly why they have their own integration efforts that don't rely on project-generated packages.)

3. With the previously mentioned dependency being fixed, apt-get -f install immediately after the dpkg -i command shown below does auto-install dependencies on Ubuntu 20.04.2:

mooneer@ubuntu:~$ sudo dpkg -i codec2_0.9.2_amd64.deb lpcnet_0.2.0_amd64.deb freedv_1.5.2-devel-20210206-cae07ad_amd64.deb
Selecting previously unselected package codec2.
(Reading database ... 145161 files and directories currently installed.)
Preparing to unpack codec2_0.9.2_amd64.deb ...
Unpacking codec2 (0.9.2) ...
Selecting previously unselected package lpcnet.
Preparing to unpack lpcnet_0.2.0_amd64.deb ...
Unpacking lpcnet (0.2.0) ...
Selecting previously unselected package freedv.
Preparing to unpack freedv_1.5.2-devel-20210206-cae07ad_amd64.deb ...
Unpacking freedv (1.5.2-devel-20210206-cae07ad) ...
Setting up lpcnet (0.2.0) ...
dpkg: dependency problems prevent configuration of freedv:
 freedv depends on libwxgtk3.0-gtk3-0v5 (>= 3.0.4+dfsg-3); however:
  Package libwxgtk3.0-gtk3-0v5 is not installed.
 freedv depends on libportaudio2 (>= 19.6.0-1build1); however:
  Package libportaudio2 is not installed.
 freedv depends on libhamlib2 (>= 3.3-10build1); however:
  Package libhamlib2 is not installed.
 freedv depends on libgsm1 (>= 1.0.18-2); however:
  Package libgsm1 is not installed.

dpkg: error processing package freedv (--install):
 dependency problems - leaving unconfigured
Setting up codec2 (0.9.2) ...
Errors were encountered while processing:
 freedv
mooneer@ubuntu:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libgsm1 libhamlib2 libportaudio2 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5
The following NEW packages will be installed:
  libgsm1 libhamlib2 libportaudio2 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5
0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
1 not fully installed or removed.
Need to get 5,870 kB of archives.
After this operation, 25.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libwxbase3.0-0v5 amd64 3.0.4+dfsg-15build1 [982 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libwxgtk3.0-gtk3-0v5 amd64 3.0.4+dfsg-15build1 [4,359 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libportaudio2 amd64 19.6.0-1build1 [65.4 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libhamlib2 amd64 3.3-10build1 [439 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libgsm1 amd64 1.0.18-2 [24.4 kB]
Fetched 5,870 kB in 1s (4,550 kB/s)
Selecting previously unselected package libwxbase3.0-0v5:amd64.
(Reading database ... 145184 files and directories currently installed.)
Preparing to unpack .../libwxbase3.0-0v5_3.0.4+dfsg-15build1_amd64.deb ...
Unpacking libwxbase3.0-0v5:amd64 (3.0.4+dfsg-15build1) ...
Selecting previously unselected package libwxgtk3.0-gtk3-0v5:amd64.
Preparing to unpack .../libwxgtk3.0-gtk3-0v5_3.0.4+dfsg-15build1_amd64.deb ...
Unpacking libwxgtk3.0-gtk3-0v5:amd64 (3.0.4+dfsg-15build1) ...
Selecting previously unselected package libportaudio2:amd64.
Preparing to unpack .../libportaudio2_19.6.0-1build1_amd64.deb ...
Unpacking libportaudio2:amd64 (19.6.0-1build1) ...
Selecting previously unselected package libhamlib2:amd64.
Preparing to unpack .../libhamlib2_3.3-10build1_amd64.deb ...
Unpacking libhamlib2:amd64 (3.3-10build1) ...
Selecting previously unselected package libgsm1:amd64.
Preparing to unpack .../libgsm1_1.0.18-2_amd64.deb ...
Unpacking libgsm1:amd64 (1.0.18-2) ...
Setting up libportaudio2:amd64 (19.6.0-1build1) ...
Setting up libgsm1:amd64 (1.0.18-2) ...
Setting up libhamlib2:amd64 (3.3-10build1) ...
Setting up libwxbase3.0-0v5:amd64 (3.0.4+dfsg-15build1) ...
Setting up libwxgtk3.0-gtk3-0v5:amd64 (3.0.4+dfsg-15build1) ...
Setting up freedv (1.5.2-devel-20210206-cae07ad) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
mooneer@ubuntu:~$

However, specifying paths with apt install--which is supposedly possible per stuff I've found online--produced the "not satisfiable" message.

4. Additionally, I updated the codec2 package's dependency to point to "lpcnet" instead of "LPCNet". This then allowed the packages to be installed via apt-get:

mooneer@ubuntu:~$ sudo apt install ./codec2_0.9.2_amd64.deb ./freedv_1.5.2-devel-20210206-cae07ad_amd64.deb ./lpcnet_0.2.0_amd64.deb
[sudo] password for mooneer:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Note, selecting 'codec2' instead of './codec2_0.9.2_amd64.deb'
Note, selecting 'freedv' instead of './freedv_1.5.2-devel-20210206-cae07ad_amd64.deb'
Note, selecting 'lpcnet' instead of './lpcnet_0.2.0_amd64.deb'
The following additional packages will be installed:
  libgsm1 libhamlib2 libportaudio2 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5
The following NEW packages will be installed:
  codec2 freedv libgsm1 libhamlib2 libportaudio2 libwxbase3.0-0v5
  libwxgtk3.0-gtk3-0v5 lpcnet
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 5,870 kB/18.0 MB of archives.
After this operation, 65.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 /home/mooneer/lpcnet_0.2.0_amd64.deb lpcnet amd64 0.2.0 [8,574 kB]
Get:2 /home/mooneer/codec2_0.9.2_amd64.deb codec2 amd64 0.9.2 [1,053 kB]      
Get:3 /home/mooneer/freedv_1.5.2-devel-20210206-cae07ad_amd64.deb freedv amd64 1.5.2-devel-20210206-cae07ad [2,536 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libwxbase3.0-0v5 amd64 3.0.4+dfsg-15build1 [982 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libwxgtk3.0-gtk3-0v5 amd64 3.0.4+dfsg-15build1 [4,359 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libportaudio2 amd64 19.6.0-1build1 [65.4 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libhamlib2 amd64 3.3-10build1 [439 kB]
Get:8 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 libgsm1 amd64 1.0.18-2 [24.4 kB]
Fetched 5,870 kB in 1s (4,528 kB/s)
Selecting previously unselected package lpcnet.
(Reading database ... 145161 files and directories currently installed.)
Preparing to unpack .../0-lpcnet_0.2.0_amd64.deb ...
Unpacking lpcnet (0.2.0) ...
Selecting previously unselected package codec2.
Preparing to unpack .../1-codec2_0.9.2_amd64.deb ...
Unpacking codec2 (0.9.2) ...
Selecting previously unselected package libwxbase3.0-0v5:amd64.
Preparing to unpack .../2-libwxbase3.0-0v5_3.0.4+dfsg-15build1_amd64.deb ...
Unpacking libwxbase3.0-0v5:amd64 (3.0.4+dfsg-15build1) ...
Selecting previously unselected package libwxgtk3.0-gtk3-0v5:amd64.
Preparing to unpack .../3-libwxgtk3.0-gtk3-0v5_3.0.4+dfsg-15build1_amd64.deb ...
Unpacking libwxgtk3.0-gtk3-0v5:amd64 (3.0.4+dfsg-15build1) ...
Selecting previously unselected package libportaudio2:amd64.
Preparing to unpack .../4-libportaudio2_19.6.0-1build1_amd64.deb ...
Unpacking libportaudio2:amd64 (19.6.0-1build1) ...
Selecting previously unselected package libhamlib2:amd64.
Preparing to unpack .../5-libhamlib2_3.3-10build1_amd64.deb ...
Unpacking libhamlib2:amd64 (3.3-10build1) ...
Selecting previously unselected package libgsm1:amd64.
Preparing to unpack .../6-libgsm1_1.0.18-2_amd64.deb ...
Unpacking libgsm1:amd64 (1.0.18-2) ...
Selecting previously unselected package freedv.
Preparing to unpack .../7-freedv_1.5.2-devel-20210206-cae07ad_amd64.deb ...
Unpacking freedv (1.5.2-devel-20210206-cae07ad) ...
Setting up libportaudio2:amd64 (19.6.0-1build1) ...
Setting up libgsm1:amd64 (1.0.18-2) ...
Setting up libhamlib2:amd64 (3.3-10build1) ...
Setting up lpcnet (0.2.0) ...
Setting up libwxbase3.0-0v5:amd64 (3.0.4+dfsg-15build1) ...
Setting up codec2 (0.9.2) ...
Setting up libwxgtk3.0-gtk3-0v5:amd64 (3.0.4+dfsg-15build1) ...
Setting up freedv (1.5.2-devel-20210206-cae07ad) ...
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
mooneer@ubuntu:~$ 

This will also be included in another PR on the Codec2 project. The updated packages are now at the previously mentioned folder link (here again as a reminder).

Anyway, hopefully this will allow you to proceed further. Feel free to submit an issue on GitHub or ask here if you run into further issues.

Thanks,

-Mooneer K6AQ


--
You received this message because you are subscribed to the Google Groups "digitalvoice" group.
To unsubscribe from this group and stop receiving emails from it, send an email to digitalvoice...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages