How to convert Speech to Text
55 views (last 30 days)
Show older comments
nemala srinivasa rao
on 1 May 2015
Commented: Gabriele Bunkheila
on 16 Nov 2023
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.
11 Comments
batool
on 16 Nov 2023
Hello, I want to do a project for arabic speech to text conversion using matlab. Can I use wav2vec?
Gabriele Bunkheila
on 16 Nov 2023
As of R2023b, all pre-trained speech-to-text models available with MATLAB via Audio Toolbox (including wav2vec) only support the English language.
For different languages, including Arabic, you want to use one of the cloud services supported by speech2text. Please remember that this workflow requires first creating an account with one of 4 supported services (Amazon Transcribe™ is also part of the mix since R2022b) and then downloading a credentials files onto a local folder on your MATLAB path. You can refer to the accompanying examples of speech2text for the details.
For Arabic specifically, you want to ensure you read the documentation of the service of your choice and identify the language localization most closely related to the content you need to transcribe.
More Answers (1)
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
Nikos Korobos
on 23 Mar 2022
Hi, is there any possibility to function STT without an internet connection?
Asking because it makes use of various SAPIs
Gabriele Bunkheila
on 23 Mar 2022
Please see the response provided to this same question in the main thread
See Also
Categories
Find more on Speech Recognition in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!