Summary: | Poor Audio Quality on iMac 2011 27 Inch - Solution inside | ||
---|---|---|---|
Product: | PulseAudio | Reporter: | Dylan Taft <dylanetaft> |
Component: | daemon | Assignee: | pulseaudio-bugs |
Status: | RESOLVED MOVED | QA Contact: | pulseaudio-bugs |
Severity: | normal | ||
Priority: | medium | CC: | lennart |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Dylan Taft
2016-10-22 01:49:44 UTC
Was told to file a bug in #pulseaudio for this. It's more of a missing feature than a bug? Basically Audio sounds awful on Linux compared to MacOS. I slept on it, and thought maybe apple doesn't do hardware bandpass filtering. The iMac audio is exposed as surround 4.0, that's not right. It's actually two high range speakers, and two speakers capable of bass. I'm not going to use the terms tweeter and sufwoofer, I don't think that's quite right. A simple highpass\lowpass filter didn't seem to be good enough in testing, didn't sound anything like OSX. I managed to get something together in Alsa with a LADSPA filter. I would say running the speakers without any type of filter would probably damage them, it sounds that bad. This is all abstracted away from the user in OSX, it "just works", but it's pretty apparent they are doing "black magic" to the audio in software. This sounds _very_ close. OSX you have no control over what frequencies are sent to the 4 speakers. Furthermore, does Pulse have the ability to apply LADSPA filters to sinks _per channel_? I saw a way to do it per sink, but you'd have to split sinks into 4, apply LADSPA filters, and then recombine. LADSPA FILTER: CAPS http://quitte.de/dsp/caps.html#Install ALSA Audio volume settings: MASTER 100, Speaker 73, Bass 94 This will combine the PCMs into one and apply filtering. .asoundrc pcm.default pulse pcm.upmix20 { type route slave.pcm "plug:bandpass" slave.channels 4 ttable.0.0 0.70 ttable.1.1 0.70 ttable.0.2 0.90 ttable.1.3 0.90 } pcm.bandpass { type ladspa #slave.pcm "plug:mydmix" slave.pcm "plughw:CARD=PCH,DEV=0" #slave.pcm "dmix:CARD=PCH,DEV=0" path "/usr/lib/ladspa" channels 4 plugins { 0 { id 1773 #per listplugins policy none input.bindings.0 "in"; output.bindings.0 "out"; input { controls [ -48 -48 -48 -48 -30 -36 -30 -20 -4 5 ] } } 1 { id 1773 policy none input.bindings.1 "in"; output.bindings.1 "out"; input { controls [ -48 -48 -48 -48 -30 -36 -30 -20 -4 5 ] } } 2 { #bass id 1773 policy none input.bindings.2 "in"; output.bindings.2 "out"; input { controls [ 3 5 -4 -30 -35 -40 -40 -40 -48 -48 ] } } 3 { #bass id 1773 policy none input.bindings.3 "in"; output.bindings.3 "out"; input { controls [ 3 5 -4 -30 -35 -40 -40 -40 -48 -48 ] } } } } Unsure if this is related, but Pulse also dies for me once every other day, I have to pulseaudio -k repeatedly to get it going. http://pastebin.com/BeGS38FL I sort of found a fix for that - default-sample-rate = 48000 in daemon.conf, it doesn't always open in 44100. Will keep an eye on it. I did a lsof /dev/snd/* - nothing was locking the devices when Pulse was failing to work, and actually stopping pulse would allow alsa to work if I specified it to use my upmix20 pcm. A cool "fix" for this could be to add support for per channel LADSPA filtering inside sinks, and drop the code for that pulse equalizer if that still exists. In theory a user audio calibration tool could be written that helps configure filters for the user - it's only possible to add ladspa filters inside default.pa right now, right? -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/274. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.