Normally I would attribute this to these types of libraries evolving from the UNIX mindset, which almost always lacks sane defaults. But in this case, it looks like it has more to do with difficulties around maybe Apple's secrecy and patents around their own echo cancellation implementation. Hopefully I'm wrong about that.
When I was working on a networked game around 2005, I dabbled with Speex and Vorbis. I found the Ogg maintainers to be rather hostile to my suggestions around echo cancellation. I suggested some stuff with autocorrolations to find the echo delay offset, since I had used them quite a bit as a contractor at hp. I was thinking that maybe they would let it dynamically adjust with little overhead, rather than needing a fixed delay between the microphone and speakers. I wanted this for the Mac, where there was no low-level way to access the mic and speaker hardware like on the PC, so I was concerned that there wouldn't be a fixed time offset available with Apple APIs.
At the time, I thought they were just dismissing me as a n00b, but now I understand that they were just terribly overextended. These libraries are difficult to maintain, not because of any technological reason (this stuff was well-understood by the mid 1990s), but because of hardware/driver errata, constant undermining by big established OS players caving to entertainment lobbyists like the RIAA, and the constant threat of lawsuits by patent trolls.
I would say the same thing about mesh networks or BitTorrent or Skype before Microsoft bought it or TikTok any of the other faces of the "real" internet that routes around censorship and inconveniences those who profit from the status quo.
https://wiki.mumble.info/wiki/Audio#Echo_Cancellation
But looks like they maybe still have blockers that prevent them from enabling it by default:
https://github.com/mumble-voip/mumble/issues/4178
Normally I would attribute this to these types of libraries evolving from the UNIX mindset, which almost always lacks sane defaults. But in this case, it looks like it has more to do with difficulties around maybe Apple's secrecy and patents around their own echo cancellation implementation. Hopefully I'm wrong about that.
When I was working on a networked game around 2005, I dabbled with Speex and Vorbis. I found the Ogg maintainers to be rather hostile to my suggestions around echo cancellation. I suggested some stuff with autocorrolations to find the echo delay offset, since I had used them quite a bit as a contractor at hp. I was thinking that maybe they would let it dynamically adjust with little overhead, rather than needing a fixed delay between the microphone and speakers. I wanted this for the Mac, where there was no low-level way to access the mic and speaker hardware like on the PC, so I was concerned that there wouldn't be a fixed time offset available with Apple APIs.
At the time, I thought they were just dismissing me as a n00b, but now I understand that they were just terribly overextended. These libraries are difficult to maintain, not because of any technological reason (this stuff was well-understood by the mid 1990s), but because of hardware/driver errata, constant undermining by big established OS players caving to entertainment lobbyists like the RIAA, and the constant threat of lawsuits by patent trolls.
I would say the same thing about mesh networks or BitTorrent or Skype before Microsoft bought it or TikTok any of the other faces of the "real" internet that routes around censorship and inconveniences those who profit from the status quo.