That's the fun part of development: tracking down bugs.
It's one thing when we're talking about a simple little college programming class problem where you might have a couple of files of code, a page or three long each, to go through, but the software handling speech on these devices is likely thousands, if not millions, of lines of code, when you consider it's more than just taking raw audio and putting it to a data stream. You have digital encoding. Which format is it using? Somewhere in here Facebook, Google, and who knows who else gets to sniff the audio before it leaves the device so they can see what interests you so they can target the ads to you. Then there's the interface for encapsulation, along with any metadata. Checksumming. Each of these steps itself another thousands of lines of code, modules calling other modules to handle various bits and tasks. Each module handled by a different programmer whose job is not only this module but the same equivalent module for a dozen different hardware devices, and [s]he has the added responsibility of keeping all the devices on an adjacent level to one another until they are individually end-of-lifed, collaborating with every other developer with whose files this one's files interact, waiting for response to emails and voicemails, and supervisor approvals, and God knows what else before they can move forward.
It'll take a minute.

Ain't red tape great?