Text to speech synthesis matlab code

Hello everyone can anyone pls tell me matlab code for text to speech synthesis without using system speech synthesizer...pls help me...

 Accepted Answer

Try this, if you have a Windows computer:
% 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);

25 Comments

Thank u very much for ur answer
If this works, could you go ahead and mark the answer as "Accepted". Thanks in advance.
But System.Speech uses the systems speech synthesizer.
Right - I didn't notice because of slight wording differences. I wonder why it matters. Who cares as long as your computer talks?
hello Image Analyst I work in a project and you helped me now is that I can know what code type for the spectrum and the timing of the signal ?
I don't understand your question. Ask it in your own brand new question after reading this.
Image Analyst, wow man you solved my problem. I thot I was in a tight jam. But your code just made my day...Kudos.
You're quite welcome Ashish. Thanks for your vote.
Please help me in install speech synthesizer for window 7 for smooth work
Which speech synthesizer?
How is the code working?
I want to read text from notepad file or .txt file what the code for it? |
Look at the help for fgetl()
% Open the file.
fileID = fopen(fullFileName, 'rt');
% Read the first line of the file.
textLine = fgetl(fileID);
while ischar(textLine)
% Read the remaining lines of the file.
fprintf('%s\n', textLine);
% Read the next line.
textLine = fgetl(fileID);
end
% All done reading all lines, so close the file.
fclose(fileID);
Thanks for code but i want read text from notepad and convert that text into speech
m k: do you mean that you want the MATLAB program to reach over to an active copy of Notepad and ask Notepad to give it the content of the text?
I am having difficulty determining whether Notepad permits that kind of manipulation at all. I am finding information on connecting from MATLAB to Notepad++ which is an open source enhancement of Notepad.
How can I change the voice using this solution? The obj.Voice.Name property seem to be read-only. I want to use some other voice (supplied by IVONA), not the default.
taha khan
taha khan on 25 Apr 2018
Edited: taha khan on 25 Apr 2018
Error using NET.addAssembly Attempt to execute SCRIPT addAssembly as a function: C:\Program Files\MATLAB\R2017a\toolbox\matlab\winfun\NET\+NET\addAssembly.m
when i write above code then this error begins?? any one known why?
you must use matlab version higher then 4.1
? There was no public MATLAB 4.1. The public releases went from 4.0 (1992) to 4.2c (1994)
I got the same error as "error in NET.addAssembly('System.Speech'); Can you tell me what did you do and what I should do to rectify the error and for output
NISTALA
NISTALA on 27 Feb 2020
Edited: NISTALA on 27 Feb 2020
can we save the audio output in a file or folder
To use audiowrite() you'd need to check what properties or methods System.Speech or obj has. Perhaps one of them is a function to return the audio waveform.
How can i save the audio output in a file.wav?
The very first example in the help for audiowrite() shows you how to do that:
load handel.mat
filename = 'handel.wav';
audiowrite(filename,y,Fs);
You just have to make sure your filename extension has the correct extension to save it in whatever format you want, and audiowrite() will figure it out.
how can i store that computer voice on my computer?

Sign in to comment.

More Answers (6)

It would quite a help if you explain the code working.

3 Comments

If you are referring to Image Analyst's code: it works by activating a .NET assembly, creating a .NET object using the assembly, and invoking a method on object to do the work.
Another way of phrasing this is that it more or less makes an operating system call to do the work.
The technique will work only for MS Windows.

Can you please tell me code for the process you have told..creating .Net and invoking it

You don't need to do anything. In my code you simply start using NET.
With Windows systems, it's built-in or something.

Sign in to comment.

Need the source code of this class (System.Speech.Synthesis.SpeechSynthesizer)? any one help me ? thanks in advance.

2 Comments

If you get hired onto the right team, you may be able to get to the source code.
@sadiq: You ask a Matlab forum to provide the source code of a Windows library, which is obviously a protected property of Microsoft. Seriously?

Sign in to comment.

i need coding for extact of text and audio conversion

2 Comments

how to reduce delay in text to speech conversion between two word or more in matlab .please send command.thanks

Sign in to comment.

Priya Raj
Priya Raj on 21 Mar 2018
Sir, We have obtained the count of objects in our program and we want to output that count in the form of speech,How it can be done,ty.
Brian Hemmat
Brian Hemmat on 25 Jan 2020
Audio Toolbox (R2019a or later) supports calling into popular 3rd-party APIs for speech synthesis:

Categories

Find more on Simulation, Tuning, and Visualization in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!