EHfive / pulseaudio-modules-bt

[Deprecated, see https://github.com/EHfive/pulseaudio-modules-bt/issues/154] Adds Sony LDAC, aptX, aptX HD, AAC codecs (A2DP Audio) support to PulseAudio on Linux
GNU General Public License v3.0
1.75k stars 86 forks source link

Low volume on WH-1000XM3 headphones when using any other codec then HSP/HFP #103

Closed adraz98 closed 4 years ago

adraz98 commented 4 years ago

I installed the module with the following parameter

load-module module-bluetooth-discover a2dp_config="ldac_eqmid=hq ldac_fmt=f32"

If you need any more detailed information, just tell me which command to insert on the terminal and I will provide it to you.

easyrider commented 4 years ago

On my machine using LDAC profile it's pretty loud above volume > 80% (Tidal HIFI). AptX HD was similar in my case. Some YT videos are quiet though.

adraz98 commented 4 years ago

I tested YouTube, Spotify and many other sources. In alle settings my audio was set to 100% on system and application level.

I use the endeavouros-distro on arch basis. Is there any way to increase the audio volume on the LDAC profile?

berglh commented 4 years ago

@adraz98 As far as I know, PulseAudio isn't aware of your Sony headphones volume level. You will need to manually change this on your headphones to an acceptable level. if your headphones are on a high level already, check your PulseAudio Volume Control volume levels. Each application in the newer version have discrete volume levels in the, for instance, you could listen to Spotify on loud but have Chrome browser on a lower volume this is set in the Playback tab. Each output device also has discrete volume levels in the Output Devices tab. If you have another default device, like plugged in speakers, just using the main volume control may be adjusting that default device rather than the device volume of your Sony headphones.

l0wl3vel commented 4 years ago

I have the same headphones and they indeed have an internal volume, which is not exposed in pulseaudio. You can change it via dbus:

  1. Open a D-Bus explorer like D-Feet
  2. Navigate to org.bluez
  3. Select your device (/org/bluez/hci0/dev_)
  4. Select the method org.bluez.MediaControl1 and run the volumeUp operation a few times by spamming the run button
hbriese commented 4 years ago

@l0wl3vel Thank you! Although I couldn't find such a D-Bus method (the only method in org.bluez.MediaControl1 being SetConfiguration) increasing the internal volume on my earphones did indeed work.

Prior to Ubuntu 20.04 the device's internal volume wasn't able to be changed (set to it's max?) - essentially just controllable through pulseaudio

berglh commented 4 years ago

@hbriese So looking at the "manual", the normal method via bluetooth is to swipe up on the touch surface. When you do this, does it not actually change the volume when connected via bluez/PulseAudio? That is a pretty annoying design feature if that's the case. :disappointed:

https://helpguide.sony.net/mdr/wh1000xm3/v1/en/contents/TP0001703116.html

My Sennheiser Momentum 3 have physical volume up and down buttons, and they adjust the internal headphone volume even if the call via bluetooth to adjust volume doesn't work on the bluetooth audio device - i.e. I don't see the any changes in PulseAudio mixer volumes when I press the buttons, but it increases the volume up to an internal max level anyway.

Also, my Sony SHB70's operate in the same way when connected via PulseAudio sink, however, it has physical volume up and down buttons.

Edit: I tried the DBus method for the M3, even though the introspection method seems to return a property of "Volume", I'm unable to Get or Set that property on the headphones.

YihaoPeng commented 4 years ago

In Android, there is a option called "Bluetooth absolute volume", when it is enabled, you can adjust the system volume by sliding on the headset. When it is disabled, the headset has an independent internal volume.

Personally, I prefer to disable "Bluetooth absolute volume" because it protects my ears. I believe you also have the experience of "clicking the play button and then discovering that the volume of the headphones is unacceptably high". The system volume changes frequently (can also be adjusted by other users). If you do not check the volume before playing, you cannot guarantee that it is not 100%.

And the independent volume setting inside the headset will ensure that it is always not too high.


In Windows, there is no similar option. Sliding on the headset will directly adjust the system volume.

However, they still provide a registry key to disable absolute volume:

https://www.tenforums.com/tutorials/151957-how-enable-disable-bluetooth-absolute-volume-windows-10-a.html


Linux?

https://github.com/EHfive/pulseaudio-modules-bt/tree/absolute_volume

https://github.com/EHfive/pulseaudio-modules-bt/issues/87

I don't know why it didn't continue. But it is necessary to provide a option. I will definitely disable it.


Back to the original question:

if the volume of your headset is still too low when the system volume is 100%, please change the volume with buttons / touch areas on the headset.

EHfive commented 4 years ago

Move to #97