Ticket #384 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Pitch of sound in Bluetooth audio is too sharp

Reported by: JeremyVisser Owned by: lennart
Milestone: 0.9.15 Component: core
Keywords: Cc:

Description

I'm using the new module-bluetooth-device with my A2DP headset, which for the most part, works okay.

However, I can audibly hear the pitch get sharper when changing from my desktop speakers to the headset. The amount it shifts by is smaller than a semitone, so it is not too bad, but it is still incredibly annoying, and it means I can no longer play practice my instrument while playing along to recordings, as I can't possibly play any sharper than I already do without surgery to my instrument.

When playing to the headset by instead using "module-alsa-sink device=bluetooth" (using a pcm.bluetooth { type bluetooth } device I set in .asound.conf), the pitch is normal.

Side note: A "module-bluetooth-*" component in the bug tracker has not yet been created.

Change History

Changed 3 years ago by jpeddicord

I can confirm this behavior. Loaded the module as:

pactl load-module module-bluetooth-device sink_name="bt" address="00:13:17:71:EC:D9" profile="a2dp"

If the audio is initially playing in the headset, the pitch is fine. However, switching the stream back to PC speakers and then back again causes a slight bump in the pitch (however, without any audio dropouts). Repeat, and it goes even higher. After about 3 stream swaps between the PC speakers and the headset, audio begins to crackle on the headset as described on #385. However, audio played on the PC speakers is fine.

Changed 3 years ago by jpeddicord

Forgot to note: When pulseaudio is ran with -vvv, the following is repeatedly displayed:

D: module-bluetooth-device.c: IO thread waking up
D: module-bluetooth-device.c: SBC frame_size: 112
D: module-bluetooth-device.c: SBC: encoded: 512; written: 113
D: module-bluetooth-device.c: SBC frame_size: 112
D: module-bluetooth-device.c: SBC: encoded: 512; written: 113
D: module-bluetooth-device.c: SBC frame_size: 112
D: module-bluetooth-device.c: SBC: encoded: 512; written: 113
D: module-bluetooth-device.c: SBC frame_size: 112
D: module-bluetooth-device.c: SBC: encoded: 512; written: 113
D: module-bluetooth-device.c: SBC frame_size: 112
D: module-bluetooth-device.c: SBC: encoded: 512; written: 113
D: module-bluetooth-device.c: SBC frame_size: 112
D: module-bluetooth-device.c: SBC: encoded: 512; written: 113
D: module-bluetooth-device.c: SBC frame_size: 112
D: module-bluetooth-device.c: SBC: encoded: 512; written: 113
D: module-bluetooth-device.c: avdtp_write: requested 804 bytes; written 804 bytes
D: module-bluetooth-device.c: IO thread going to sleep

The message never changes, and is repeatedly printed hundreds of times per second. Doesn't matter if any audio is being streamed to the headset or not (though PA seems to be keeping the headset alive as in #418).

Changed 3 years ago by lennart

  • status changed from new to closed
  • resolution set to fixed
  • milestone set to 0.9.15

module-bluetooth-device in git should fix this.

Note: See TracTickets for help on using tickets.