is a satellite tracking program (what’s that?)
designed primarily to run on Linux, but portable enough to run on Mac OS X
(thanks to the Unix underpinnings of OS X). One feature of PREDICT that is
not very portable is the separate
vocalizer utility, which is
invoked by the main PREDICT program in order to “speak” announcements about the
satellite’s azimuth and elevation. The program supplied with PREDICT uses sound
facilities that are not implemented in the same way on Mac OS X.
This program, Mac Vocalizer, performs a similar function under OS X. The main difference is that Mac Vocalizer uses the Macintosh’s built-in speech synthesizer to speak the announcements, instead of playing back prerecorded sound files.
When Mac Vocalizer was first implemented, the Linux
home-recorded voice files and spoke individual digits (“123” as “one two three”),
whereas Mac Vocalizer took advantage of the number speaking algorithms in the Macintosh
speech synthesizer to render the numbers naturally (“one hundred and twenty-three”).
This was a big improvement. As of PREDICT version 2.2.2, the Linux
has been improved to use nice synthesized voice files (better than the Mac's) and natural
As a result of this improvement, a port of the Linux
vocalizer might now make
more sense than Mac Vocalizer. In the meantime, this update (1.1.0) of Mac Vocalizer supports
the new speeches implemented in PREDICT 2.2.2.
Take the application file named
vocalizer from the Mac Vocalizer
and place it in the
subdirectory of the directory where PREDICT resides on your machine. That’s
all. The rest of this archive may be discarded if you like.
The program must be named
and it must be in the
subdirectory, because that is where PREDICT looks for it.
Mac Vocalizer was built on Mac OS X 10.2.6, and has only been tested on that system. However, as far as I know it should work on any Mac OS X system.
Naturally, you will need sound output capability and speakers in order to hear the announcements. Type some text into TextEdit and check that the Edit, Speech, Start Speaking menu item works.
To hear automatic announcements from PREDICT, you must invoke the Single Satellite Tracking Mode by typing an uppercase ‘T’ at PREDICT’s main menu. You can also command an immediate announcement by typing uppercase ‘T’ again while in Single Satellite Tracking Mode. If you use a lowercase ‘t’ instead, no announcements will be made (even if you type ‘T’ again).
PREDICT will make periodic voice announcements stating the satellite's tracking coordinates in real-time. Announcements such as:
"This is PREDICT. Satellite is at 56 degrees azimuth and 45 degrees elevation, and approaching."
are made at intervals that are a function of how quickly the satellite is moving across the sky. Announcements can occur as frequently as every 50 seconds for satellites in low earth orbits such as the International Space Station (370 km), or as infrequently as every 8 minutes for satellites in very high orbits, such as the GE-2 geostationary satellite (35780 km). Voice announcements are performed as background processes so as not to interfere with tracking calculations as the announcements are made. Announcements can be forced at any time by pressing the ‘T’ key in Single Satellite Tracking Mode.
When you force an announcement using by typing ‘T’, you will notice a delay of up to several seconds before the voice announcement begins. Mac Vocalizer is starting up and initializing the speech synthesizer during this time. The delay is normal, and you won’t notice it as much on the automatic announcements.
Mac Vocalizer doesn’t do much useful by itself. Use it with PREDICT.
To test Mac Vocalizer without PREDICT, run it from a command line (in Terminal) and provide the azimuth and elevation as arguments. Add a ‘+’ or ‘-’ character as a third argument to represent “approaching” or “receding” states. Like this:
./vocalizer 123 45 +
You can also add a fourth argument of ‘V’ to make Mac Vocalizer add “Spacecraft is currently visible.” to the announcement. Like this:
./vocalizer 123 45 + V
Or, you can invoke these special speeches:
The latest version of this program and related resources may be found on the author’s web page:
Please check the web page first. If you still have questions, you may send email to the author, email@example.com. Mac Vocalizer is provided in the hope that it will be useful, but without any warranty.
Mac Vocalizer is released under the GNU General Public License, Version 2. See the file COPYING in this distribution for details.
The source code is included in this distribution. It
consists of one short source code file written in C,
and a Project Builder project to build it,
The Project Builder project is actually itself a directory
containing a file, though the Mac OS X Finder displays it as a single file.
To build the program using Apple’s standard development tools (available free
for OS X) simply double-click the project file and click the build icon. The
December 2002 version of the Developer Tools was used to build this version.
Mac Vocalizer was written by Paul Williamson, KB5MU, firstname.lastname@example.org.
The program interface was taken from the vocalizer module of PREDICT, written by John A. Magliacane, KD2BD. Thanks for releasing the source code!
I learned to use the speech synthesizer API by studying Speech Utilities by Raphael Sebbe.