Do earphones improve chat audio quality?

Hi! I have a message in my mobile app to "Use earphones to avoid echo". However, with the WebRTCAudioDSP's echo cancellation, I don't seem to actually get any echoes (after an initial second or so), even when both participants use speakers. I do understand though there may be a cost to having echo be cancelled, i.e. perhaps lack of quality and good audio voice being sometimes suppressed too -- is that correct? Echoes aside, is voice chat when everyone uses earphones better in quality?

So my main pondering is whether to suggest to people to use earphones (it's a very technical message, for what's meant to be a very casual app, so that's a cost). Audio chat at the moment is working good, but it's not perfect, so there is room for optimization (and if using earphones optimizes, I might keep the message).

Thanks for any estimate!

Comments

  • JohnTube
    JohnTube ✭✭✭✭✭
    Hi @Philipp,

    Decent headphones, headset or earphones have the advantage of separating speakers from the microphone (distance + speaker is not so loud). Some of them may add their own built-in hardware echo cancellers.

    The cost of software echo cancellers? that's a good question. I think it depends. For sure it will consume some CPU & battery...not sure of the extent of the effect to the audio quality and original audio fidelity...@vadim can help us here.

    About the message, I think it needs rewording to make sure that earphones or such is not compulsory but preferable and recommended.
    I looked for some examples.

    There was a mobile word game called LEX, splash screen says "BEST WITH HEADPHONES".
    Another example: "game is better with headphones".
  • Thanks for the extensive reply!

    So, then I'm still curious about the audio quality cost there might be to it, and look forward to Vadim's insight. If there's no quality costs -- and considering there's practically no echo -- then I might not even display any "Earphones improve quality" type to begin with.
  • vadim
    vadim mod
    edited November 2019
    HI,

    We did not measure software echo cancellation and other audio processing costs. I can only guess that they are not so high when compared to overall cpu usage of real application. On platforms where Photon microphone available, device built-in echo cancellation may be more efficient than software WebRTCAudioDSP. Also in such case echo cancellation is probably automatically enabled only when loudspeaker used instead of headphones. The same approach may make sense for s/w echo cancellation.
  • Philipp
    Philipp
    edited November 2019
    CPU-wise, in my tests it was fine. My curiosity was mostly to answer the question: Does it affect audio quality? What I mean by that is, during our 3 people tests, the audio was noticably not "real speech" (think intermittent squeaking-hissing-skipping-dropping and what not), which I'm sure is natural and for a multitude of reasons, e.g. compression to 16k. However, I was wondering if one of the quality-lowering reasons is that *as the echo gets cancelled*, it will on that single audio line also cause artefacts on the normal speech. Sort of like how one might remove a watermark in a photo but then there's some smudges left on the removed section. Where now reversely, if earphones were used to remove the echo, then the cancellation would have less to do, leaving less smudges, so to speak.

    These things are super tricky to test, so I was hoping for maybe some stories from experience, but I do understand if there is no such easy information to tap into. Thanks in any case!
  • Normally, echo cancellation does not add any artifacts. In worst case it just does not remove echo. What kind of distortions do you experience? Can you share a sample? Does reliable mode improves the quality? Did you try to increase Play Delay? Make sure that microphone produces signal of reasonable quality and level, w/o much environmental noise or better use prerecorded speech of guarantied quality instead.
  • Thanks for these tips! I do get good quality in a good setting; it was likely the background noise then in one of the tests.