So here is the neat thing I've been debugging ALL WEEK. Buckle up for this thread.23:01 PM - 18 Apr 2019
I had a stupid week. In reality, its been a rough couple weeks adding 10x to my to do list and seemingly removing none of it. Does that make me a -10x dev? 😭
I work on Unity + Watson stuff, which is a lot of variables. Unity updates, Watson service updates, Watson SDK updates, MBP updates, iOS updates if applicable.23:02 PM - 18 Apr 2019
I probably don't have to tell anyone on here how many variables and magnitudes of uncertainty get added with each new framework, platform, library, and on and on.
Woke up daily this week to people asking me why stuff wasn't working, I assumed it was because of the recent SDK changes, of which there are many breaking changes.23:02 PM - 18 Apr 2019
Developer advocates play a key role in assisting the developer community with tutorials, how-tos, code snippets, and other supplemental resources to documentation. Some even contribute to the documentation!
So it's not unheard of for me to wake up to a bunch of notifications on Twitter or an inbox jammed with alerts from forums, particularly after a new SDK release.
But after I wrote up a quick Text to Speech example, the traffic didn't die down.
I quickly write up a TTS example since there isn't one in the SDK yet: gist.github.com/akeller/4e16cd…
I get more messages from people saying things don't work. Decide to start testing my old examples because the old SDK version should work just fine.23:03 PM - 18 Apr 2019
The SDK team has since apologized for not being super proactive about loudly declaring how significant these breaking changes are, but continued to reassure me that all old versions should still work. Speech to Text wasn't working. Devs couldn't just update the SDK version as a silver bullet.
NOTHING works. Not the workshop example I just did, the project I've been working on since January. They all run, no errors, but when STT (speech to text) should work, it just sits there.23:04 PM - 18 Apr 2019
I spend the next few days just trying to get one of my Unity projects to throw some sort of intelligent error, or really any error at all, but it just sits there. Watson Assistant and Text to Speech continue working just fine.
I'm like on the brink of the "frustrated meltdown I should quit tech" level of crying.
I FINALLY get an example in the SDK to throw an error about endianness.23:05 PM - 18 Apr 2019
This is now 4+ days into this adventure and getting an error about endianness only tells me that something is going on with the captured audio. It is the wrong format.
Breakthrough. Sort of. It has to do with audio capture, which for me hasn't changed. WTF is going on.
Test on a USB headset + mic, IT WORKS.23:06 PM - 18 Apr 2019
I have a couple of options, including changing the mic from my built in MBP mic to an external one, which thankfully my husband has in a USB headset. I adjust the sound settings, make sure I'm using the headset and not only does it work, it doesn't throw any sort of error.
I check my settings (System Preferences > Security & Privacy > Microphone) and sure enough, I think I've figured it out.
All of the other applications in the list are checked? What happened to Unity?
Check the Unity box, look audio comes in just fine through my built-in MBP mic JUST LIKE IT ALWAYS HAS.23:07 PM - 18 Apr 2019
What audio was I capturing before? Random static? Where was that coming from?
I'VE BEEN MOJAVED.
THE END.23:07 PM - 18 Apr 2019
Did your speech service enabled application decide to stop working after an OSX system update? I'm running Mojave 10.14.4 as of April 11, with no known issues with my built in microphone setting until this week (seemingly after this update). Don't waste a week of frustrated debugging without first checking your settings.
System Preferences > Security & Privacy > Microphone
Make sure the application you are using to capture audio is checked.
You're welcome in advance.