No announcement yet.

PulseAudio 2.0 Is Set To Be Released Very Soon

  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Originally posted by curaga View Post
    Right.... HW mixing = no cpu usage. Pulse = forced sw mixing, _and_ running a needless daemon, wasting both cpu and ram.
    Right, because everyone has hardware mixing, right?


    I'm betting about 1 in 100,000,000 desktop computers / laptops / notebooks / mobile devices currently in operation is going to have hardware sound mixing. If you're one of them, good for you -- you may as well be using Hurd on a Motorola 68000 CPU in a kerosene-powered cheese grater, that's how insignificant your marketshare is.


    • #42
      Originally posted by boast View Post
      I haven't had any issues with PA for the longest time. But then again I also don't work at a sound studio or do anything fancy. But the linux community always has issues with the "well, it works for me so you're just a special case" in the graphics realm...

      I'm not sure thats a good analogy for audio. Because with good digital signal processing techniques, you, for example, add an extra bit to the sampled data, and with a digital filter calculate/estimate more precisely the original source before it hits the digital-to-analog converter.

      For an image, you can add an extra bit for each pixel, but you wouldn't be able to tell what the original source color was, so its useless. But for audio, if your data shows it goes from 0.5v to 0.7v, you can assume that it goes to 0.6 before reaching 0.7, and can create a smoother transition in your analog conversion, thereby making it sound better.

      (note, signal processing is not my forte)

      Oh, and I'm not sure why some people are confusing the sampling rate with an analog output frequency one would hear...
      Actually, interpolation can be (and it is) just as bad for audio as it is for video. Looking at your example: you can assume the level goes to 0.6 before reaching 0.7, but you'll never know whether it also peaked at 0.8 and then slid back down to 0.7. That's a potential audio artifact for you right there. Digital signal processing is digital signal processing for both video and audio. Different heuristics apply, of course, but that's about the only difference.


      • #43
        Originally posted by allquixotic View Post
        you may as well be using Hurd on a Motorola 68000 CPU in a kerosene-powered cheese grater
        Damn that would be cool. Definitely beats the NetBSD toaster and the linux coffee maker.


        • #44
          Originally posted by allquixotic View Post
          It shouldn't even be a question of whether to use PA, unless you're using a Linux distro that doesn't ship PA by default. And if that is the case, I'd say switch distros, because You're Doing It Wrong (tm). Sorry, but distros that don't ship PA are basically the same as distros that ship the old pre-X.Org "Xfree86" server, or OSS instead of ALSA. These people are the extreme minority.

          The only reason not to use PA is if you have sound hardware where it works fine with ALSA but not with PA. Thanks to a plethora of bug fixes in the ALSA libs and kernel, any kernel since about 2.6.30 or later should be able to drive PA as well as it drives "native" ALSA. I'd argue that the existence of sound hardware that falls into this category is a much smaller minority than the subset of users who would be interested in one or more of the useful features of PA.
          Well, I'm using X-Fi (I think it's supposed to have hardware mixing, but the ALSA driver doesn't support it or something?). And whenever I tried PulseAudio, it didn't work out of the box (no sound at all). I know I did manage to fix that - after a lot of time searching for things. Not to mention that not all programs work well with PA just yet, and have to be configured separately. Mind you, I haven't tested it in a while, so I guess I could be a little out of the loop here. Or a lot (as I recall, it was due to the wrong card being set to default, and now due to GUI tools it seems to not be a problem any more).

          More recent testing showed me that with PA, sound skips on the Oak Trail platform and KDE, and works fine with pure ALSA. Although there are no problems on two other systems I have it enabled. And apparently Skype integrates with it very well, as it woks out of the box with PA, but needs a lot of configuring under ALSA.

          Using openSUSE everywhere, so it has it enabled by default. I just tend to disable it manually before each install.


          • #45
            I've been using Jack2 recently. I have it acting as a slave for the alsa plugin, too so I can listen to alsa apps. It works well, especially since I can listen to my 24bit/96kHz albums easily, without the crazy CPU load of PA.


            • #46
              I have installed pulseaudio and now works fine with my M-Audio 2496 (semi)professional sound card. Some day I will configure Jack to work with Pulseaudio, what maybe now it's easy because there is a Jack plugin for pulseaudio.


              • #47
                I use Debian with just ALSA on an M-Audio card with hardware mixer. Pulse adds nothing for me (though I did try it and it works fine). I feel really awesome to be 1 in 100,000,000, even though I'm pretty sure that's a gross exaggeration.


                • #48
                  Originally posted by allquixotic View Post
                  Several things:
                  Hi allquixotic, thank you for your answer, very useful. I can see and understand your points. Though I'd like to add that you are somehow implying that ALSA and its software mixing is very often problematic (that's what I read between your lines) and end-users are going to notice playback aritfacts sooner or later. To that I'll say that I am operating several Linux machines (all without PA, mostly Arch Linux) and I have never ever noticed any problems with sound playback (even when playing sound from multiple apps at the same time), be it skipping or audio drop outs, none of these or something else. I also never had to deal with manual configuration, except once where I had to make the Nvidia HDMI device the default one instead of the integrated sound card. So configuration files are also not something I had troubles with. These are my private experiences, I do understand that there are other use cases, other hardware and other distributions where things might not work out as smoothly.

                  So PA should have better quality, easier configuration, a larger feature-set and in some cases even better efficiency, so switching to PA is the modern approach. But I find your analogy of "PA to ALSA" is as "Xfree86 to Xorg" a bit far-fetched, just like your statement that these people with PA-less distros are the extreme minority. Tell this Arch Linux users (who are, btw, always on the bleeding edge, yet they don't ship PA as default).

                  Also, when saying that PA is better for people with weak (old) hardware, you are forgetting something very important. People with such old hardware are using a lightweight desktop environment like XFCE or LXDE that don't support PA by default. PA might be the standard on KDE and Gnome desktops, but if you have old hardware you're never going to install any of those, since you'd lose much more than you gain by using PA. And unlike the difference in speed between ALSA and PA, you can actually feel the difference between XFCE and Gnome (provided you have an old enough computer). I'm just saying that one of your arguments was that PA is better for old computers, but people with old computers are exactly the ones that are most probably not using PA.

                  Nevertheless, you are right that people who can afford a modern desktop environment are better off with PA (if their software supports it).


                  • #49
                    Originally posted by DanL View Post
                    I use Debian with just ALSA on an M-Audio card with hardware mixer. Pulse adds nothing for me (though I did try it and it works fine). I feel really awesome to be 1 in 100,000,000, even though I'm pretty sure that's a gross exaggeration.
                    Actually, it's probably not. In the general purpose computing market (laptops + desktops + tablets + home movie devices), the two chip designs that basically dominate the market are chips based on Intel's HD Audio standard (5.1 or 7.1 channels, integrated on motherboard, software mixing, blah blah); and chips based on the HDMI Audio standard (similar support as HD Audio, but supplied as a companion ASIC on a SoC or discrete graphics card). Both of these only do software mixing.

                    If you go a little older, AC'97 was the dominant chip standard, and that also only supports software mixing.

                    If you go portable (for people who hate their on-board sound or don't have on-board sound), USB Audio Class 1.0 (requires USB 2.0) is the dominant standard, and that also only supports software mixing.

                    What, do you suppose, is the combined percentage of market share between HD Audio, HDMI Audio, AC'97 and USB Audio Class 1.0, compared to other chips which do not fall into any of these categories (and discounting software-mixing DSP chips embedded in small cellphone/smartphone ASICs)?

                    I think 99% would be a gross understatement; you need to add a few .999's to it to reach a semblance of precision.

                    So yes, you are extremely rare. Phoronix membership tends not to be representative of the general populace. This site is for enthusiasts. The fact that three or four people have chimed in saying they have hardware mixing just goes to prove my point.

                    Funny thing is, I know a lot of audiophiles personally who are perfectly happy with their consumer-grade HD Audio or HDMI Audio solution. To them, like many of us, it's the quality of the headphones you use that makes more of a difference in audio quality, not the quality of the DSP or whether the DSP offloads mixing work from the CPU. Even consumer-grade DACs are incredibly powerful these days, so unless you are using your audio hardware to actually produce content that will generate extreme amounts of revenue and/or publicity, or unless you just have spare money sitting around, I can't see any reason to buy a discrete audio card that does hardware mixing. Just the thought of an audio card -- something you couldn't live without in the 90s -- seems amusing to me now, just by reading the words "a-u-d-i-o c-a-r-d". It's like reading the words "math coprocessor". Well of COURSE everyone's CPU has a math coprocessor, dummy! What do you think this is, 1978?! Yeah. That's how I feel about audio cards.

                    One other thing that has me genuinely interested: people claim that not having PA running saves them RAM or CPU time. Well that's just dandy, but something, somewhere, is still mixing your audio. How power-efficient is that chip? How many streams can it handle at once? Does it buckle under sustained load? If it has a bug, do you have the expertise to upload new firmware to it (assuming it's possible to do so at all)?

                    I haven't been keeping up with the fringes of audio technology lately, but my gut feeling is that audio card manufacturers aren't exactly using 22 nm technology for their boards. And it's pretty clear from Intel's recent innovations that smaller (and smarter; see Ivy Bridge's on-chip voltage regulator) makes a chip more power efficient. Unless you've physically measured the voltage consumed by your audio card's HW mixing and found it to be lower than an optimized CPU-based solution such as PulseAudio, I'm going to wager that doing it on the CPU will eat less power.

                    But, then again, if I actually had a pro audio card with hardware mixing, I'd probably want to use it -- to be fair. Especially if I have a desktop and power consumption isn't really a factor, when you consider that audio cards aren't eating up power nearly as much as video cards do; I've never heard of an audio card that takes external PCI-E power plugs like the big Radeons and GeForces do.

                    People have expressed interest in using PA's protocol features, plugins and routing features with hardware mixing before, but it seems like it'd be a fairly difficult task. I'm sure it's possible for certain classes of hardware, but you would end up having to develop a hardware interface layer that's closer to a general purpose computer, or at least provide some mechanism for PA to modify buffers already queued up on the card, and read back existing buffers, kinda like what the more recent OpenGL specs have provided for GPUs. You'd basically end up having an audio accelerator card with very similar "programmable fixed-function" features, analogous to what you saw on GPUs about 7 or 10 years ago, before they became fully programmable. Because if you're going to make it fully programmable, you might as well just do it on the CPU, or -- hell -- even the GPU.

                    Audio on the GPU. Now you have me genuinely interested.

                    OpenCL "hardware mixing" in PulseAudio. hahahahahahahahahahahahahahahahahaha. Is it even possible? I'm just thinking aloud here.
                    Last edited by allquixotic; 03-19-2012, 09:29 PM.


                    • #50
                      Originally posted by allquixotic View Post
                      If you go portable (for people who hate their on-board sound or don't have on-board sound), USB Audio Class 1.0 (requires USB 2.0) is the dominant standard, and that also only supports software mixing.
                      So all USB professional sound cards don't do hardware mixing? Never heared that, and searching "usb audio class" (whitout quotes) in google the first result I get is a pdf(1) about 1.0 specification. in 15th page I read: "The Mixer Unit (MU) transforms a number of logical input channels into a number of logical output channels." It says logical, not physical so ?were you wrong in this?.