On Sun, 2012-08-12 at 03:06 +0200, Ralf Mardorf wrote: > On Sun, 2012-08-12 at 02:43 +0200, Tom Gundersen wrote: > > On Sun, Aug 12, 2012 at 1:23 AM, Fons Adriaensen <fons@xxxxxxxxxxxxxx> wrote: > > > If that is true it is completely wrong from the start. Because > > > that setup can't be maintained when a second app starts playing > > > which can happen at any time. Suppose that first (single) app has > > > its volume set to some low value, and PA uses the soundcard PCM > > > gain control to achieve that as you claim it does. Now suddenly > > > there's a second app which wants a higher level. The only way to > > > achieve that is to raise the hardware gain - you can't compensate > > > for a low setting there by sending a louder signal, it would just > > > clip. So PA now has to adjust the hardware gain and at the same > > > time start scaling down the output from the first app. > > > It's impossible to do that in any acceptable way. > > > > That's how it works. I have not noticed any problems. How would the > > problems manifest themselves? I'm not an audio expert by any stretch > > of the imagination, but I think even I would be able to notice > > skipping, clipping, noise, ... What should I be listening for? > > It only can work without clipping, if first the volume is lowered with > more headroom than needed, because you can't know how much headroom you > exactly need and then the second volume will be raised until an equal > level is reached and this step by step. But how does PA know at what > step the level is equal, when the audio signal isn't a constant tone? > Poettering expect a perfect control values to dB(FS) mapping?! You at > least will hear skipping. Or else, Poettering add at the end of the > chain a hardcore multi-band compression, which would be very audible and > unwanted too. This is the way how to lower one and to raise another volume for just one signal to keep the loudness, by getting audible steps. But there is a second signal, it's unknown, any automation would be very audible. > > > Simple fact is that most soundcards, even if they have a 'mixer', > > > can't mix PCM signals (i.e. signals from the software) - they can > > > mix in a CD player, or an external mic input etc.). So for anything > > > coming from the system there is just one path, which has two controls, > > > the 'PCM' and the 'master'. The only way to correctly use them if > > > there if there is software mixing is to set them once to their > > > correct values (which may depend on what is connected externally), > > > and them leave them alone and do the rest in software. > > > > So that's apparently not how it is done in PA. Why must it be done in > > this way? How can I verify that there is a problem? > > The analog output level has to fit to the input of your amplifier, to > reduce noise and to avoid distortion. > > > > 'A lot of meta-information' LOL. It will provide some usually > > > meaningless and inconsistent names of controls, their min and > > > max values, and if you're extremely lucky maybe some indication > > > mapping control values to dB, which may or may not be correct > > > (and if it isn't that's not ALSA's fault, it just crappy and > > > undocumented harware). All of that is visible in alsamixer. > > > > Yes, this is exactly what PA uses. ALAS just displays it without using it. > > So PA does use Voodoo?!