How to convert Speech to Text

218 views (last 30 days)
I am doing project on speech signal analysis.how to convert speech to text any one help me

Accepted Answer

Gabriele Bunkheila
Gabriele Bunkheila on 16 Jan 2018
Hi Nemala,
I work at MathWorks and I noticed this old question of yours just now. In case it was useful to others, I thought I'd leave a link to our recent MATLAB Central sumbission speech2text:
That enables to leverage 3rd party speech-to-text web services (so far including from Google, Microsoft and IBM) directly from MATLAB using a simple MATLAB Function. The syntax looks like the following:
>> [samples, fs] = audioread('helloaudioPD.wav');
>> soundsc(samples, fs)
>> speechObject = speechClient('Google','languageCode','en-US');
>> outInfo = speech2text(speechObject, samples, fs);
>> outInfo.TRANSCRIPT =
ans =
'hello audio product Developers'
>> outInfo.CONFIDENCE =
ans =
0.9385
Please refer to the html folder in the submission for a step-by-step getting started guide.
Thanks,
Gabriele.
  9 Comments
Gabriele Bunkheila
Gabriele Bunkheila on 23 Mar 2022
Indeed, as of today speech2text uses a web API interface to access three different speech-to-text web services. You also need to create an account with either of the supported providers to use that feature.
If you need a local solution, you may want to try this recent submission based on the deep network wav2vec -- this will downloaded and run the actual network on your local machine as part of the setup process:
Note that this is a simple end-to-end deep learning model and not a a fully-featured service. One of the limitations is that the model version available only works for English and it doesn't have any dialect-specific variations. That said, its is a state-of-the-art model as far as single networks go and its performance is remarkable for many ordinary test cases. Let us know how that works for you!

Sign in to comment.

More Answers (2)

Image Analyst
Image Analyst on 1 May 2015
Not an answer for you, but in case anyone is interested in the reverse direction (text to speech).....If you have Windows, try .Net. Try this MATLAB code snippet:
% Program to do text to speech.
% Get user's sentence
userPrompt = 'What do you want the computer to say?';
titleBar = 'Text to Speech';
defaultString = 'Hello World! MATLAB is an awesome program!';
caUserInput = inputdlg(userPrompt, titleBar, 1, {defaultString});
if isempty(caUserInput)
return;
end; % Bail out if they clicked Cancel.
caUserInput = char(caUserInput); % Convert from cell to string.
NET.addAssembly('System.Speech');
obj = System.Speech.Synthesis.SpeechSynthesizer;
obj.Volume = 100;
Speak(obj, caUserInput);
Speech to text is a lot more complicated of course.
  4 Comments
Gabriele Bunkheila
Gabriele Bunkheila on 23 Mar 2022
Please see the response provided to this same question in the main thread

Sign in to comment.


zahoor mosad
zahoor mosad on 23 Jun 2019
please send me the code to my gmail zahoormosad@gmail.com. It will be great help for my thesis. I'm never forget your kindness.
  1 Comment
Image Analyst
Image Analyst on 23 Jun 2019
Did you overlook Gabriele's answer above? Does that not help? Exactly what kind of code were you looking for? What is the topic of your thesis?

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!