[pulseaudio-discuss] Monitoring and Pulseaudio accuracy

Lennart Poettering lennart at poettering.net
Thu Dec 17 03:03:10 PST 2009


On Mon, 30.11.09 10:33, Neil Wilson (neil at aldur.co.uk) wrote:

> Hi all,
> 
> I have pulseaudio running on Ubuntu and send the sound digitally to a
> set of High end digital speakers. Since it is Hi-Fi, the work I'm
> doing involves ensuring wherever possible that the digital bits are
> not disturbed by the software systems the value is passing through -
> unless it has to be when the softphone rings.
> 
> I did a simple test using pacat and parecord on the sink Monitor with
> a set of float32le tones representing a simple log sweep through the
> frequency range. Volumes were set to 100% across the entire chain. Yet
> when I checked the float values, they had been perturbed by a small
> amount.
> 
> That got me thinking. Can pulseaudio maintain a 'clean path'
> throughout the entire software chain?

Yes. That should actually be the default. We do our best never to
touch the audio data if we dont have to, simply to minimize cache, CPU
and memory utilization.

Please provide the output of "pacmd ls". This should give us a hint
about the routing and where the modifications of the samples happened.

> I'm presuming that some sort of rounding or conversion internally has
> altered the float32le. Is there a representation that would be more
> likely to come through 'clean'?

If your audio device speaks float32le natively, we don't convert at
all. However if it doesn't you'll get the conversion results on the
monitor source. (i.e. in the idea that the monitor source will inform
you as exactly as possible about the actual PCM samples played)

> Additionally when I was doing a parec on the Monitor and used the
> 'float32ne' format it seemed to come out Big Endian on an Intel
> machine, which surprised me a little. Is that a bug or did I miss
> something?

Hmm, uh, that sounds like a bug. Could you give me a quick test case
how I can reproduce this and file a bug?

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4



More information about the pulseaudio-discuss mailing list