All, Some of you may be aware that I have been working for some time now on a server for the Speech Synthesis Interface Protocol, SSIP, for the windows platform. I started out trying to implement the server in Auto-It but couldn't get the multi-threading functionality or object oriented capabilities I wanted. I then switched to ruby but the 1.8 version didn't have the interface and abstract class support I wanted and the executable packaging wasn't quite what I wanted either. I have now switched the development over to C# and found the capabilities I wanted. There is still a little clean-up of the initial beta release and I'll have to find a website to host the download installer, but here is a description of the initial release. SSIP is a non-synthesizer specific protocol for producing speech output. The specs haven't been updated in a while but can be found at the URL http://www.freebsoft.org/doc/speechd/ssip.html SSIP uses a simple socket connection and a text command syntax. To produce the spoken output "this is a test." a calling client program might send these commands: set client_name j.macarty:demo:test1 speak this is a test. . The set client_name command simply identifies this client session for tracking purposes since the server supports multiple client sessions concurrently. The speak command tells the server to start receiving text to be spoken. The text input is terminated by a line containing a single dot. this also triggers the server to send the text to the output speech channel. The SSIP for windows server supports output to JAWS, window-Eyes or SAPI. The SpeechManager class uses an interface named ITextToSpeech with implementation classes written for each of these 3 output channels. The server was written with C# 2.0, instead of 3.x, because some corporate builds, including ours here at work, are still using Dot Net 2.0. Rather than attempting to set up the COM interface for SAPI and Window-Eyes, I decided to use the tlbimp utility and build assemblies for them. This allowed for simply creating the objects like SpVoice for SAPI and SpeakClass for Window-Eyes. Also, once the assemblies were built, it was easier to examine them using the ildasm tool to see the method calls and signatures. The current server supports multiple client connections. I tried it out with 3 clients; one speaking thru JAWS, one speaking thru Window-Eyes, and one speaking thru SAPI. The SAPI interface also supports the SET RATE, SET VOICE, and SET VOLUME SSIP commands. The server also supports the SSIP CHAR command for immediately speaking a single character. The SSIP BLOCK structure command set and the Speech Synthesis Markup Language, SSML, support are not included in this release but will be added. The install includes a small Auto-It program called SSIPVoiceClient which allows one to test out the server. The client contains an input text field where you can enter SSIP commands to send to the server and an output text area which echoes back the server response codes. I'll post another update when I have arranged for a download host and have finished packaging up the install program. I'm hoping to provide a java client API for the SSIP server, if Sina hasn't already developed one, and some client examples in other languages as well. __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind