Random Thoughts – Randocity!

Google Android: How to fix Speech to Text “Couldn’t Connect” error

Posted in Android by commorancy on April 3, 2012

[UPDATE: 2019-06-25]: Google seems to have retired its legacy speech-to-text (S2T) services for older Android versions including Gingerbread (2.4) and below. If you have Gingerbread and S2T is no longer functioning for you, this is likely the cause. This service retirement likely impacts some newer Android versions, which also rely on this older service. Because Google has retired the service, it will no longer function ever. If you need this feature, you’ll need to upgrade to a device that can run a newer version of Android which supports the “Ok, Google” assistant. It seems that Google is moving forward by replacing this older S2T functionality with its newer “Ok, Google” voice assistant. If you have a Samsung, you may be able to use Bixby. This is Samsung’s own voice assistant. On with the article…

While this isn’t an overly common problem that I’ve found with Android, it is a problem that I have run into that has entirely baffled me.. until now. Note, I am running Android 6.0.1 on my Samsung S5. Even on my S5, the keyboard microphone button links to and uses the “Ok, Google” engine, not the legacy service. Note that this article was written in 2012. Some of the below, particularly as it pertains to downloading keyboard packages likely won’t help older devices. However, the portion discussing why this feature doesn’t work (i.e., Internet) is still valid. If you have an older device, you may find this functionality no longer works even if you DO have Internet available. This is because Google seems to have retired its legacy Android S2T service as of spring 2019.

To use the speech to text functionality (specifically voice search or voice keyboard input), you are required to download a package onto Android initially. After downloading, I thought that I would be able to use this functionality all of the time. Let’s explore why this isn’t true.

Text to Speech Input Troubles

On the Android Keyboard (that is, the non-Swype keyboard input), there is a small microphone symbol. Why this isn’t on the Swype keyboard is anyone’s guess? If you click the little microphone, the microphone feature activates and allows you to speak your text. The phone is then supposed to convert your speech into text. This is particularly handy while driving. Unfortunately, most of the time I always seemed to see the error ‘Couldn’t Connect’ when attempting using this functionality. After all, I had downloaded the necessary packages. At first I thought it had something to do with the microphone. So, I plugged in different headsets and different bluetooth devices, but it still only randomly works. Sometimes it works perfectly and other times not. I also tried restarting my phone thinking there was some kind of service that was not working properly. No luck with any of this. For a while, I had given up on even using it. However, I finally decided to get to the bottom of this issue.

This would seem to be a very handy feature while in the car. And, it is, when it works. In my car, however, most of the time it doesn’t work. I couldn’t figure this one out at all. I kept thinking how lame it is that the one feature you absolutely need while driving is Speech to Text. Yet, it is the single feature that is the most unreliable. However, today I have finally realized why this functionality only intermittently works. It requires the Internet to function.

The Internet?

Why would this service need the internet? Apparently, whatever data was downloaded only enables the feature, but it doesn’t actually do the speech to text conversion in the phone. Apparently, the audio input is sent off to one of Google’s servers on the Internet (can you say, “Privacy Issue”) to be processed and the text sent back to the phone after conversion. The phone doesn’t actually do the conversion.

My Rant

While I understand the audio processing needed to decode an audio file may not be capable within the phone (although, Siri seems to do a great job offline in the iPhone), the phone should at least have some offline capabilities. However, the error message here is just absolutely stupid. It doesn’t explain anything. If the Internet is not available and this service requires it, the phone should pop up a message that either explains that no Internet is available or it should simply remove that functionality from the keyboard (grey it out) until the Internet is available. Why try to allow use of this functionality when the Internet is not available? This is both a confusing and stupid design. Google, you need to fix this design fast.

So, you’re probably asking why it periodically worked in my car? First, my phone is not Internet enabled. Second, I refuse to pay $80 a month for a 3G data plan that’s half the speed of my cable service and offers half or less the amount of data at twice the price. Instead, I pay for an ‘unlimited’ MiFi device that I don’t always turn on in my car. Sometimes it’s on, sometimes it isn’t. That explains why this functionality sometimes works and sometimes not.

I use the MiFi specifically because it works with all of my devices and is not locked to only one device. It allows for more data throughput, due to the plan rate. It is also a non-contract prepaid service, so I don’t have to worry about being stuck in a hugely long contract. If something better comes along, I just stop payment and walk away with no penalties. Specifically, I use Virgin Mobile’s MiFi that is actually using the Sprint 3G Network. I digress.

How To Fix

If you’ve been searching all over the Internet trying to figure out why this functionality only sparsely works and how to fix it, this feature requires the Internet. If your phone is not 24/7 Internet capable and you use WiFi for connectivity in select places, like myself, you will run into this problem when trying to use ‘Speech to Text’ from the Android keyboard while there is no Internet connectivity. To fix this issue, you either need to subscribe to a phone dataplan so you have ‘Always On’ Internet service or carry a MiFi device around with you and turn it on when you want to use Speech to Text. A hassle yes, but complain to Google as they are the ones that designed it to require the use of a Google server to decode the audio.

So, there you have it. Problem solved, mostly. At least, it’s solved for Android 2.2. If your have a later version of Android, your mileage may vary.

[UPDATE: 2012-05-04]

My bad. It appears that Siri does, in fact, require the Internet for Speech to Text conversion just like Android. This also goes for Alexa, Bixby, Cortana and even “Ok, Google”. So, I guess this article applies to the iPhone and all other voice assistant devices as well.