Distortion when PCM is at 100
I am using Kubuntu 10.10 and having a sound issue. I fully installed PulseAudio so that I could properly enable the 5.1 sound on my system. At some volume levels it sounds great, while at others it has a terrible metallic-sounding distortion. I have worked with the various audio tools I have installed and narrowed down the problem.
Here is what I have installed to configure sound settings: kmix (KDE equivalent of gnome-volume-manager), pavucontrol, alsamixer. I have found that when I adjust the master volume level through kmix (either with the GUI slider or the volume control keys on my keyboard), the levels in alsamixer all change, too, not just the Master level. When PCM maxes out at 100, I get the distortion, but if it is at 99 or lower, everything sounds perfect. The weird thing is that as I adjust the master volume level, the PCM level bounces between 98 and 100. Like this: Master PCM 23.....100 35.....98 42.....100 52.....98 58.....98 61.....100 68.....98 74.....98 78+....100 Is there any way to lock the PCM level or cap it at 99? If I can keep the PCM from hitting 100, I can get rid of the distortion. I would greatly appreciate anyone's help. |
I'm not an alsa expert. Looking in /etc/alsa.state, I found this segment:
Code:
... But this segment of the "amixer" program output indicates that editing the "value" line will limit the lower and upper bounds of the alsa mixer: Code:
Simple mixer control 'PCM',0 Using pulse, you shouldn't need to touch kmix at all. I normally listen to podcasts on my laptop, piping the audio to my desktop. Selecting the optical output on my desktop (from the laptop padevchooser applet) selects my stereo for audio. |
I have been using Linux for a while, but I'm not a programmer and I've never had to hack ASLA before. So, to clarify, you think that by editing the 'value.0' and/or 'value.1' lines in the /etc/alsa.state file, I can set an upward limit? The range in the alsamixer is 0 to 100, so do you have any recommendations as to what value I should use to slightly decrease the cap? 255 looks like IP bit notation where 255 would equal 11111111 in binary.
Quote:
|
Code:
value.0 255 I read through /etc/init.d/alsasound, where alsa is started, and the alsactl command to load the state file is commented out. I mentions that udev does it instead. Code:
cat /etc/udev/rules.d/40-alsa.rules |
I just checked and I don't have a /etc/alsa.state file, so I'm back to square one. I'm wondering if there is some way to maybe control which level kmix adjusts. Right now my only choice of channels is "Internal Audio Analog Surround 5.1". I can't choose "master", "PCM", etc.
|
You could use "sudo /usr/sbin/alsactl store 0" to store the settings for card 0. Looking at the kmix settings, I saw settings for the initial value, but not a way to set a max limit.
For pulse audio, you can run "pavucontrol", and change the settings in the Output tab. |
jschiwal, thank you for taking the time to look into this. I appreciate your help.
Well, in case anyone else is having this issue, I eventually found a work around on another forum (Thanks, Mandriva). If you kill kmix, then run the command Code:
KMIX_PULSEAUDIO_DISABLE=1 kmix |
Thank you for the update.
|
All times are GMT -5. The time now is 06:59 AM. |