Hey guys! I have done some extensive (some might even call it obsessive) research on this subject with all of my bluetooth headsets since discovering this issue a couple weeks ago. The common denominator with all of the bluetooth issues I am having is the fact that they all have a microphone and support for phone calls. @stschoen I am going out on a limb here, but I’m guessing that your Philips BT headset doesn’t have a microphone? Either that or the patch wasn’t producing enough information bits to overload the single channel’s buffer in the crappy default profile that is chosen when the headphones are in use with Audulus on Mac and iOS.
The issue seems to be with the codec and profile that is chosen by the Audulus application asking the system what to do or the system asking Audulus what it wants. It appears that because Audulus is capable of taking in sound, when BT is configured and a microphone is available on the headset/speaker, instead of using stereo sound (channels 1 & 2) and AAC or APT-X codec, Audulus and iOS set the headset up as a 2-way communication device, which defaults to using the headset microphone and has audio streaming to you in mono on channel 1, with channel 2 being reserved as an input (even if it is not being used, see attached patch) and the codec set to SCO or SBC. I had the same issue with my BT headphones (all of them) with my Mac until I manually switched the microphone on the headphones off in the Sound Preferences > Input section, by choosing Internal Microphone. Upon changing the microphone to the device internal, the load is taken off of the BT device, a better quality codec is selected (AAC in my case), the headphones switch to stereo mode as both channels can now be utilized, and the sound no longer clips, blips, crackles, pops or drops.
I have attached screenshots documenting this behavior on my Mac. I have also attached a patch I used to qualify/document what I have stated above. You can test this behavior and reproduce by downloading, opening the patch, and doing the following -
- Play a bit through the default speakers or a wired headset and note the richness of the sound (I used the Audulus official live stream on youtube as a framework for setting up the patch, and made a few modifications).
- Then configure the BT device with iOS settings app, then come back to Audulus and try to play again.
- You will encounter reliably what I have encountered and other have also mentioned with the crappy sound quality and dropping.
- You can reproduce the channel behavior I mentioned by changing the channel of the DAC's at the end (both at the same time) from 1 to 2 and try to play again.
- If you get the same result as me, there will be no sound coming out because of the channel being reserved as an input with the default sound profile for Bluetooth devices with microphone(s).
I’m not sure how hard this would be, @Taylor, but I have been reading a LOT about iOS audio development and support frameworks lately, and it seems like (if possible) if you added a toggle to the Settings menu, where you select Background Audio, it could allow users to manually select the iOS device microphone as the preferred setting when they open Audulus. I know there are other iOS apps (Siri, for example, although I am aware that this is a system level utility, and may be subject to different permissions) that allow you to select the iOS device as the sound input source for app interaction while using Bluetooth hardware. I found an older article regarding support for this feature at Apple Developer site, which provides more information about the library that supports this functionality.
I obviously am not the genius developer that has created such a wonderful application as Audulus is, but in my professional opinion as a support engineer for a network video company, I am 95% certain that a toggle would resolve the majority of roadblocks to Audulus Bluetooth audio output support, which @biminiroad mentioned to me when I brought this up. Anyway, I just wanted to make my findings known. If there is anything that I can do to help with the development or testing of Audulus, I would be happy to participate. Thanks so much for all that you guys do, this is the most amazing application and community I have ever encountered!
Mod Synth 101.audulus (96.5 KB)
screenshots uploaded here