Announcement

Collapse
No announcement yet.

Why It Took So Long For Linux To Properly Handle 2.1 Speaker Systems

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Why It Took So Long For Linux To Properly Handle 2.1 Speaker Systems

    Phoronix: Why It Took So Long For Linux To Properly Handle 2.1 Speaker Systems

    Canonical's David Henningsson wrote a blog post today explaining why it's taken until this year for Linux to properly support 2.1 speaker systems (two speakers and a subwoofer) with ALSA and PulseAudio...

    http://www.phoronix.com/scan.php?pag...2.1-Sound-Woes

  • #2
    So... what was the problem?

    Comment


    • #3
      Well, the problem is - it is still not working properly for the "laptop" use case. The default crossover frequency, 120 Hz, is valid only for home theatre systems. Here are the most obvious remaining work items:

      1. Build a database of good crossover frequencies for popular laptops, by performing acoustic measurements.
      1.1. First snag - decide what to do with laptops like Dell Inspiron 7447 where the built-in subwoofer does not extend the frequency range of the main speakers. Do we ignore it, or use for additional volume?
      2. Figure out how to perform switching between the stereo headphones (that don't need any filters) and 2.1 speakers (that do), and back.
      3. Make the crossover frequency something less global. Imagine a laptop that is sometimes used with its own speakers and subwoofer (where crossover frequency of, say, 700 Hz is appropriate), and sometimes connected via HDMI to a home theatre system (where sometimes 120 Hz is the appropriate crossover frequency, and sometimes it is appropriate to disable the filter completely because the receiver does this task).
      4. Figure out what to do with content that already includes the LFE channel.

      Comment


      • #4
        Tbh, an audiophile probably has a pair of floorstanding speakers that does not need a woofer to play music.
        Not saying 2.1 support isn't welcome, just that its absence wasn't impacting that many users. Hopefully.

        Comment


        • #5
          Originally posted by patrakov View Post
          Well, the problem is - it is still not working properly for the "laptop" use case. The default crossover frequency, 120 Hz, is valid only for home theatre systems. Here are the most obvious remaining work items:

          1. Build a database of good crossover frequencies for popular laptops, by performing acoustic measurements.
          1.1. First snag - decide what to do with laptops like Dell Inspiron 7447 where the built-in subwoofer does not extend the frequency range of the main speakers. Do we ignore it, or use for additional volume?
          2. Figure out how to perform switching between the stereo headphones (that don't need any filters) and 2.1 speakers (that do), and back.
          3. Make the crossover frequency something less global. Imagine a laptop that is sometimes used with its own speakers and subwoofer (where crossover frequency of, say, 700 Hz is appropriate), and sometimes connected via HDMI to a home theatre system (where sometimes 120 Hz is the appropriate crossover frequency, and sometimes it is appropriate to disable the filter completely because the receiver does this task).
          4. Figure out what to do with content that already includes the LFE channel.
          Although I agree with you about the need of flexibility, 700 Hz is far from the bass octaves, indeed it is right in the 'mid midrange'.
          The bass octaves, where the subwoofer lives and is made to work end on 'upper bass' (or 125 Hz - 250 Hz), and go lower of course.
          The bass alone is already hard to integrate. Force a subwoofer to play in the 'midrange' (assuming it would be capable) paired with cheap laptop integrated speakers potentially make the things ever worse.
          If one need a sub playing around the midrange, make a lot more sense buy a full range speaker than a subwoofer.
          Last edited by alexcortes; 15 December 2015, 10:16 AM.

          Comment


          • #6
            Originally posted by alexcortes View Post

            Although I agree with you about the need of flexibility, 700 Hz is far from the bass octaves, indeed it is right in the 'mid midrange'.
            The bass octaves, where the subwoofer lives and is made to work end on 'upper bass' (or 125 Hz - 250 Hz), and go lower of course.
            The bass alone is already hard to integrate. Force a subwoofer to play in the 'midrange' (assuming it would be capable) paired with cheap laptop integrated speakers potentially make the things ever worse.
            If one need a sub playing around the midrange, make a lot more sense buy a full range speaker than a subwoofer.
            This is about internal "subwoofers" that are built into laptops. They can't play anything below 500 Hz. I.e., not about proper external subwoofers.

            Comment


            • #7
              1. Build a database of good crossover frequencies for popular laptops, by performing acoustic measurements.
              Never going to work; too many models. In theory, you could go based off the audio chip used, since that reduces the number of configurations, but you'll still be left with a database of hundreds that will need constant updates. The *right* option is to have it configurable by the end user.

              2. Figure out how to perform switching between the stereo headphones (that don't need any filters) and 2.1 speakers (that do), and back.
              Do what Windows does: Have the end user have to choose between Stereo (2.0) and Stereo w/ sub (2.1).

              Hell, speaker configuration should be arbitrary, and shouldn't be limited to just the standard 2.0, 2.1, 4.0, 4.1, 5.1, and 7.1 setups.

              Granted, software probably couldn't take advantage of a 14.4 setup, but the OS should be able to handle it all the same. You never know what Dolby is going to come up with.

              3. Make the crossover frequency something less global. Imagine a laptop that is sometimes used with its own speakers and subwoofer (where crossover frequency of, say, 700 Hz is appropriate), and sometimes connected via HDMI to a home theatre system (where sometimes 120 Hz is the appropriate crossover frequency, and sometimes it is appropriate to disable the filter completely because the receiver does this task).
              These should be considered separate audio outputs, each of which should have it's own configuration. So you could have one setup for the laptops audio chip (2.1), and a second for output via HDMI. Settings would be independent for each. Problem solved.

              4. Figure out what to do with content that already includes the LFE channel.
              Output based on config (see above). If 2.0, no reason to output, though there probably isn't any downside to doing so (not connected to a sub, so not going anywhere).

              Comment


              • #8
                By the way, it's sad this hasn't been properly handled for so long. Worried why no one tried the obvious quick fix in the interem: Just make the LFE the third channel, rather then the sixth, since that would allow 2.1 and 4.1 configurations to work. And sorry, if the software was making ASSUMPTIONS about the mapping, then the software deserves to break as a result.

                Ideally, you'd have an attribute attached to each channel to specify the "type" of channel it is (FRONT, REAR, SIDE, LFE, etc) so software could query for the channels it wanted without having to rely on a fixed mapping.

                Comment


                • #9
                  when the new alsa will be available and in what kernel!?

                  Comment


                  • #10
                    Optical output is also a mess right now. A friend was selling a HT with optical input, so I grab it to do some tests before buying. Man, think of a headache. The Alsa optical 5.1 output wasn't available, so some config editing was necessary. Then, some programs like SMplayer and VLC started to misbehave, and the games... When audio work, there was some delay. Most games didn't work, others start making noises. I tested 2 Phillips Home Theaters, one expensive Yamaha receiver, and a Logitech system that was the only one without lag, the other problems remained. So got back to my cheap 5.1, convencional (P2) plugged setup. But hey, at least it work.

                    BTW, 5.1 output was what got me to accept Pulseaudio, because without it, things starting to not work properly. For example, if you are watching a movie with 5.1 sound, system sounds stop working, among other things.
                    Last edited by [email protected]; 15 December 2015, 12:44 PM.

                    Comment

                    Working...
                    X