Steve's Talking Clock
Version 1.02B
By Stephen Clower
September 30, 2004

Welcome to Steve's Clock, a freeware talking clock for Windows! This small program lives in your computer's system tray and can be configured to automatically announce the time on the quarter-hour, half-hour, three-quarters, and at the top of the hour. In addition, an alarm can be set to announce itself for any time of the day. Unlike other talking clocks for Windows, this program is designed so that you can use any clock voice you wish, and a different voice can be configured for each announcement.

Installation
  To install Steve's clock onto your computer, download the StevesClock_Setup.exe file from http://www.steve-audio.net or one of its mirrors and save it to your hard drive. Once downloaded, simply run the executable and the clock will be installed. Important! Because this clock has been designed for maximum customization, no voices ship with it by default. However, at the time of this writing there are more than twenty voice packs you can install and use with this clock. To obtain any of these, you can go to the clock's home page at http://www.steve-audio.net or visit Andre Louis's clocks directory at http://andrelouis.com/clocks. If you only want to use pre-made voice files, then this will be all you need to do before running the clock. If you want to make your own wave files, see the end of this document.

How It Works
  When you first run the clock, it will open on your screen. In order for screen readers to read the control labels, ensure that the window is maximized by pressing ALT+Space followed by the letter X. Use the tab key to navigate to the various settings and change them. Following is a brief description of the items you will find in the main window:
* Speak Time button. Pressing the spacebar on this button or Alt+T from any point in the window will speak the time using the voice selected in the Main list box.
* Main List box - Controls which voice is spoken by the Speak Time button. Default is none.
* Quarter Hour List box - If not set to none, will announce the 15-minute mark with the selected voice. Default is none.
* Half Hour List box - If not set to none, will announce the half hour with the voice selected. Default is none.
* Three Quarters List box - If not set to none, will announce 45 past the hour with the voice selected. Default is none.
* On the Hour List box - If not set to none, will speak the time at the top of the hour with the voice selected. Default is none.
* Alarm listbox - When not set to none, will announce the time for the alarm with the selected voice. Default is none.
* Alarm edit field - enter the time for the alarm here. Default is nothing.
* 24 Hours Checkbox - When checked with Spacebar or Alt+H from anywhere within the clock's window, announces the time in 24-hour format. Default is unchecked, 12-hour format.
* Minimize to System Tray Button - Press Spacebar or Alt+M from within the main window to minimize the clock to the System Tray. To bring it back, double-click the Steve's Clock icon in the system tray.

  When you have configured the clock to your liking, you can press Alt+M to minimize the window to the system tray. From now on, the clock will quietly monitor your computer's time and act as you have instructed. If you wish to close the program, double-click its icon in the system tray and press Alt+F4 to close it. The program will save your settings and exit. Note that the next time you run it, the clock will see that it has been configured, and instead of popping up maximized, it will immediately minimize itself to the system tray. Thus, if you want to run the clock when your computer boots up, you can copy the Steve's Clock icon from your Start Menu group to your Windows start-up folder and be assured that it will run even though it doesn't make itself known on screen. If you want to hear the time, you can press Alt+F10 or right-click the "Steve's Clock" icon in the system tray.


The Alarm
  The alarm clock is useful if you need to be reminded of certain events during the day. To set the alarm, tab to the alarm edit box and enter the time at which you want the alarm to sound. Note: You *must* use the following format:
For 12-hour time: hh:mm dd
where hh is a two-digit number representing the hour, mm is a two digit number representing the minute, and dd is either am or pm. Note the colon between hh and mm, along with the space after am or pm. An example of a valid alarm time in the 12-hour format is
03:12 am
or
12:05 pm

For 24-hour time: hh:mm
where hh is a two-digit number representing the hour, and mm is a two-digit number representing the minute. Note the colon between hh and mm. An example of a valid 24-hour entry would be:
00:25
or
22:47

  Note: when switching between 12 and 24 hour time, the value in the alarm edit field will automatically be adjusted.

Adding Pre-made Clock Voices
  As time goes on, there will inevitably be other voices which will be made to run with this clock. Installing them is very straightforward. If you are installing a voice executable, simply run the file from within your clock directory and restart the clock to gain access to the new voices. If you are installing a new voice manually, here is what to do. First, copy the new wave files into a unique folder within your main clock directory. Next, open up clock.ini found in the directory into which you installed the clock. The format of this file is briefly explained in the commented lines (the ones starting with semicolons). However, here is a brief description of what you must add to the end of the file to use the new voice files.
ClockName=clockDescription
Replace clock Name with the local directory name of your clock voices. So, if you installed a new set of voices to a folder named my Clock, clockName would be replaced with my Clock. After the equals sign, type a brief description of the clock which will appear in the voice selection list boxes. For example, if you recorded the numbers for your clock, you might type "My own voice" into the description. So, here is how the line would look with the preceding two examples:
ClockName=my own voice

  The next line describes the method of concatenation used. If someone has given these files to you, check with the person about which number to enter. Concatenation is described at the end of this document. The default syntax is:
Concat=x
Where x is either method 0 or 1. To use the new clock voices, just restart the clock.

Removing Voices
  If you decide to remove a voice, do the following:
1. Exit the clock.
2.  Remove the folder containing the voice you wish to delete.
3.  Open up the clock.ini file and remove the two lines associated with that clock.
4. Delete the settings.ini file.
5. Restart the clock and configure your settings.

Uninstalling the Clock
  If you wish to remove Steve's Clock from your computer, run the uninstaller found in the Add/Remove Programs icon in the Windows Control Panel. You will need to remove the voices you installed manually along with any icons you may have copied to your start-up folder.

Making Your Own Voices
  The process of designing your own voices has been made as easy as possible. Before creating them, you must first understand how the clock is able to put numbers together. Traditionally, talking clocks did not have very much room to store the samples of the numbers which they were able to speak. Consequently, the designers created a system of intelligently stringing parts of numbers together to seamlessly allow the clock to say everything it needed to while conserving room. Concatenation is the term we will use to describe this dynamic combining of sound samples. The first method of concatenation, method 0, is easier to implement, but takes up slightly more memory. The second, method 1, is trickier to create, but consequently takes up less space than method 0. Simply looking at the names of the wave files you will need to create should show you how each method is used. Thus, explanations will only be given for files with somewhat obscure names. Files with an asterisk next to them are optional. Note: You must be familiar with your particular sound editor to create and edit your voices. No technical support for this process is offered.

Concatenation Method 0
0.Wav
* 00.wav- says "o'clock"
1.Wav
2.Wav
3.Wav
4.Wav
5.Wav
6.Wav
7.Wav
8.Wav
9.Wav
10.Wav
11.Wav
12.Wav
13.Wav
14.Wav
15.Wav
16.Wav
17.Wav
18.Wav
19.Wav
20.Wav
30.Wav
40.Wav
50.Wav
AM.wav
PM.wav
o.wav - says "o"
its.wav
*announcement.wav - plays an announcement message for 15 minutes, 30 minutes, and 45 minutes past the hour if the clock is set to announce for any of those times.
*hour1.wav - Sound which plays just before the clock speaks the time at the top of the hour when the clock is set to do so.
*hour2.wav - Sound which plays immediately after the hour announcement has been completed.
* alarm.wav - sound which plays after the alarm's time announcement has been made

Concatenation Method 1
  This method is trickier to implement because words are divided up into slices and pieced back together dynamically. To understand how this works, look at the filenames below and it should become clear. Important! If you're using a screen reader, pay careful attention to how these filenames are spelled.
0.Wav
* 00.wav- says "o'clock"
1.Wav
2.Wav
3.Wav
4.Wav
5.Wav
6.Wav
7.Wav
8.Wav
9.Wav
10.Wav
11.Wav
12.Wav
thir.wav
for.wav
fif.wav
six.wav
seven.wav
eight.wav
nine.wav
teen.wav
twen.wav
ty.wav
ty1.wav
ty2.wav
ty3.wav
ty4.wav
ty5.wav
ty6.wav
ty7.wav
ty8.wav
ty9.wav
AM.wav
PM.wav
o.wav - says "o"
its.wav
*announcement.wav - plays an announcement message for 15 minutes, 30 minutes, and 45 minutes past the hour if the clock is set to announce for any of those times.
*hour1.wav - Sound which plays just before the clock speaks the time at the top of the hour when the clock is set to do so.
*hour2.wav - Sound which plays immediately after the hour announcement has been completed.
* alarm.wav - sound which plays after the alarm's time announcement has been made

Troubleshooting
  This section addresses some of the most commonly asked questions about the clock. Please read this first before E-Mailing me with redundant questions. Such E-Mails will be ignored. If something is not addressed, however, feel free to drop me a line.

Q: When I run the clock, I get an "input past end of file" error. What's going on?
A: This is most likely because you have not yet installed a voice to use with the clock. Head over to http://www.steve-audio.net or a clock mirror to pick up some voices to use. Simply run the installers for the voices you download and rerun the clock.

Q: I installed a new voice, but now the clock is giving me some sort of property error.
A: On some computers, the clock installers adds a CTRL+Z character to the end of the clock.ini file found in the directory in which you installed the talking clock. To remove it, go to the Start Menu\Programs\Steve's Talking Clock\Edit Clock configuration. Clock.ini should open up in Notepad. Hit CTRL+End to move to the end of the file and examine the character at the end of the line. Jaws For Windows will most likely say nothing when your cursor moves over it, so either backspace or delete the character out of the file. The final character in the clock.ini file should be either a 0 or 1, depending on the type of concatenation used by the most recent clock you installed.

Q: I think my clock.ini file might be corrupted. Do I have to reinstall the clock to fix it?
A: No, you do not. In the Steve's Clock program group is an option to reset your clock.ini file to its original values. Simply hit enter on the "Reset Clock Configuration" icon and you can reinstall your clock voices.

Q: Do I have to go into Windows Explorer every time I need to delete my settings file?
A: No. Choose the "Remove Clock Settings" icon within the Steve's Talking Clock program group to delete settings.ini.

Mailing Lists
     Andre Louis is kindly hosting a discussion list for Steve's Talking Clock. If you wish to subscribe, head to http://clock.steve-audio.net and click the mailing list subscription link. This is a relatively quiet list, so feel free to join the group if you would like to talk to other clock users.
  I also host a general announcements list for Steve-Audio.Net. This list is very quiet, and you will only receive announcements regarding new content available on the web site. To subscribe, point your web browser to http://www.steve-audio.net.

Credits and Final Notes
  First of all, I would like to thank both Andre Louis and Patrick Perdue for their ideas, assistance, and time while I wrote this clock. Andre has put together the clock voice installers and created the settings removal and resetting utilities which are now included with this program. In addition, Patrick has taken a lot of time to create many of the voices available for the clock, and the effort really shows. My hats off to both of you, and thanks for your help! Thanks also to everyone who have contributed voices to the program. Submissions such as these are what make this program as good as it is, so keep them coming! I would also like to thank my girlfriend Karen for putting up with me while I created the clock. Now that it's finished, I can devote my time to you again *g*.
  If you have any comments or suggestions, please drop me a line at steve@steve-audio.net. Thank you, and happy ticking!
