ZSpeak


Revision History

1.0.0.1: This minor revision addresses changes made to the format of the NWS "text-only" weather forecast. The following changes were made in this revision: Support for NWS change of plain-text forecast to HTML, handling for improperly formed HTML, and increased timeout for website response to 10 seconds.

1.0.0.0: Original Version (a.k.a. 1.0)

Description

ZSpeak is an exciting new text to speech application specially designed for owners of JDS StarGate home automation controllers.

It can also be used in a wide array of home and office automation applications requiring high quality speech output unrelated to StarGate. ZSpeak is different from other command line text readers because it supports in-line tags that are replaced with more details during the text to speech conversion. These enhancements target shortcomings in the StarGate programming language such as string handling and provide accurate pronunciation of proprietary formats output by StarGate.

Any variable or value that can be sent out the ASCII port on the StarGate can be incorporated along with surrounding text and read by Zspeak. Zspeak uses any voice supported by the Windows text to speech engine. For the best results we recommend using after-market voices such as my 16-bit voice from NeoSpeech.

Here are some examples of how ZSpeak can integrate StarGate variables with other text as a wake-up message:

        Good Morning. Today is Monday June 25th 2007. In the past 24 hours there has
        been 0.57 inches of rainfall. Outside temperature is currently 63 degrees.

Here's another example using ZSpeak to provide audible prompts about the status of your security system, HVAC, and other remote sensors:

        Security system has been disarmed. Open windows for cooling. The outside
        temperature is 68 degrees. 3 degrees lower than the current thermostat set point.

       Your hot tub is ready and has reached 115 degrees.

ZSpeak can even parse the Caller ID string output by Stargate if you have the phone card. For example:

        Call from (916) 555-4369. John Doe.

Finally, ZSpeak can automatically read the contents of text files on a local or network drive, and it can even read directly from web sites! Get the local weather forecast read before you leave for work right from the National Oceanographic and Atmospheric Association web site.

I hope you'll try Z-Speak and find that it provides a new level of sophistication for your home automation projects.

Frequently Asked Questions

Q:  Do I need to download anything else to use ZSpeak?
A:
  ZSpeak requires .NET Framework 2.0 to be installed on your system. If you're running Windows XP, Windows Server 2003, or Vista and have been downloading and installing updates and recommended upgrades, you probably already have .NET Framework 2.0 installed on your system.  If you do not, you will receive the following error when running ZSpeak: "The application failed to initialize properly (0x????????)"  .NET Framework 2.0 can be downloaded from Microsoft here

Q: What files are included with ZSpeak and what do they do?
A: The ZSpeak download has two files that should be placed in the same directory.  ZSpeak.exe is the program you will call from the command line to read text, and it parses the keywords and manipulates the text so the text-to-speech engine can interpret it correctly in particular home automation contexts. Interop.Speechlib.dll is the Microsoft Speech library files on which ZSpeak depends, and it should be placed in the same folder as the ZSpeak.exe file.  Neither of these files contains the actual voices used.  Those are installed as part of Microsoft's Windows Text-To-Speech engine.

Q: ZSpeak is using the default voice for Windows text-to-speech.  How do I change it?
A:
ZSpeak will use whatever voice is selected by default under the speech control panel (go to Control Panel and open "Text to Speech")  There are a wide variety of aftermarket voices available in male and female voices, different sampling rates (quality), accents, foreign languages, and even novelty voices (robots, famous people) from AT&T, IBM, NeoSpeech, and others. The quality of these voices ranges from being obviously machine-generated to indistinguishable from a human speaker, and the costs vary accordingly.  To provide some idea of the range, in terms of quality, the default voices shipped with Windows XP and Vista probably rate a three on a ten point scale.

Q: Now that I've selected a different voice, why is my text read differently than before?
A:
The interpretation of text into speech is a function of the voice installed on the computer, and the way phrases are read can be affected by different voices.  A voice may read with an accent, or it may read dates, times, abbreviations for units, or numbers presented in various contexts differently. Our experience is that higher quality voices not only have smoother speech with more natural tone, but offer better contextual interpretation so you hear what you would expect if an experienced reader were speaking. Poor quality voices don't adjust for context.  For example, some of the worst won't understand that while the period in 12.5 should be read twelve point five, when it appears in "zimdesign.com" it would commonly be read as zimdesign dot com.  Some additional examples:

  • 12/15/2007 may be read as December 15th, 2007, twelve-fifteen two-thousand-seven, or one-two-slash-one-five-slash-two-zero-zero-seven. 
  • 1100 may be read as one-thousand one-hundred, eleven-hundred, or one-one-zero-zero.
  • 12:37 may be read as twelve-thirty-seven or twelve-colon-thirty seven
  • 11.5 may be read as eleven point five or eleven dot five or even eleven period five

 ZSpeak has several command line options to help voices correctly interpret common home control contexts, particularly for dates, times, Caller ID, and the reading of numbers from sensors..

Q: ZSpeak comes with an example of reading a Northern California National Weather Service text-only forecast from the web.  How do I find a similar forecast page for my location?
A:
The National Weather Service of NOAA has six regional headquarters in the U.S. for forecasting weather.  They are Eastern, Central, Western, Southern, Alaska, and Pacific.  Each site contains forecasts for major cities and surrounding areas within that region. 

To find a text-only forecast for your location, do the following:

  1. Go to http://www.weather.gov/ .  A U.S. map wll display.
  2. Click within your state as near your location within the state as you can estimate. A regional map of your area will display.
  3. Click wihin the regional map on or as near to your city/location as you can estimate. A GRAPHIC web page with the forecast will display.
  4. At the top of the forecast page. enter your zipcode.  This will regenerate the URL to include the latitude (textfield1 parameter) and longitude (textfield2 parameter)..
  5. In a table in the lower right called "Additional Forecasts and Information", click on the link to "Text Only Forecast".
  6. Use the URL of that page to have ZSpeak read your local forecast.  You may modify the latitude and longitude to precisely target your property.  Use Google Maps, GPS, or other mapping tools to find your specific longitude and latitude. Remember to surround that URL with quotes and square brackets when specifying the URL on the ZSpeak command line.  For example, ["http://...."]

You may find a page with web graphics as well as what appears to be a text forecast, however you'll experience the best results by using the pages found using the technique above.

Download

64KB    01/21/2009

Download ZSpeak 1.0.0.1 (zip)