[pulseaudio-discuss] PulseAudio null sink monitor gives distorted audio randomly
tanuk at iki.fi
Thu Nov 8 14:44:52 UTC 2018
On Thu, 2018-11-08 at 14:56 +0500, Alexander E. Patrakov wrote:
> Mikael Nousiainen <mikaelnousiainen at fastmail.com>:
> > I've got a very weird issue with PulseAudio when trying to route audio
> > from one application (Firefox 64.0b7 (64-bit)) to another one (WSJT-X v1.9.1).
> > I'm experiencing the same issue with different browsers (Chrome and Chromium too).
> > The browser is receiving audio from a radio transceiver through a WebRTC
> > connection and I'm feeding it to WSJT-X to decode the data in the audio signal.
> > I'm using two module-null-sink modules to transfer the audio between
> > the browser and WSJT-X. I use pavucontrol to make the browser play audio to
> > null sink called "radio-output" and then let WSJT-X listen to the audio
> > via "radio-output.monitor". The kind of setup exists for transmitted audio
> > where WSJT-X feeds audio to the browser through a null sink called "radio-input".
> > However, the issue her is that WSJT-X is mostly not able to decode the data
> > when it's using "radio-output.monitor" as audio input. Sometimes it works
> > and sometimes it does not. As a technical detail, I'm trying to decode FT8
> > digital mode traffic and I've confirmed that the reason is not related to
> > bad time sync (which FT8 requires), because I can even play the browser
> > audio through laptop speakers and let WSJT-X use the laptop microphone as
> > audio input and it decodes the data just fine -- the audio sounds clean
> > and strong with no audible artifacts.
> We need to figure out whether this is due to a monitor or due to a
> null sink. Could you please let the browser play to your speakers, and
> WSJT-X record from the monitor of the sound card that the browser is
> playing to? Does it work?
> Is the webrtc feed public? I.e., can I run WSJT-X locally in order to
> reproduce the issue?
The problem is most likely due to this bug regarding monitor sources:
Whenever the monitored sink has a rewind, a chunk of audio is
apparently duplicated in the monitor source. It would be great if
someone could figure out what goes wrong in the monitor rewinding code.
More information about the pulseaudio-discuss