These are the significant pieces I have done so jack would start with bluetooth/bluealsa as the destination for output audio.
Use Raspberry Pi GUI (pair bluetooth speaker, then select as audio output) or bluetoothctl commands to register speaker. I’m sure I have tried both ways, since I obtained the bluetooth address of my speaker.
Add patch user to bluetooth group - not sure if this was neccessary
sudo usermod -a -G bluetooth patch
Comment out onboard audio. This was supposed to help ensure bluetooth was used instead of onboard audio. My recollection is that, if I didn’t do this, my .asoundrc file in step 4 kept getting replaced with another configuration.
#Enable audio (loads snd_bcm2835)
Create or edit ~
*This seems to be the definition that jack can’t see during boot, but is accessed just fine after login.
SOLUTION UPDATE (create this file as /etc/asound.conf for the ‘solution’ setup)
defaults.bluealsa.device "XX:XX:XX:XX:XX:XX" *(bluetooth speaker address)*
device "XX:XX:XX:XX:XX:XX" *(bluetooth speaker address)*
comment out existing jack starting line
Put in a new one that references bluealsa (the bluetooth stack). This one works for me:
exec /usr/bin/jackd -r -d alsa -P bluealsa -n 3 -S -o 2 -X seq
Now audio from Jack comes out of bluetooth speaker, when using KX-Studio Carla as a MIDI processor and instrument host.
What is left is to sequence or set commands such that Jack setup does not fail during boot. I want a foolproof pi setup that I can put in a museum exhibit, that someone can just power cycle if there is a problem. I was thinking that maybe the jack.service/jackdrc files didn’t have access to the .asoundrc for some reason, and also tried adding jack or even root to the bluetooth group, with no improvement. The errors posted above suggest to me that Jack can’t ‘see’ the definition present in (.asoundrc). I am certain there is a solution to this problem, but I am new enough to linux I don’t understand the order and dependencies of these things.