• circuitfarmer@lemmy.sdf.org
    link
    fedilink
    arrow-up
    2
    ·
    5 days ago

    Interesting. It must do more than that though – for example, FLAC offers different compression “levels”, which you choose when encoding. To my knowledge all of them are lossless, but what do the levels do if it is only merging identical channel data?

    • Carnelian@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      5 days ago

      You’re absolutely right about that. My use of “literally all it does” was employed poorly, and is a pretty extreme oversimplification

      There’s a whole mathematical thing happening with FLAC generally, regardless of L/R channels, where it replaces your original waveform with a polynomial approximation of it + the differences between that approximation and the actual. When played back together, those two things always result in a perfect recreation of the original.

      The various compression levels you can choose from essentially control presets relating to how sophisticated those approximations can be, thus cutting down on the amount of differences that need to be stored.

      The reason you may want to play with these settings is somewhat outdated now. But a higher level takes more time to encode, results in a slightly smaller file size, and also takes slightly more processing power to decode. Any modern piece of equipment can handle the maximum setting with no issues.

      But yeah, as a result of these processes (rather than as the prime goal explicitly, if that makes sense), it does joint-encoding and merges anything from the L and R channels that can be merged. This enables it to pull “identical” sounds from L and R even when the data itself is totally different, which is actually more common than not in music due to the use of multi-channel effects such as reverb.

      In the end, a massive amount of the space saved as a result of the compression in typical music comes from removing duplicate information from the stereo field. But all sorts of funky stuff would happen if you opened up a DAW and started contriving different situations for it to compress

      • AdrianTheFrog@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        polynomial approximation seems like a weird choice for audio, is it really more efficient than a frequency based encoding?

        also, it seems like audio compression formats have seen a lot less development in recent years than images have. I want to try encoding audio as a lossless jpeg xl now just to see how it does, I think it should be possible as jpeg xl supports extremely large image dimensions

        • Carnelian@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          5 days ago

          It’s fairly well optimized for audio. Waveforms are usually continuous and relatively repetitive. The other really important aspect is how easily it can be decoded, so that it remains a usable audio file on potentially underpowered equipment.

          Although I wonder if there exist some cases where other formats might do a better job