File Exchange

image thumbnail

text2speech - tts

version 1.2 (86.2 KB) by

Converts text to speech.

4.22222
9 Ratings

24 Downloads

Updated

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.')

Examples:
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
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.ttsengine(v=vs.85).aspx

Microsoft's Synthesizer Class
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.speechsynthesizer(v=vs.85).aspx

Comments and Ratings (22)

veni m

veni m (view profile)

please send the matlab code for text to speech through venimuppidathi@gmail.com

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.

Abdullah

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

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

Nirav

Nirav (view profile)

Hello,

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)
[thunk_build_fn,preprocess_command]=getLoadlibraryCompilerConfiguration(ccinclude,header,headername,compilerConfiguration);

Error in text2speech (line 59)
loadlibrary('wgText2Speech','Speak.h');

_________________________________________________________

Can you please suggest what might be going wrong?

Thanks!!

Aswin

Aswin (view profile)

nausheen

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: wgarn@yahoo.com
> In tts at 50
i got this error

grega

grega (view profile)

Wolfgang Garn

Wolfgang Garn (view profile)

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

srinu

srinu (view profile)

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

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

Wolfgang Garn

Wolfgang Garn (view profile)

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.

Charles

I'm running:
Matlab 7.10.0 (R2010a)
Win 7, 64bit
I get the following message upon running
text2speech('Hello')
??? 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
loadlibrary('wgText2Speech','Speak.h');

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?
Thanks!

Blake

Blake (view profile)

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

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

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.

M

M (view profile)

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

Wolfgang Garn (view profile)

Speed tag: <rate absspeed="5">, relative speed <rate speed="2"> Values are between -10 and +10.
See XML TTS tutorial (http://msdn.microsoft.com/en-us/library/ms717077(VS.85).aspx ) 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!

Updates

1.2

Added function "tts" which uses .NET (but has no special voice features yet as in the previous text2speech version), but overcomes "Visual C++ 2005 or 2008 requirement".

1.1

Matlab 2009 release (version 7.8+) usage of SpeechSynthesizer recommended.

MATLAB Release
MATLAB 7.10 (R2010a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video