Ubuntu

Pulseaudio produces overdriven audio on mono downmix (e g to Plantronics DA40 adapter)

Reported by Joel Ebel on 2009-08-20
42
This bug affects 6 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Medium
David Henningsson
Precise
Undecided
David Henningsson

Bug Description

[SRU Justification]
Impact: See below. But in short, distorted sound when on an analog-mono profile. Most soundcards support analog-stereo only, but for some hardware, this is a problem.

Testcase: Using hardware that supports analog-mono profile, play back audio, source
material at sufficient volume. If this bug is fixed, there is no distortion.

Regression potential: Can't think of any, and if so, it should only affect downmixing to mono, which is unusual anyway.

In Intrepid and Jaunty, audio sent through the Plantronics DA40 is distorted if the per-application volume is above around 80%. Unfortunately, all applications default to 100%. Audio sent directly to the ALSA device is not distorted, so this is something happening in pulseaudio. I attempted to test this under Karmic, but the volume sliders behave very differently, with the pavucontrol sliders adjusting the ALSA "Speaker" mixer, and I was unable to remove the distortion at all.

The DA40 is a mono device, so perhaps it's a problem with pulse downmixing stereo audio to mono without reducing the per-channel level, resulting in clipping. but I tested with a DA45, which is a similar mono adapter, and the problem didn't exist.

Pedro Villavicencio (pedro) wrote :

Thanks for taking the time to report this bug and helping to make Ubuntu better. Could you please open a terminal and execute: apport-collect 416190 ? It will attach the necessary information to this report. Thanks in advance.

Changed in pulseaudio (Ubuntu):
status: New → Incomplete
importance: Undecided → Low

Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: jbebel 3925 F.... mixer_applet2
Card0.Amixer.info:
 Card hw:0 'ICH6'/'Intel ICH6 with AD1981B at irq 22'
   Mixer name : 'Analog Devices AD1981B'
   Components : 'AC97a:41445374'
   Controls : 26
   Simple ctrls : 18
Card1.Amixer.info:
 Card hw:1 'Adapter'/'Plantronics DA40 Adapter at usb-0000:00:1d.1-2, full speed'
   Mixer name : 'USB Mixer'
   Components : 'USB047f:da40'
   Controls : 8
   Simple ctrls : 4
DistroRelease: Ubuntu 9.04
Package: pulseaudio 1:0.9.14-0ubuntu20.2
PackageArchitecture: i386
ProcEnviron:
 SHELL=/bin/bash
 PATH=(custom, user)
 LANG=en_US.UTF-8
Uname: Linux 2.6.28-15-generic i686
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare vboxusers

Changed in pulseaudio (Ubuntu):
status: Incomplete → New

There has been no activity on this bug for a while. Is this still an issue with either Ubuntu Karmic 9.10 with latest updates installed, or Ubuntu Lucid 10.04 alpha 3?

Thanks.

Changed in pulseaudio (Ubuntu):
status: New → Incomplete
Joel Ebel (jbebel) wrote :

The overdriven sound seems to no longer be happening on Karmic or Lucid. Though I'm puzzled since according to my notes, I did see this in Karmic previously, and I don't see any changes to pulseaudio in Karmic that I feel should have fixed it. I may do some more testing with the original pulseaudio in Karmic tomorrow.

Strangely, the pulseaudio volume control in Lucid didn't adjust the alsa volume at all for the DA40 adapter. It seemed to be a software volume control only. This meant that if the alsa volume was turned down, pulseaudio was unable to turn it back up. This wasn't the case for the internal sound card, nor was it the case in Karmic.

Changed in pulseaudio (Ubuntu):
status: Incomplete → New
Joel Ebel (jbebel) wrote :

I spoke too soon. This is NOT fixed in Karmic or Lucid. Yesterday I was testing with a file that didn't use maximum amplitude. Once I tested with my favorite overdriven audio (Eagles Greatest Hits), I reproduced the overdriven sound on both Karmic and Lucid. Turning down the application specific volume to about 70% in Pulseaudio removed the overdriven sound. I've reproduced this with multiple computers and multiple DA40 adapters. Turning down the ALSA mixer levels or the master pulseaudio volume reduces the volume, but not the distortion.

I'm still surprised that the master pulseaudio volume control doesn't control the ALSA volume with the DA40 adapter under Lucid. It does in Karmic, and it does for the internal sound card under Lucid.

We use the DA40 adapter pretty heavily, so it would be nice for it to work well without having to reduce the per-application volume for every application. Having it default to an appropriate level would be a reasonable workaround, but I'm not aware of a way to do that in user configuration.

tags: added: glucid
Daniel T Chen (crimsun) on 2010-03-05
affects: pulseaudio (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
status: New → Confirmed
Liz Fong-Jones (lizthegrey) wrote :

I too observe this (thanks for the 70% per-application workaround!)

wavded (wavded) wrote :

This has been happening since my upgrade to Karmic and now also in Lucid for me, namely the distorted/overdriven sound. If I use alsamixer and drop the master to around 70-80% the distortion seems to go away.

wavded (wavded) wrote :

Forgot to mention.. I'm running a Intel Corp. N10/ICH 7 Family High Definition Audio Controller.

Wavded, please file a separate bug against alsa-driver.

On May 8, 2010 10:30 PM, "wavded" <email address hidden> wrote:

This has been happening since my upgrade to Karmic and now also in Lucid
for me, namely the distorted/overdriven sound. If I use alsamixer and
drop the master to around 70-80% the distortion seems to go away.

--
Pulseaudio produces overdriven audio on Plantronics DA40 adapter
https://bugs.launchpad.net/bug...
Audio Development Team, which is a direct subscriber.

Status in “linux” package in Ubuntu: Confirmed

Bug description:

In Intrepid and Jaunty, audio sent through the Plantronics DA40 is distorted
if the per-application ...

Updating with more information: I have just experienced this exact same issue with a Plantronics DA45 adapter (I'm assuming it's similar to the DA40), this time with Natty Narwhal (11.04).

Liz Fong-Jones (lizthegrey) wrote :

Still happening on Precise, with a DA40.

Joel Ebel, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? Can you try with the latest development release of Ubuntu? ISO CD images are available from http://cdimage.ubuntu.com/releases/ .

If it remains an issue, could you run the following command in the development release from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux <replace-with-bug-number>

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please do not test the kernel in the daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. As well, please comment on which kernel version specifically you tested.

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream', and comment as to why specifically you were unable to test it.

Please let us know your results. Thanks in advance.

tags: added: intrepid jaunty needs-upstream-testing
removed: glucid
tags: added: lucid
Changed in linux (Ubuntu):
status: Confirmed → Incomplete

AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 2.0.1-0ubuntu11
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: elizabeth 2221 F.... pulseaudio
 /dev/snd/pcmC1D0p: elizabeth 2221 F...m pulseaudio
 /dev/snd/controlC0: elizabeth 2221 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'PCH'/'HDA Intel PCH at 0xf2620000 irq 50'
   Mixer name : 'Intel CougarPoint HDMI'
   Components : 'HDA:14f1506e,17aa21e8,00100000 HDA:80862805,80860101,00100000'
   Controls : 27
   Simple ctrls : 9
Card1.Amixer.info:
 Card hw:1 'Adapter'/'Plantronics DA40 Adapter at usb-0000:0f:00.0-1, full speed'
   Mixer name : 'USB Mixer'
   Components : 'USB047f:da40'
   Controls : 8
   Simple ctrls : 4
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw unknown'
   Mixer name : 'ThinkPad EC (unknown)'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
DistroRelease: Ubuntu 12.04
HibernationDevice: RESUME=UUID=cf313aef-17db-4717-a83a-cecf50d13d2f
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111011)
MachineType: LENOVO 12932DU
NonfreeKernelModules: openafs
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.2.0-26-generic root=/dev/mapper/hostname-root ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.2.0-26.41-generic 3.2.19
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-26-generic N/A
 linux-backports-modules-3.2.0-26-generic N/A
 linux-firmware 1.79
StagingDrivers: mei
Tags: precise staging
Uname: Linux 3.2.0-26-generic x86_64
UpgradeStatus: Upgraded to precise on 2012-05-20 (64 days ago)
UserAsoundrc: pcm.dsp1 { type plug slave.pcm "dmix" }
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 07/08/2011
dmi.bios.vendor: LENOVO
dmi.bios.version: 8MET23WW (1.23 )
dmi.board.asset.tag: Not Available
dmi.board.name: 12932DU
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr8MET23WW(1.23):bd07/08/2011:svnLENOVO:pn12932DU:pvrThinkPadX1:rvnLENOVO:rn12932DU:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 12932DU
dmi.product.version: ThinkPad X1
dmi.sys.vendor: LENOVO

tags: added: apport-collected precise staging

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

I reproduce this on Precise with an up to date kernel. This bug is not fixed.

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

apport information

Liz Fong-Jones, please do not apport-collect to another person's report. For more on this please see https://help.ubuntu.com/community/ReportingBugs#Adding_Apport_Debug_Information_to_an_Existing_Launchpad_Bug .

If you are having a problem in Ubuntu, please execute the following via the Terminal and feel free to subscribe me to it:
ubuntu-bug linux
Thanks!

tags: removed: apport-collected precise staging

Christopher, Liz is a colleague of Joel's and mine, and was responding to your request for whether this bug still affects us. The answer is "yes", and Liz was providing the information you asked for, because Joel is no longer on the team. Can you please restore what you deleted and treat her response as a response to your question?

Thomas Bushnell, my request for information was only addressing Joel, not Liz, anyone who mark themselves affected, or those who are just subscribed. As well, Linux package bugs work in a completely different way then userspace bugs, as detailed in https://help.ubuntu.com/community/ReportingBugs#A3._Make_sure_the_bug_hasn.27t_already_been_reported .

Given Joel is no longer on the team and does not have the hardware, this report is closed. However, if Liz or anyone else has a problem in the Linux package, they still need to report a new bug report as outlined in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/416190/comments/39 . This is not to make anyone's life difficult, this just simplifies the triage process and gets the issue addressed as quickly as possible.

Thank you for your understanding. I look forward to being subscribed to Liz's bug, and it getting fixed as soon as possible.

Changed in linux (Ubuntu):
status: Confirmed → Invalid

Christopher, you have misunderstood. I have explained that Liz is not just some random other person who is affected, but is our colleague. We work together. I regret that the appearance you're giving is that you're embarrassed that the bug has gone ignored for two years, and you're trying to find a way to close it. That's not reasonable. This is one and the same report, from our team to you, and you need to be willing to deal with the fact that we there will be changes in who is responsible on our side when things go unaddressed for years.

Mark Russell (marrusl) on 2012-07-23
Changed in linux (Ubuntu):
status: Invalid → Confirmed
Joel Ebel (jbebel) wrote :

Thomas, Liz, if you need me to help work around bugs in Launchpad and broken bug policies, if you can give me login access to a machine I can log in and run apport-collect as myself. However, in the long run, Launchpad really should deal with this problem of turnover better.

But seriously, this bug is almost 3 years old, and I grow tired of having to reconfirm the problem. It's hard for me to imagine that anything at this point is being done to "get[] the issue addressed as quickly as possible."

Raymond (superquad-vortex2) wrote :

it is bug in pa mixing. the mono should be 0.5 of left and 0.5 of the right channel

thread.gmane.org/gmane.comp.audio.pulseaudio.general/13415

D: [pulseaudio] module-device-restore.c: Database contains invalid
data for key: sink:alsa_output.pci-0000_04_02.0.analog-mono:null
D: [pulseaudio] module-suspend-on-idle.c: Sink
alsa_output.pci-0000_04_02.0.analog-mono becomes idle, timeout in 5
seconds.
I: [pulseaudio] resampler.c: Forcing resampler 'copy', because of
fixed, identical sample rates.
D: [pulseaudio] resampler.c: Channel matrix:
D: [pulseaudio] resampler.c: I00 I01
D: [pulseaudio] resampler.c: +------------
D: [pulseaudio] resampler.c: O00 | 1.000 1.000
I: [pulseaudio] remap.c: Using generic matrix remapping

Looks like you've found it Raymond. :) What happens next? Is this something that I could fix my Precise installation myself? Or is this something the Ubuntu Pulseaudio team could release a fix for? Or does it need to be reported upstream?

Raymond (superquad-vortex2) wrote :

the error is caused by this patch

cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/pulsecore/resampler.c?id=f873a2a22441d5eaacc5cbb502cbde829ee30a73

Raymond (superquad-vortex2) wrote :

             * 2) Mono Handling:
            * S:Mono: Copy into all D:channels
             * D:Mono: Copy in all S:channels
             *
             * 3) Mix D:Left, D:Right:
             * D:Left: If not connected, avg all S:Left
             * D:Right: If not connected, avg all S:Right
             *
             * 4) Mix D:Center
             * If not connected, avg all S:Center
             * If still not connected, avg all S:Left, S:Right

D:Mono should be similar to D:Center avg all S:Left, S:Right

Raymond (superquad-vortex2) wrote :

you can try the patch at

pulseaudio.org/ticket/934

Raymond (superquad-vortex2) wrote :

can you post the output of amixer and lsusb -vvvv of da40 and da45 ?

do these device also have a mono playback volume control?

you have to follow up your case in pulseaudio-discuss mailing list about the clipping of the mono playback,
the clipping may also ocurr with recording mono with a stereo mic or 4-channels mic

Joel Ebel (jbebel) wrote :
Joel Ebel (jbebel) wrote :
Joel Ebel (jbebel) wrote :
Joel Ebel (jbebel) wrote :
Joel Ebel (jbebel) wrote :

The da40 and da45 are mono devices. They only have a "Speaker" volume control, in addition to tone controls.

affects: linux (Ubuntu) → pulseaudio (Ubuntu)
Changed in pulseaudio (Ubuntu):
status: Confirmed → Triaged
David Henningsson (diwic) wrote :

Escalated or not, this seems to be a bug that needs fixing and I believe Raymond is correct in comment #44. So I've taken the patch from the pulseaudio ticket, and built a test package.
Once it has finished building in ppa:diwic/pulseaudio-testing, can you please do this:

sudo add-apt-repository ppa:diwic/pulseaudio-testing
sudo apt-get update
sudo apt-get upgrade

Now verify with "apt-cache policy pulseaudio" that version 1:1.1-0ubuntu15.2~diwicppa is installed, reboot your computer, and see if the problem is fixed. Thanks!

David Henningsson (diwic) wrote :

For reference, here's the patch applied to the test package.

Changed in pulseaudio (Ubuntu):
importance: Low → Medium
status: Triaged → Incomplete
summary: - Pulseaudio produces overdriven audio on Plantronics DA40 adapter
+ Pulseaudio produces overdriven audio on mono downmix (e g to Plantronics
+ DA40 adapter)
tags: added: patch
Liz Fong-Jones (lizthegrey) wrote :

I confirm the patch works.

David Henningsson (diwic) wrote :
Changed in pulseaudio (Ubuntu):
assignee: nobody → David Henningsson (diwic)
status: Incomplete → In Progress
David Henningsson (diwic) wrote :

Uploaded to relevant changes; fix to be included at the next upload.

Changed in pulseaudio (Ubuntu):
status: In Progress → Fix Committed
Changed in pulseaudio (Ubuntu Precise):
status: New → Fix Committed
assignee: nobody → David Henningsson (diwic)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pulseaudio - 1:2.1-0ubuntu3

---------------
pulseaudio (1:2.1-0ubuntu3) quantal; urgency=low

  [ David Henningsson ]
  * 0100-resampler-Fix-volume-on-downmix-to-mono.patch:
    Fix clipped audio on downmix to mono (LP: #416190)
 -- Luke Yelavich <email address hidden> Tue, 11 Sep 2012 09:24:29 +1000

Changed in pulseaudio (Ubuntu):
status: Fix Committed → Fix Released
description: updated

Hello Joel, or anyone else affected,

Accepted pulseaudio into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/pulseaudio/1:1.1-0ubuntu15.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
David Henningsson (diwic) wrote :

I don't have the actual headset in question, but my USB headset can be put in a "mono" mode. I can not reproduce the issue with PulseAudio 1:1.1-0ubuntu15.2. So I think it's fixed, but it would be nice with a second opinion from Joel, Liz, Thomas or anyone with the DA40/DA45 headset. Could you enable proposed as suggested in comment #61, reboot afterwards, and then test to see if the bug is gone? Thanks!

tags: added: verification-done
removed: verification-needed
tags: added: precise
removed: needs-upstream-testing
Joel Ebel (jbebel) wrote :

I can confirm that the package in proposed fixes the problem for the Plantronics DA40 adapter. I've never been able to reproduce the problem with my DA45. Jan, you may want to also verify that this fixes you DA45.

David Henningsson (diwic) wrote :

Excellent, thanks Joel.

Thanks for the reminder Joel! :-)

I've been on vacation, but just installed the proposed package and I can confirm that this fixes the problem.

Hi!

Thanks for the reminder. I've been very busy and after that on an
extended vacation, so, didn't have time to test this yet. Just updated
the bug though. :-)

Kindest regards,

Jan Middelkoop
Recreatie en Zorg Groep B.V.

--
Website: http://www.recreatie-zorg.nl/
E-mail: <email address hidden>
Telephone: +31 10 714 22 97

Op 07-12-12 18:38, Joel Ebel schreef:
> I can confirm that the package in proposed fixes the problem for the
> Plantronics DA40 adapter. I've never been able to reproduce the problem
> with my DA45. Jan, you may want to also verify that this fixes you
> DA45.
>

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pulseaudio - 1:1.1-0ubuntu15.2

---------------
pulseaudio (1:1.1-0ubuntu15.2) precise-proposed; urgency=low

  * 0622-Front-headphone.patch:
    Fix "Front headphone Jack" not being picked up by PulseAudio
    (LP: #1020471)
  * 0623-resampler-Fix-volume-on-downmix-to-mono.patch:
    Fix clipping audio on downmix to mono (LP: #416190)
  * 01PulseAudio:
    Don't mute Bluetooth devices on suspend, they might remain muted
    after resume (LP: #1038084)
  * 0624-alsa-mixer-Add-Phantom-Jack-support.patch:
    This will allow us to work better with devices on the backport
    stack by making use of a Quantal kernel feature (if it exists).
    (LP: #946232)
  * 0625-alsa-mixer-Add-a-few-more-machines-to-internal-mic-w.patch:
    Add a few more machines to the internal mic whitelist
    (LP: #1076840) (LP: #1073420)
 -- David Henningsson <email address hidden> Fri, 09 Nov 2012 12:31:19 +0100

Changed in pulseaudio (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers