I'm connecting a raspberry pi 3b+ to a small bluetooth speaker (mostly thanks to http://youness.net/raspberry-pi/how-to-connect-bluetooth-headset-or-speaker-to-raspberry-pi-3 and some other resources)

raspberry pi info: pi@rp0:~ $ uname -a Linux rp0 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux

I'm at the point now where I'm able to reliably connect to the speaker as an audio sink, and keep the connection up... but the sound quality is HORRIBLE

as you might expect from this config:

pi@rp0:~ $ pacmd list-sinks


* index: 1
    name: <bluez_sink.C0_7A_A5_01_0C_B6.headset_head_unit>
    driver: <module-bluez5-device.c>
    state: SUSPENDED
    suspend cause: IDLE 
    priority: 9030

    sample spec: s16le 1ch 8000Hz
    channel map: mono

The pulseaudio daemon config is configured to set the sample rate, format, channels, and channel-map that I want (basically the defaults, and verified as what I want from my laptop's pulseaudio config when I connect the bluetooth speaker there). Here is the config on the pi:

pi@rp0:~ $ pulseaudio --dump-conf
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right

But I can't seem to get this config to take effect reliably. Earlier in the day I was able to connect with the settings I wanted (stereo/44100hz), but now, after disconnecting and reconnecting, it has returned to the sample rate printed above (mono/8000hz), and I can't seem to retrace the set of "magical" steps I had to get the config to take effect (some sequence of pulseaudio -k/pulseaudio -D/reboot/bluetoothctl ... connect)

So, how do I create a reliable configuration profile for this device?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.