TechTip: Watson APIs - Speech to Text

Analytics & Cognitive
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Ever wanted to have your spoken words automatically translated into written format? Well, there’s a Watson API for that, as we shall now see.

Maybe you did a webinar. Or you recorded a presentation that you did at a conference. And now, you’re thinking how nice it would be to have a written version of what you said that could be submitted to the Library of Congress for eternal preservation.

Or maybe you actually have a good reason to want to turn verbal speech into the written word. Either way, the IBM Watson Speech to Text API may be helpful.

Getting There

We start on the Watson home page. Click on the Products and Services verbiage, and then click on Speech to Text in the lower left corner of the window that opens up. Suddenly, there you are, in the world of Speech to Text.

What’s There

If you read last month’s piece about Visual Recognition, you will find the Speech to Text page very familiar.

It starts with a short description of what the API does. Basically, it can be used live or on recorded material. There are nine languages that it can translate, one of which is probably English. Actually, the languages supported are Brazilian, Portuguese, French, Japanese, Mandarin Chinese, Modern Standard Arabic, Spanish, U.K. English, and U.S. English. For the case where the audio is live, it does the translation in real time. If you are going from recorded material, such as calls to your service center, it can compare thousands of calls to generate meaningful analytics. It is smart enough to recognize different speakers, although I am not sure what it would do if you had a celebrity impersonator. One of the real pluses of Watson Speech to Text over some of the other solutions that are currently out there is that you don’t need high-quality audio to translate from. Watson has a built-in ability to take even lower-quality audio and enhance it so that you get an effective translation.

Part of the reason it is able to use a lower-quality audio is the fact that it does not just try to match an audio word with a text word; instead, it uses grammar and inflection information to help clarify what is being said.

In addition, you can customize the system somewhat to be more aware of industry-specific terms or products and thus reduce errors for things that might not normally be said in adult conversation.

It supports both broadband and narrowband audio. Plus, it supports a large number of audio formats, so many in fact that I didn’t feel like including them in this article even though it would have really helped to bump up the word count. And if that isn’t enough, it will pass up to 100MB of audio in one chunk or else stream and include timeouts to help conserver resources. Whew! That’s a lot of functionality. I’m getting overheated just thinking about it.

It’s able to identify key words and phrases that you have set up, and that’s particularly useful if you are analyzing a string of audio, such as with service center calls. The only problem that I can really see for the U.S. is that it automatically filters out swear words. I can think of a number of meetings I have been in, especially ones late at night during a physical inventory, when, if you took out the profanity, there wouldn’t be much left. Besides, that’s definitely an anti-millennial stance, and I’m not sure it’s a smart marketing move. But what the **** do I care.

A number of SDKs are available for this API—specifically, Node.js, Java, Python, Unity, .NET, and Swift.


The website includes a demo. At first, I wasn’t going to do it, but Watson give you so many options for getting your audio in there that I couldn’t resist.

One option is to use the mic on your computer to put in some audio. Whatever audio it picks up it converts to text immediately, which shows up on the screen. Unfortunately, my browser does not support that, so I couldn’t do it. I thought that was odd, but since I am on a Mac and use Safari, I thought maybe. Then I tried it on Chrome and IE within Windows. They don’t support it either, so I’m not sure what does. It’s just as well. I would have used an expletive-laden passage just to see if it does take that stuff out. Although actually, I might consider doing it with a British accent and see if it notices the difference and lets the bloody passages go through. I’m really not as mature as I should be at this age.

You can also upload an audio file that you have, but there are some limitations on the acceptable formats. It will take MP3 (but not MP4), MPEG, WAV, FLAC, and Opus.  

Fortunately for me, there are also two short audio samples that you can run, and you can see them printed out as you hear them. It was pretty cool. Speakers were defined as Speaker 1, Speaker 2, etc. (I don’t know if you can put names on these). I do wonder, however, after having spent almost two years in a company with a heavy contingent from India, how it would work with some of the accents that are out there. Accents are a fact of life for many businesses. I am also unsure how good the translation would be for those who were calling in to a meeting. Sometimes it’s hard to hear and understand them when you are there in person, much less on audio.  

A Personal Testimony

First, please note that I did not say “testimonial,” something that is invariably positive, but rather “testimony” as in “do you solemnly swear that the testimony…”

I don’t run into someone who has used one of these APIs every day, but Rusty Gadberry of Arkansas Data Services was kind enough to let me know about his experiences with Speech to Text.

He tried two input formats: uploading an audio file and direct voice input.

Unfortunately, the audio files he had were MP4, not one of the supported formats. He tried converting it, but the results were disappointing, so he never actually submitted that to Watson.

On the direct input side, let me quote directly from the entry in his experimental log:

I purchased a microphone to test voice input. It was okay at times but disappointing on some tests. I collected some recordings our field service folks had recorded and then tried to repeat these recordings using a microphone.  I wanted to see how well Watson would transcribe words that were related to our industry which is water and sewer service. Maybe it's my accent, I have a very southern drawl, but Watson had a hard time translating some of the terms, especially numbers.

These tests were done a year or more ago, and he hasn’t had time to go back to it since then. I would be very curious as to anyone else’s experiences. I would guess that the product has matured over the last year, but I can’t discount his concerns. On the other hand, I have a good friend who was born and raised in Arkansas, and there are times when he starts in on a story and I have to listen really hard to understand all the words. And if Watson differentiates between American and British English, then it may have trouble with some of the regional accents in our country.


Pricing is based on the number of minutes per month that the app is used. The first 1,000 minutes are free. After that, there is a graduated scale ranging from $.03 per minute for 1,001–250,000 up to $.01 per minute for over a million minutes. There is also a premium plan that offers greater security and isolation for special customers, but you need to talk to the sales group for the pricing on that.

In the End

It’s certainly an interesting concept and one that probably has value for many companies. But for me at least, there are unanswered questions about its ability to deal with very low-quality audio and accents.

But it’s definitely worth checking out to get the answers.