MATLAB Answers

Speaking the time in my code or codes

5 views (last 30 days)
Hello MATLAB Community, again.
So I have a code where it speaks and shows the time, but I really want my code to speak the time I enter.
Right now I have:
res=input('','s');
if strcmpi(res,'What is the time')
NET.addAssembly('System.Speech');
obj = System.Speech.Synthesis.SpeechSynthesizer;
obj.Volume = 100;
Speak(obj, 'this is the time' )
fprintf('%s\n', datestr(now,'HH:MM:SS'))
s=-1;
k=1;
end
It speaks out but tells the current time. Is there a way to make it speak the time a user enters? Please provide an example. Thank you.

  0 Comments

Sign in to comment.

Accepted Answer

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 26 May 2019
Hi,
If I have understood your question correctly, here is the corrected code that speaks the current time:
NET.addAssembly('System.Speech');
obj = System.Speech.Synthesis.SpeechSynthesizer;
obj.Volume = 100;
Speak(obj, 'this is the time' )
% If no need to display the time, then just to remove it.
Speak(obj, datestr(now,'HH:MM:SS'));
Good luck.

  3 Comments

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 28 May 2019
You are welcome! It is just a pleasure. Good luck.
Image Analyst
Image Analyst on 28 May 2019
Surprised you picked this answer as the best one since it does not speak the time the user entered with your input() function, like you asked for and like my answer below does. So if you're still wondering how to do that, see my solution.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 26 May 2019
Try this. It works. Adapt as needed.
% Instantiate the speech .Net assembly (for Windows only - not Apple!!)
NET.addAssembly('System.Speech');
obj = System.Speech.Synthesis.SpeechSynthesizer;
obj.Volume = 100;
% Have the computer tell us the current time.
Speak(obj, 'This is the current time')
string2 = sprintf('%s', datestr(now,'HH:MM:SS'))
Speak(obj, string2)
% Now let the user enter something.
Speak(obj, 'Now it is your turn to enter a time')
string3 = input('Enter a time in the form HH:MM:SS : ', 's')
Speak(obj, string3)

  1 Comment

Rainaire Hansford
Rainaire Hansford on 29 May 2019
Oh yours is cool too. I didnt see yours actually. Really I just wanted it to say the time. But I may use yours for setting a time, timer or alarm. Thank you.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!