Menu

Cant control sub channel anymore.

2023-09-19
2023-09-19
  • Janez Kranjski

    Janez Kranjski - 2023-09-19

    First of all, Im not really an audio guy. I cobbled this setup together with limited knowledge, but it worked.

    So I have a frankensoundsystem of Edifier 1700BTs paired with the active sub from an old pair of Logitech Z623s.

    Sound card set to 5.1. Edifiers plugged into front out, sub plugged into center/sub out. I use EqualizerAPO to control the volume of the sub.

    Worked perfectly for a year, but since like a week or two ago, it stopped. I can control R/L channels normally, but for some reason the SUB channel doesnt budge. Ive tried reinstalling APO, sound drivers, peace, you name it. Ive tried all the troubleshooting options in the configurator. Nothing. Im pretty sure there was a Windows update in there somewhere, but usually a reinstall resolves that without a hiccup.

    I can do a sound test in my sound driver app and the sub works normally from there.

    Any ideas?

     
  • Peter Verbeek

    Peter Verbeek - 2023-09-19

    And the card is still on 5.1? A Windows update may include an audio driver which may set everything to default.

     
  • Janez Kranjski

    Janez Kranjski - 2023-09-19

    Card is still 5.1. Windows update was one of my first thoughts too, but I checked and all the options seems to be as I left them.

     
  • Peter Verbeek

    Peter Verbeek - 2023-09-19

    Perhaps you can attach the Peace config so I can take a look at it?

     
  • Janez Kranjski

    Janez Kranjski - 2023-09-19

    Solved- ish. What ended up working is copying over the L and R channels over to LFE. But its still a mystery why the configuration that worked for so long suddenly decided to stop.

    The config file that worked before:
    Channel: SUB
    Preamp: 0 dB
    Filter: ON LP Fc 100 Hz

    Config that I got working now:
    Copy: LFE=L+R
    Channel: LFE
    Preamp: 0 dB
    Filter: ON LP Fc 100 Hz

    Looking at it now, I have no idea where the "SUB" channel even came from. And how did it work if it wasnt even defined anywhere.

    I used Peace for the original configuration. Is it possible Peace did something outside of the config file that got removed when I reinstalled/during windows update?

    Edit: Forgot to mention, EqualizerAPO version is the same it was before.

     

    Last edit: Janez Kranjski 2023-09-19
    • Etienne Dechamps

      What ended up working is copying over the L and R channels over to LFE. But its still a mystery why the configuration that worked for so long suddenly decided to stop.

      What seems to have happened here is that, previously, something else was doing bass management for you ("bass management" is the technical term for "redirecting main channels bass frequencies to the sub channel" - something has to do it, it doesn't happen magically), but then at some point that something else stopped doing that, so now you have to do it yourself.

      It's difficult to tell what happened without understanding how your previous setup was working. It could be that previously your audio driver was doing the bass management implicitly without you realizing it, and the audio driver was updated/replaced so it's not doing that anymore. It could also be that the Windows standard built-in APOs were doing the bass management before, and now for some reason they aren't. Maybe the Windows APOs are now bypassed, or perhaps your speakers are incorrectly configured as "large" in your Windows audio speaker settings.

      Config that I got working now:
      Copy: LFE=L+R
      Channel: LFE
      Filter: ON LP Fc 100 Hz

      Note that this config is very incomplete if you want to do bass management in Equalizer APO, and will give incorrect results. You only have half the crossover (you need a highpass filter on the mains otherwise you're getting twice the bass), you need to redirect the bass from the center and surround channels as well, and by convention you need to apply a +10 dB gain to the original signal that was already present in the LFE channel. For more information on bass management and how to do it correctly, see ITU-R BS.775 Annex 7, which is the authoritative specification on this topic and explains these concepts very well.

      I have no idea where the "SUB" channel even came from

      "SUB" is synonymous to "LFE" in Equalizer APO - they're the same thing and you can use the two terms interchangeably in the Equalizer APO config.

       
      👍
      2

      Last edit: Etienne Dechamps 2023-09-19
      • Juha

        Juha - 2023-09-19

        https://sourceforge.net/p/equalizerapo/wiki/Configuration%20reference/

        I don't see SUB channel name defined there in documentation (it should point to channel number 4 but of course it can be a hidden def) so, you're probably right in saying bass management has been done elsewhere earlier.

        Regarding LFE there is also an attention in documentation.

         
        • Etienne Dechamps

          I don't see SUB channel name defined there in documentation

          The original versions of Equalizer APO only recognized the channel name "SUB", not "LFE". Back in 2016 I asked the developer to change it to LFE, and he did, while still preserving compatibility with the old name to avoid breaking existing configs. So, basically, the "SUB" channel name is technically deprecated and obsolete, which is likely why it's not mentioned in the current docs.

           
    • Peter Verbeek

      Peter Verbeek - 2023-09-19

      I used Peace for the original configuration. Is it possible Peace did something outside of the config file that got removed when I reinstalled/during windows update?

      Only when you install Peace again AND it doesn't find the "include: peace.txt" command it will overwrite the config.txt file immediately after the popup message asking confirmation for this overwrite. But when installing a Windows update nothing happens to Peace. It may "break" Equalizer APO. Usually starting its Configurator resolves this.

       
  • Janez Kranjski

    Janez Kranjski - 2023-09-19

    Thank you Etienne and Peter.

    I guess it remains a mystery who did the bass management before, I dont think I am prepared to sink my whole afternoon into figuring it out. I'll write down my current settings and keep an eye out the next time Windows updates.

    I've edited the config and this is where I'm at currently. I hope I understood your advice correctly.

    Copy: LFE=L+R+C+10.0dB*LFE+RL+RR
    Channel: LFE
    Filter: ON LP Fc 100 Hz
    Channel: L R C RL RR
    Filter: ON HP Fc 100 Hz
    
     
    • Etienne Dechamps

      Your config looks close to correct. I'd just suggest a couple of improvements:

      • The standard crossover frequency is normally 80 Hz, not 100 Hz. Going higher than 80 Hz runs the risk that the listener will be able to locate the sub. Just making sure you're aware of this potential problem.
      • The filters that Equalizer APO provides are second-order filters. More specifically, if you use the default Q/BW, they are Butterworth second-order filters. Therefore what you have set up is known as a "Butterworth crossover". That kind of crossover is not ideal because it results in a +3 dB summation error at the crossover frequency. What you'd typically want to use instead is an LR-4 crossover. Fortunately this is an easy fix, as an LR-4 filter can be implemented by simply running two Butterworth second-order filters in a row, i.e. in your config just use two identical low-pass filters and two identical high-pass filters instead of just one.
       
    • Peter Verbeek

      Peter Verbeek - 2023-09-19

      For Linkwitz-Riley filters you could take a look at and/or copy them from Peace. It has these filters. They are build from the standard LP/HP Equalizer APO filters.

      Or perhaps I can build a Peace config for you.

      @Etienne Dechamps Isn't it better to first low filter the L, R, etc. and then feed them onto LFE? Or it doesn't matter if it's done afterwards on LFE like Janez did?

       
      • Etienne Dechamps

        @Etienne Dechamps Isn't it better to first low filter the L, R, etc. and then feed them onto LFE? Or it doesn't matter if it's done afterwards on LFE like Janez did?

        Ah, this is a subject of much debate in LFE discussions. Basically, there are 4 possible approaches:

        1. Lowpass the LFE channel at the same frequency as the crossover.
        2. Lowpass the LFE channel at some higher frequency (typically 120 Hz, which both ITU-R BS.775 and Dolby suggest as the highest reasonable frequency for LFE content)
        3. Don't lowpass the LFE channel, only lowpass the redirected signal from the main channels. In other words the sub gets the entire LFE channel
        4. Like (1) but send a copy of the LFE channel to the main channels first, so that low frequencies in the LFE channels are played by the sub, and any higher frequencies that may be present are played by the mains.

        All these approaches are potentially valid, but have different pros and cons.

        Approach (1) usually results in the simplest config. Janez's configs follow approach (1), and I personally use it as well.

        Approach (4) has the benefit of not throwing away any information - you get to hear everything that it's in the LFE channel, even >120 Hz frequencies - but that's both a blessing and a curse, because even the monitoring systems that the content producers themselves use typically don't do this, and as a result some content can accidentally end up with "garbage" high frequencies in the LFE channel that the producer couldn't hear and therefore didn't notice... but anyone using approach (4) will hear that extra garbage! This is not just theoretical by the way - there is documented evidence of it happening on blockbuster Blu-ray releases. I used approach (4) for a long time but abandoned it when I stumbled upon such content.

        Approach (2) seems like a reasonable compromise, but I don't like the idea of >80 Hz LFE content potentially making the sub localizable. Also, it's not a given that the producer's monitoring system is able to reproduce 80-120 Hz content in the LFE channel (the producer could be using approach 1, willingly or not), so there might be garbage there too. Honestly, I think that content producers should basically assume the worst case scenario which is given by approach (1) - i.e. they should not assume that the consumer's playback system will be able to reproduce LFE content between 80 and 120 Hz. They should just stick to <80 Hz for LFE, IMHO.

        Approach (3) is really just approach (2) where the cutoff frequency is given by the natural cutoff frequency of the particular subwoofer used (often 250 Hz or whereabouts).

        Sadly ITU-R BS.775 does not clearly specify which approach to use. A pedantic, lawyerly reading would suggest that Figure 7 weakly advocates for approach (3).

        In the end, the differences between these approaches probably don't matter that much in practice, because most useful LFE content will typically be below the crossover frequency anyway. This is why I usually recommend the simplest config (i.e. approach 1).

         

        Last edit: Etienne Dechamps 2023-09-19
  • Janez Kranjski

    Janez Kranjski - 2023-09-19

    Done!

    Copy: LFE=L+R+C+10.0dB*LFE+RL+RR
    Channel: LFE
    Filter: ON LP Fc 80 Hz
    Filter: ON LP Fc 80 Hz
    Channel: L R C RL RR
    Filter: ON HP Fc 80 Hz
    Filter: ON HP Fc 80 Hz
    

    To be completely honest, I cant really hear these changes, but I trust you guys know your audio and I'm glad I learned something new!

    Thank you again, you have been a massive help!

     
    👍
    1
    • Peter Verbeek

      Peter Verbeek - 2023-09-19

      Looks good but it still has that 3 dB bump. But I guess it isn't that important if it sounds right.

       
      👎
      1
      • Janez Kranjski

        Janez Kranjski - 2023-09-19

        Shouldnt that be taken care of by applying the filters twice? The Wiki article Etienne linked has a nice graph for explanation, but maybe I didnt understand it correctly.

         
        • Peter Verbeek

          Peter Verbeek - 2023-09-19

          That depends on the Q value. According to my Peace implementation you should use a value of 0.707. I'm not sure what default Q value Equalizer APO is using.

          Copy: LFE=L+R+C+10.0dB*LFE+RL+RR
          Channel: LFE
          Filter: ON LP Fc 80 Hz Q 0.707
          Filter: ON LP Fc 80 Hz Q 0.707
          Channel: L R C RL RR
          Filter: ON HP Fc 80 Hz Q 0.707
          Filter: ON HP Fc 80 Hz Q 0.707
          
           
          • Janez Kranjski

            Janez Kranjski - 2023-09-19

            I see. EqualizerAPO uses 0.7071 by default, so all should be fine!

             
            👍
            1
          • Etienne Dechamps

            In general, when the Q value of a filter is not given, it is usually safe to assume by default that the filter follows a Butterworth characteristic, because Butterworth is the most boring, least surprising, most widely used filter characteristic (it is the fastest possible IIR filter that does not ripple, making it a good default choice for most applications). Butterworth filters are defined by Q=1/sqrt(2), i.e. 0.7071. It would therefore be reasonable to assume Equalizer APO uses a Q of 0.7071 by default, and it does.

             
            👍
            1

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.