Bug 366001
Summary: | PulseAudio distorts audio (over amplification) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Valent Turkovic <valent.turkovic> | ||||||||
Component: | pulseaudio | Assignee: | Lennart Poettering <lpoetter> | ||||||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | low | Docs Contact: | |||||||||
Priority: | low | ||||||||||
Version: | 8 | CC: | bnocera, covex, dtimms, pierre-bugzilla | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | All | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2008-09-09 22:44:09 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Description
Valent Turkovic
2007-11-04 19:20:23 UTC
Do you have a smolt profile you can point to, or attach ? : lspci |grep media lsmod |grep snd Have you a different machine that acts the same way ? Created attachment 252751 [details]
smolt profile
here is my smolt profile
I'll test it on another machine this weekend. [root@valent ~]# lspci |grep -i media [root@valent ~]# lsmod |grep snd snd_hda_intel 274657 3 snd_seq_dummy 6725 0 snd_seq_oss 29889 0 snd_seq_midi_event 9793 1 snd_seq_oss snd_seq 44849 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event snd_seq_device 10061 3 snd_seq_dummy,snd_seq_oss,snd_seq snd_pcm_oss 37569 0 snd_mixer_oss 16705 1 snd_pcm_oss snd_pcm 63685 3 snd_hda_intel,snd_pcm_oss snd_timer 20549 2 snd_seq,snd_pcm snd_page_alloc 11337 2 snd_hda_intel,snd_pcm snd_hwdep 10309 1 snd_hda_intel snd 43461 14 snd_hda_intel,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_hwdep soundcore 9633 1 snd here is the full lspci list: # lspci 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 05:05.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller 05:05.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19) 05:05.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01) 05:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a) 05:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05) 05:08.0 Ethernet controller: Intel Corporation PRO/100 VE Network Connection (rev 02) (In reply to comment #2) > Created an attachment (id=252751) [edit] > smolt profile Thanks for the previous info. Next time please choose the type as plain text {for text files}, it makes it so much simpler to read. Can you attach your /etc/modprobe.conf ? Has that been modified at all from install ? Have you tried any of the module options mentioned in ? : http://fedoraproject.org/wiki/KernelHdaDriverOptions On fedora-devel-list you mention the bug applies to F8; is that from a fresh install or from upgrade from rc3 ? Please check the ~"I'm providing requested info box", when you provide the info requested ;) I did both times a clean install. I run both in parallel in separate partition; RC3 and F8 final. RC3 is now also Final but I'll update RC3 to rawhide. I can't find "I'm providing requested info box" - where is it? Created attachment 254361 [details]
modprobe.conf
unmodified modprobe.conf
I tested it on other laptop and there is no sign of this issue, so it looks it is probably hardware specific and not a general bug... > I tested it on other laptop and there is no sign of this issue, so it looks it > is probably hardware specific and not a general bug... Valent, did you try the additional parameters mentioned on my previous request ? The wiki page seems to suggest some hardware that the snd-intel-hda driver uses required additional model specific tweaks. Perhaps there is a suitable tweak for your model. I think it would be worth while trying those items out. I guess if you created an annoying test tone wave file at peak digital level, and then played that, adjusting the volumes, you might be able to see which level control causes overload, ie is it only the wav part, the master or can it be done from CD input level as well ? On much earlier audio cards, wav gain was 0-100 {ie ~-60dB to 0dB=unity}. A previous laptop I had the same wav gain 0-100 {but ~-60dB to +15dB = gain}. If I set that fader greater than around 70-71% audio would be distorted no matter how soft the master {main} output was set. I don't know if that sort of chip weirdness is taken into account, but it could be the underlying cause in this case as well ? Some initial info on laptop man/model, sound chip and stuff added to the hardware link in smolt could help other users in understanding the problem and workarounds: http://smolt.fedoraproject.org/show_all?UUID=c8dbb9d3-a9bd-4ba6-b92e-4a294ba5a95f You might notice that last time I set your bug more needinfo:reporter. The idea behind that is that when you supply information {comment/attach requested} to the bug, you click the checkbox {just above the comment from memory}, and bugzilla tells the bug owner that you feel you have provided the specific info they requested. DaveT. https://fedoraproject.org/wiki/KernelCommonProblems also gives some hints to try under the heading: "High Definition Audio" devices. I went to: http://fedoraproject.org/wiki/KernelHdaDriverOptions but there is no scsconfig.log file on my Fedora 8 system... so I can't find that way which codec I'm using :( I tried using 'options snd-hda-intel index=0 model=3stack-digout' which looked like it would match my hardware but after reboot I still have the same issue. Is there some better way of finding out which model I need to use and not go through all of them till I find one that works? {in F7 at least} it is generated by system-config-soundcard [Soundcard Detection], and the log is placed under /root. I have the same problem with VIA686A... F8 updated from F7. I can confirm that I had the same problem with snd-hda-intel on a laptop that was upgraded from F7. Adding "model=asus-laptop" to the "snd-hda-intel.." options in modprobe.conf fixed it. Mine is still broken. I tesed with model=3stack-digout and model=laptop-hp this two don't work on my HP Pavilion dv6426us laptop any suggestions which other "models" to try? Thank you. I have tested all of these models and none works for my laptop: hp-bpc 3stack-dig laptop-hp hp laptop I'm out of ideas... I still have really bad distortions without lovering PulseAudio volume for each application I use at 50% of volume. my list of tested (and failed) "models" is: hp-bpc - HP xw4400/6400/8400/9400 laptops 3stack-dig - 3-jack in back, a HP out and a SPDIF out laptop-hp hp laptop z71v - 3-jack (HP shared SPDIF) Is anybody else having trouble with this or am I the happy lottery winner? None of the models I tested changes anything... so maybe I really seeing some bug that nobody before me noticed and this got nothing to do with "models". I've been having this problem on my laptop (a Compaq F572US) with a fresh install of F8 (and now with all the latest updates). I will try applying these modprobe options and let you know if I can find one that works for mine. I can try to post more info later, but I just figured I'd chime in real quick and let you know I'm having the exact same problem. Things seem to distort until I set the individual application's volume below 50% (and even above 10% it seems to distort a little). I have to do this every time I open a new application and it's really annoying. -Gideon Mayhak Created attachment 290390 [details]
My most recent scsconfig.log file.
I tried a few of the model options (laptop, hp, 3stack, 3stack-hp, etc.) to no
avail. My chip doesn't seem to match any of the options on the list (an nVidia
MCP51, apparently). I'm attaching my scsconfig.log.
I should note that I hear distortion even with the volume control in the
pavucontrol down to 25% (8% in the PulseAudio Manager). 0% and 100% are the
same between both programs, but there are big differences between. There seems
to be no distortion when I'm down below 10% in pavucontrol, but it's a little
quieter than in Fedora 7 (where I have PCM set to 75% and the master volume set
to 100%).
-Gideon Mayhak
I suspect that this bug is actually two bugs who look like one bug but are not. One bug can be fixed with changing options in modprobe.conf and other bug isn't fixed so easily... This is my suspicion and I would like if somebody with more authority could confirm this. Thank you. If you need console root access to my laptop I'm willing to give you access if you prove you are on fedora devel team. Valent. There is a new PulseAudio version out for two months now, when will we see an update to fedora 8 PulseAudio? I forced PulseAudio update on my system with: yum update pulseaudio --enablerepo=development not I have PulseAudio 0.9,8 but I still see the same issue :( I got some great advice from Tanu Kaskinen on pulseaudio mailinglist. I have Conexant CX20549 (Venice)audio chip on my HP dv6426us "entertainment" laptop. The issue was that this audio card does digital amplification on PCM channel and that distorts audio. I started alsamixer and saw this: Master channel: 0-100% equals -64.50dB to 0dB gain PCM channel: 0-100% equals -30dB to +34.50dB gain When I lower PCM gain to 47% that equals to 0dB gain. Anything with positive gain is digital amplification and that leads to distortion! :( Now I can have pulseaudio per application streams go to 100% without distortion! :) Where should this be fixed? In pulseaudio? In alsamixes? Somewhere else? I looks now that I was right - other people have same symptoms but it look like my bug is different from theirs. Should this be made into a new bug? It seems that a lot of modern audio chips have a gain structure where max level provides gain. Eg for my chip Realtek ALC650E [1]: Most of the gain controls are 5 bit = 32 steps of 1.5 dB For Master Out: -43.5dB to + 3dB gain, with 0dB @ 94% PCM: ranges from -34.5dB to +12dB gain, with 0dB @ 74% To protect us users from ourselves {turning the pcm gain too high - and distorting the sound before it makes it to the final mix stage - potentially damaging amps or speakers}, it would make sense to, in some way, provide a switch to limit or rescale the control so that digital full scale 100% mark can't be exceeded. My preference would be that each application volume control 0-100% would be scaled on the way to the audio chip to 0-74% {on my chip}. If boost is wanted, an on/off gain boost switch could be provided in the software mixer controls. It does seem that pulseaudio provides a manual way to to this {although my reading suggests this is a continuous scaling of the stream in CPU rather than setting better values in the devices PCM control}: - run: alsamixer -c0 which displays the dB gain for the selected fader. - set the problem fader to 0dB, and read the %gain. {=74.19%} - calculate %gain * 65535 = [attenuation value] {=48623} - in /etc/pulse/default.pa add "load-module module-match" - create a file /etc/pulse/match.table with one line: ".* attenuation value" {.* 48623} Note that this did not work for me when I placed match.table in .~/pulse/match.table as suggested by post [2], but does work nicely if it is placed in /etc/pulse/ . An automatic switch, or initial setup, would in theory be possible: it could detect that the level to the audio chip is about to exceed either full scale +'ve or -'ve, and drop the gain enough steps to miss the "full scale". Perhaps some audio programming guru could comment on whether that would be feasible. {Or maybe to read the value in the way the alsamixer can show it, then right out a match.table containing the value.} In the past pro analogue or digital mixers seemed to limit an input channel gain control to +6dB, with an option to pad the level -20dB and to set the input's gain to take account of mic v line v balanced level inputs. In the PC world, it would be great to have a "don't save me from myself" button that instructed the sound system to allow overdrive of the audio stream when the user realizes they have a shoddy {low} digital signal. The normal setting should be to never allow gain capabilities of an audio device to distort {clip} the audio stream before it gets to the mixer block. That could be done before hand {an automated pa setting}, or actively {drop the gain as a signal is about to hit clip point (0 or 65535 in a 16bit system)}. [1] ftp://202.65.194.211/pc/audio/ALC650_DataSheet_1.3.pdf [2] https://tango.0pointer.de/pipermail/pulseaudio-discuss/2008-January/001192.html Will this be fixed also in F8 or it will only be in F9 ? Thanks, David. I'll try that on my system (I'll have to reinstall PulseAudio, as I got rid of it for now; I may just wait for a few more days and try it in Fedora 9 Alpha before changing things in my stable install). -Gideon Mayhak Please please fix this before my laptop speakers and/or my ears are broken. Yes I have HP laptop. PA now extends the hardware volume range in software and will present all users the same volume range. If you still experience over-amplification it is due to the way your hardware works. |