Make Windows speak out the time every hour

We have already seen how we can make Windows welcome us with an audio voice message during logon. Using the same commands, we will see how we can make Windows 10 / 8 / 7 tell us the time every hour. This can be especially useful if you tend to lose track of time while working.

Make Windows speak out the time

First open Notepad and copy-paste the following:

Dim speaks, speech 
speaks=hour(time) 
Set speech=CreateObject("sapi.spvoice") 
speech.Speak speaks

Save it as a .vbs file. If you wish, you can download the ready-to-use file by clicking here.

Next type schedule tasks in search and click on the schedule tasks result, to open the Task Scheduler.

ts-1

Under Action, select Create Task. Give the task a name. I have given it SpeakTime.

speak-time

Set the Trigger parameters as shown in the image. One time – Start date & time, Repeat task every 1 hour, Duration – Indefinitely, and so on.

ts-2

Under Actions, click New button. The New Action box will open. Select the action Start a program and browse to the vbs file to set the path.

ts-4

You may change the change some parameters under the Conditions and Settings tabs – else you may leave them at their defaults.

Click OK and Exit.

Now every hour, Windows or rather Microsoft David will speak out the time to you…11…12…! If you don’t like Microsoft David, you may opt to hear the voice of Microsoft Hazel or Microsoft Zira instead, via Control Panel > Text to Speech tab under Speech Properties. You can also Make Windows Talk to you!

This will of course work on Windows 7 and earlier versions too.

Posted by on , in Category Windows with Tags
Anand Khanse is the Admin of TheWindowsClub.com, an end-user Windows enthusiast, & a 10-year Microsoft MVP Awardee in Windows for the period 2006-16. Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.

10 Comments

  1. aguynamedruchir

    Awesome tutorial!

    I modified this one a bit to say “It is x o’clock AM/PM” (converted to 12-hour clock instead of the default 24 hour). Also made it say “ten” instead of “one zero”.

    ————Here’s my version of the script————

    Dim speaks, speech
    hour_now=hour(time)
    if hour_now > 12 Then
    hour12 = hour_now – 12
    ampm = “PM”
    Else
    hour12 = hour_now
    hourfinal = hour_now
    ampm = “AM”
    End If
    If hour12 = 10 Then
    hourfinal = “Ten”
    Elseif hour12 = 11 Then
    hourfinal = “Eleven”
    Elseif hour12 = 12 Then
    hourfinal = “Twelve”
    Elseif hour12 = 0 Then
    hourfinal = “Twelve”
    Elseif hour12 > 0 and hour12 < 10 Then
    hourfinal = hour12
    End If
    speaks = "It is " & hourfinal & " o clock " & ampm
    Set speech=CreateObject("sapi.spvoice")
    speech.Speak speaks

  2. aguynamedruchir

    Awesome tutorial!

    I modified this one a bit to say “It is x o’clock AM/PM” (converted to 12-hour clock instead of the default 24 hour). Also made it say “ten” instead of “one zero”.

    ————Here’s my version of the script (fixed)————

    Dim speaks, speech
    hour_now=hour(time)
    if hour_now > 12 or hour_now = 12 Then
    hour12 = hour_now – 12
    ampm = “PM”
    Else
    hour12 = hour_now
    hourfinal = hour_now
    ampm = “AM”
    End If
    If hour12 = 10 Then
    hourfinal = “Ten”
    Elseif hour12 = 11 Then
    hourfinal = “Eleven”
    Elseif hour12 = 12 Then
    hourfinal = “Twelve”
    Elseif hour12 = 0 Then
    hourfinal = “Twelve”
    Elseif hour12 > 0 and hour12 < 10 Then
    hourfinal = hour12
    End If
    speaks = "It is " & hourfinal & " o clock " & ampm
    Set speech=CreateObject("sapi.spvoice")
    speech.Speak speaks

  3. That’s even better, then. Thanks for sharing! 🙂

  4. Not-A-Liberal-Idiot

    I forgot to mention you can switch the commented out lines and have it say “O’Clock” as well.

  5. Not-A-Liberal-Idiot

    Damn, I have been using this (script below in previous post) for more than a year and it always said “ten” properly. I just built a new PC this past week and only an hour ago imported the script from my old PC. I had been running the original RTM version of Windows 8.0. A few days ago I bought a brand new copy of Windows 8.1 Pro from Best Buy and now my script says “one-zero” at ten O’clock like some of you have mentioned. When I saw others mention this I thought to change the time and try it for the first time on my new PC. Here is a fixed version. Use the XML script in my earlier post to import into task Scheduler to automatically create the task. Again, place both files in your User Home directory (i.e. C:UsersCharlie)

    ‘ CurrentHour.vbs

    Dim speaks, speech
    Set speech=CreateObject(“sapi.spvoice”)

    If Hour(Time)=0 Then
    ‘ speech.Speak “It is twelve o’clock A M”
    speech.Speak “It is twelve A M”

    ElseIf Hour(Time)=10 Then
    ‘ speech.Speak “It is ten o’clock P M”
    speech.Speak “It is ten P M”

    ElseIf Hour(Time)=12 Then
    ‘ speech.Speak “It is twelve o’clock P M”
    speech.Speak “It is twelve P M”

    ElseIf Hour(Time)12 Then
    ‘ speech.Speak “It is ” & Hour(Time) Mod 12 & ” o’clock P M”
    speech.Speak “It is ” & Hour(Time) Mod 12 & “P M”
    End If

  6. Not-A-Liberal-Idiot

    After running this newer script for nearly a day on my new PC build I noticed it now pronounces all the double-digit hours incorrectly. Repairing the “10” was not enough. There is a distinct difference between the older Windows 8 and the newer Windows 8.1 in how this works. Leave it to Microsoft to screw things up. I’ve been a heavy Windows user since Version Beta 1.0 back in the 1980’s. Microsoft has a knack for shooting themselves and others in the foot. So much for my elegant code.

  7. Not-A-Liberal-Idiot

    Last time. (I hope)
    ———————-

    ‘ CurrentHour.vbs

    Dim speaks, speech
    Set speech=CreateObject(“sapi.spvoice”)

    If Hour(Time)=0 Then
    ‘ speech.Speak “It is twelve o’clock A M”
    speech.Speak “It is twelve A M”

    ElseIf Hour(Time)=10 Then
    ‘ speech.Speak “It is ten o’clock A M”
    speech.Speak “It is ten A M”

    ElseIf Hour(Time)=11 Then
    ‘ speech.Speak “It is eleven o’clock A M”
    speech.Speak “It is eleven A M”

    ElseIf Hour(Time)=22 Then
    ‘ speech.Speak “It is ten o’clock P M”
    speech.Speak “It is ten P M”

    ElseIf Hour(Time)=23 Then
    ‘ speech.Speak “It is eleven o’clock P M”
    speech.Speak “It is eleven P M”

    ElseIf Hour(Time)=12 Then
    ‘ speech.Speak “It is twelve o’clock P M”
    speech.Speak “It is twelve P M”

    ElseIf Hour(Time)12 Then
    ‘ speech.Speak “It is ” & Hour(Time) Mod 12 & ” o’clock P M”
    speech.Speak “It is ” & Hour(Time) Mod 12 & “P M”
    End If

  8. Kerene53

    Question: I followed the directions for windows 8 and set it to follow the task every 15 minutes. But now every 15 minutes a pop up comes up saying “How would you like to open this file?”, so its not pronouncing it automatically 🙁 it only does when I click on the file. How do I get this to work? Thanks

  9. Check if you have followed this tutorial correctly. Ensure that scripting is enabled. Ensure .vbs file is set to open with default Windows Script Host. http://www.thewindowsclub.com/windows-script-host-access-is-disabled-on-this-machine

  10. Kerene53

    Thank you. I double checked that I followed the instructions and now when I selected that it open using the Microsoft Windows Script Host I get a pop up saying “the program you have selected cannot be associated with this file type. please choose another program” what should I try now?

Leave a Reply

Your email address will not be published. Required fields are marked *

Prove you passed math in school! *