Skip to content

Audio quality remains low for non-voice sources if using bluetooth headsets with voice enabled. #6433

Open

Description

@roxanneskelly

Environment

26.4 + Bluetooth headset.

Description

Bluetooth drops it's bandwidth and goes mono when the microphone is enabled. It's just an artifact of the bluetooth technology, and there's nothing that can be done about it. In secondlife, this results in poor audio quality when listening if voice is enabled, as the viewer activates the microphone to prepare for input while voice is enabled.

In 26.2, we only activated the microphone when mute was toggled. This results in a 'hiss' when you start speaking, and can result in a disruptive delay and audio artifact when toggling the mute button. The only thing that can be done about that is to keep the microphone active (but not listening) at all times, which is what we did in 26.3.

Unfortunately, this results in poor quality (lower bitrate, mono) when listening to other sources like DJs, music from mp3s, etc.

We want to give user a choice, so we should add a checkbox to either the sound panel or voice panel that favors either voice or other audio.

@Steeltoe-Linden we need text for the checkbox, and whether it's in sound or voice.

@grumpity we need a default for this.

The implementation of this will be tricky as it affects code that is involved in the voice tuning mechanism, the 'cross region' and 'region switching' mechanism, etc. so take care. The fix should be in the voice code (llwebrtc.cpp?)

This change should be made in a way that is easy for firestorm to hotfix (squash merge, etc.)

Reproduction steps

With bluetooth.
Flip switch to favor voice from favoring other audio:

  • validate heard audio quality goes down. validate there is no delay or artifact when toggling the mute button. validate there is no squelch heard by others when you start speaking.

  • flip the switch the other way.

  • validate heard audio quality from inworld sources or locally played mp3s goes full stereo with good quality. there might be a delay and artifact when toggling mute. there might be a hiss when starting to speak.

  • Validate wired sounds good with either setting.

  • Validate device selection panel between bluetooth and non-bluetooth devices with switch in either direction.

  • Validate removing or adding devices works with switch in either direction.

  • Validate region crossing works with switch in either direction.

  • General smoke of other functionality.

UI should look like this (from @Steeltoe-Linden)

Image

And the default should be "Better in-world audio"

Activity

  1. added this to the 2026.5 milestone on Oct 12, 2026
  2. added
    bugSomething isn't working
    triageFlags issues that need to be triaged
    on Oct 12, 2026
  3. canny commented on Oct 13, 2026

    @canny

    This issue has been linked to a Canny post: qualidade de audio ruim com fone bluetooth 🎉

  4. roxanneskelly commented on Oct 20, 2026

    @roxanneskelly
    ContributorAuthor

    @maxim-productengine the PR for this is #6447

    We just need the UI and default modified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't workingtriageFlags issues that need to be triagedwebrtc

Type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions