>>>>> On Sun, 07 Feb 2010 14:16:58 -0600, w1hkj <[email protected]> said:

>     Fix PulseAudio backend
>       * Flush capture stream after transmitting
>       * Reduce stream latency

This commit should make PulseAudio usable again. The main problems were:

* Spurious error message when ending transmission (my mistake, earlier
  PA versions did not catch the error so there was no message).

* Very coarse waterfall movement on receive due to high capture latency
  (2s!) in recent PA versions.

* Some captured audio (probably silence) would buffered during transmit
  and then decoded when going back to receive. I think the problem was
  there originally but it was made much worse when the default latency
  went up.

Please test if you use PulseAudio!  It will be the default audio backend
for new users from v3.13 onwards if fldigi detects that the pulseaudio
daemon is running.  The reason for this change is that just about all
modern distros use PulseAudio and even reroute ALSA to it using a
plugin.  Some packaged versions of PortAudio do not work well with this
setup (or indeed even with plain ALSA).

One noticeable difference from the PortAudio backend is that the device
sample rate is no longer selectable.  The PulseAudio daemon probes the
audio device and opens it with the best sample rate, i.e. what fldigi
would do with PortAudio anyway.  As a result, PulseAudio also does the
resampling.  Fldigi will do its own resampling (using the SRC converter
specified in Audio/Settings) _only_ when the TX or RX PPM settings are
nonzero.  You may assume that PulseAudio uses a decent quality/speed
sample rate converter.

In summary:

* PulseAudio determines the device sample rate. If you really need to
  change that, edit the PulseAudio config (see below).

* PulseAudio selects the sample rate converter. This setting can also be
  changed, e.g. from the default speex-float-3 to src-sinc-fastest or
  -medium.

To change the sample rate, edit ~/.pulse/daemon.conf (copy
/etc/pulse/daemon.conf if you don't have one in ~/.pulse).  Find and
change the "default-sample-rate" setting.

To change the sample converter, edit the same file and change the
"resample-method" setting.  Valid resampler names are listed with
"pulseaudio --dump-resample-methods".  Example:

  resample-method = src-sinc-fastest

Remember to restart pulseaudio with "pulseudio -k; pulseaudio -D".


Finally, I intend to remove the OSS backend after 3.13 is out. It does
nothing that PortAudio/OSS doesn't do.


-- 

73,
Stelios, M0GLD.
_______________________________________________
fldigi-alpha mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/fldigi-alpha

Reply via email to