How to convert Speech to Text
218 views (last 30 days)
Show older comments
I am doing project on speech signal analysis.how to convert speech to text any one help me
0 Comments
Accepted Answer
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
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!
More Answers (2)
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
on 23 Mar 2022
Please see the response provided to this same question in the main thread
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
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?
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!