File Exchange

image thumbnail

text2speech - tts

version (86.2 KB) by Wolfgang Garn
Converts text to speech.


Updated 25 Jan 2011

View Version History

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

Any text is spoken.

Get started ...
1. add the text2speech folder to your Matlab path
2. Test your new function:
tts('This is a test.')

Casual chat.
tts('Hi - how are you?');
tts({'Hello. How are you?','It is nice to speak to you.','regards SAPI.'})

Emphasising (only for the SAPI version*)
text2speech('You can <EMPH> emphasis </EMPH> text.');

Silence (only for the SAPI version)
text2speech('There will be silence now <SILENCE MSEC=''500''/> and speech again.');

text2speech('You can <pitch middle=''-10''/> drop the pitch.');
text2speech('But you can make it <pitch middle=''+10''/> jump as well.');

*SAPI: Speech SDK 5.1 from Microsoft

Microsoft's TTS Namespace

Microsoft's Synthesizer Class

Cite As

Wolfgang Garn (2021). text2speech - tts (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (24)




is this function used for tamil characters also..

veni m

please send the matlab code for text to speech through

Can we add .txt file to this function ? please let me know how to voice out an .txt file in MATLAB. Thank you for the file.


i wanna take the text from the output of OCR and use the tts function to make it audible
help me plz

Fernando Esteves

Pushkaraj Jadhav

can we add .txt file in this function so as to read whole file



I followed all the instructions but still get following error:

>> text2speech('Hello');
Index exceeds matrix dimensions.

Error in loadlibrary>getLoadlibraryCompilerConfiguration (line 497)
compilerConfiguration=compilerConfiguration(1); %unix machines return c and cpp compilers here

Error in loadlibrary (line 253)

Error in text2speech (line 59)


Can you please suggest what might be going wrong?




Warning: If this is not a Windows system or the .Net class exists you will not be able to use this function.Please let me know what went wrong:
> In tts at 50
i got this error

Debejyo Chakraborty


Wolfgang Garn

If you just use the "tts" function, then you should not have to download SAPI - in particular if you use Windows 7 or Vista.


How can i store the speech output in .wav format.? Please help.

susrutha gongalla

but we need to download the microsoft SAPI first rite..???

Wolfgang Garn

I have observed that issue as well and provided a new function based on .NET - use "tts('Hello World')" instead of text2speech. The .NET approach is significantly easier than the previous one. Please let me know whether the "emphasise", "silence", etc. features would be useful in the new version.


I'm running:
Matlab 7.10.0 (R2010a)
Win 7, 64bit
I get the following message upon running
??? Error using ==> loadlibrary at 480
There was an error loading the library "C:\Users\charlie\Documents\MATLAB\Sounds\text2speech\wgText2Speech.dll"
C:\Users\charlie\Documents\MATLAB\Sounds\text2speech\wgText2Speech.dll is not a valid Win32 application.

Error in ==> text2speech at 59

Caused by:
Error using ==> loaddefinedlibrary
C:\Users\charlie\Documents\MATLAB\Sounds\text2speech\wgText2Speech.dll is not a valid Win32 application.

Question: Could you provide the source code to be re-compiled in the 64bit OS?


Sorry... I missed a single quote mark.. should read

text2speech (['count backward from' int2str(k) 'by sevens']);

Jonathan Cofino

My computer also hangs when I attempt to use the 'text2speech' function. It worked great in MS XP, but not in MS Vista. very odd.


I get stuck when loading the speech library.

This program calls MATLAB's loadlibrary function, which in turn calls the function loaddefinedlibrary. At that point, MATLAB hangs. I let it go for a few minutes and then have to force-quit MATLAB from the Task Manager. I don't get an error message, so I am not sure I have the same error as people who do get an error message about not having a module installed.

Any idea how to fix this issue? I guess it is more general than text2speech but am wondering if anyone ran across this error while using the program.

Wolfgang Garn

Speed tag: <rate absspeed="5">, relative speed <rate speed="2"> Values are between -10 and +10.
See XML TTS tutorial ( ) for more information.

marian nasry

thanks for this code very much , but i've one question : how can I control the speed of the speech;
please help me

bharath kumar

hi when i try to execute this code it says Undefined function or variable loadlibrary
can anyone plz help me

Nathan Miller

Works beautifully!

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!