This software is a library package aimed at developers who wish to produce Java applications that speak. This is old obsolete software that only works on Mac OS 9 and earlier.


This release incorporates code from two sources, and has several potential audiences:

  • Java Speech API (JSAPI) implementation
  • Mac Speech Manager (JSpeechLib) wrapper
  • Example implementation of javax.speech.synthesis

The Java Speech API (JSAPI) is an API defined by Sun for accessing Speech Synthesisers and Speech Recognition systems from Java. Sun provide the API but they do not provide any actual working implementations. This package includes a working example of JSAPI Speech Synthesis that uses the Macintosh Speech Manager, which is installed by default on every Mac sold in the last few years. Recognition is not yet supported. By writing your Java application to the Java Speech API you gain portability, because it will run not only on our JSAPI implementation but also the other available implementations of JSAPI.

The JSpeechLib portion of the code is a thinner wrapper around the Macintosh Speech Manager (MacinTalk). While it is possible to use just this layer to write a Java application that does speech synthesis, if you do so you tie your application to the JSpeechLib library - it will not be as portable as it would be if you use JSAPI. This release of JSAPI represents the latest stage in my work to integrate Brendan Burn's JSAPI work with my earlier JSpeechLib work.

The third purpose this library can serve is to act as a starting point for others who want to implement JSAPI. There are many more Speech Synthesisers out there which do not have JSAPI implementations available. The top layer of this code is a pure JSAPI implementation which does not rely on any particular underlying synthesiser to do its work. Since this code is under the LGPL you can use it in your own projects, so long as their licensing models are compatible.

Java Speech API for Macintosh Speech Manger 0.5

This JSAPI implementation is primarily the work of Brendan Burns. This release is based on his 0.2 release which is still available. This version leverages the advanced features of JSpeechLib to improve on that release and provide more compliance with the JSAPI Documentation.

Please see the changes and caveats section below for details of what's new.

Original portions of the JSAPI code are © Copyright 2000 Brendan Burns, changes for release 0.5 are © Copyright 2000 Andrew Thompson

JSpeechLib 3.0

JSpeechLib 3.0 represents the third major change to the JSpeechLib library:

  • JSpeechLib 1.X private implementation used for college project
  • JSpeechLib 2.X first public releases support newer Apple Java implementations and more features of the Mac Speech Manager
  • JSpeechLib 3.0 adds support for the complete Speech Manager API
  • JSpeechLib 3.X subsequent versions will add support for Mac OS X

System Requirements

JSpeechLib and the JSAPI implementation are developed and tested on Mac OS 9.0.4 and MRJ 2.2.3. The library requires JDirect 2, which means you need at least MRJ 2.1 which limits you to Mac OS 8.1 (though some people have succeeded in running MRJ 2.1 or better on System 7.6.1).

Also required is a SAX XML Parser in order for JSML parsing to function. Free implementations of SAX for Java include Xerces-J from The Apache Group and Project X from Sun. Please see this note for details of how to set up your chosen parser.

Currently the code needs to be ported to support JDirect 3 before it will run on Mac OS X


Thanks to Brendan for implementing JSAPI and agreeing to let me change the license to LGPL.

Thanks to the MRJ development team at Apple for providing the tools to make this possible

Special thanks to Jens Alfke and Nick Kledzik at Apple and Patrick Beard at Netscape for putting up with (and answering) my endless stream of inane questions

Thanks to the entire MRJ-Dev mailing list for help and inspiration

Thanks to my supervisor Kevin Twidle at Imperial College who helped me when this was a part of my Masters project

Copyright and License

The Java™ Speech API was developed by Sun Microsystems

The original JSAPI for Macintosh implementation is Copyright ©2000 Brendan Burns, except changes made to produce version 0.5 which are Copyright ©2000 Andrew Thompson.

JSpeechLib and associated documentation is Copyright ©1997-2000 Andrew Thompson

You rights with respect to this library, both binary and source code are defined by the GNU Lesser General Public License. A copy has also been included with this distribution. You should read the license carefully as it governs your rights with respect to this library.