Ok, got some info for you.
The first failure occurs in the find_thresh(cont_ad_t * r) function.
The issue here is the detected max input levels are way above the defined max_noise level of 70. The Bluetooth connected headset is coming in at 98 or so. So, the first thing I did was to up CONT_AD_MAX_NOISE to 100 up from 70.
That got me though the sound calibration, but there’s another problem and this one I have no idea how to solve.
The first vocal input seems to work, but after the first recognition, something happens to the input stream from the mic. The function getDecibels in ContinuousAudioUnit.m starts reporting that the sampleDB value is “-inf”. Can’t say I’ve seen that before.
The logic here in getDecibels is specifically filtering out for inf values so someone thought of this or has seen it before.
If I turn off the headset everything goes back to normal and works.
My assumption here is the inf value indicates that the mic data is trashed and shouldn’t be used. So, the big question is, any ideas on why that’s happening?
I’ve tried this on an iPhone and an iPad Mini running iOS 8.0. Same results.