RE: SSIP for Windows -- beta almost ready for release

  • From: "Macarty, Jay {PBSG}" <Jay.Macarty@xxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Wed, 28 Nov 2007 07:18:30 -0600

Brent,
If you are referring to being able to send speech output thru JAWS or
Window-Eyes using the SSIP command format, this is one of the things the
SSIP server offers you. The SSIP server handles translating the SSIP
commands into calls to the JFWAPI dll or the Window-Eyes COM interface
as well as regular SAPI support.


-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Brent
Harding
Sent: Monday, November 26, 2007 9:14 PM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: SSIP for Windows -- beta almost ready for release

Wow! This seems cool! How would we get SSIP support into JFW and other
PC 
screen readers? Would JFW allow us to install extra speech drivers that
they 
don't normally support?

----- Original Message ----- 
From: "Sina Bahram" <sbahram@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Monday, November 26, 2007 8:42 PM
Subject: RE: SSIP for Windows -- beta almost ready for release


> Because chant does not, nor do they have plans to support SSIP.
>
> I talked with their CEO and owner when we had dinner together in 
> California,
> last time I was on the west coast, and while he is extremely glad that

> Mike
> Grace and I, over at NC State university are using chant like this, he
is
> quite content to offer us a one time license and allow all of our
users, 
> and
> all of the users of our  program, to benefit from the sapi abstraction
in
> java and other languages that chant provides, while at the same time
> allowing us to drive and be driven by the SSIP protocol. This is
truely 
> the
> best of both worlds, since it also means that the SSIP components can
be
> free and open source.
>
> Stay tuned for more on this stuff, once we integrate with jay, get our

> site
> together, and do some release engineering, but the short version is, a
> completely transparent, self voicing, and easy to use way of using
linux
> screen readers in a VNC connection on a PC, or even using a PC screen 
> reader
> like jaws from a VNC or RDP, RDesktop on Linux, connection in gnome,
and 
> all
> sorts of other combinations.
>
> Take care,
> Sina
>
> -----Original Message-----
> From: programmingblind-bounce@xxxxxxxxxxxxx
> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Ken Perry
> Sent: Monday, November 26, 2007 9:32 PM
> To: programmingblind@xxxxxxxxxxxxx
> Subject: RE: SSIP for Windows -- beta almost ready for release
>
>
>
> Why exactly would you use your Java class over something like
chant.net
> other than the small cost of the chant libraries?
>
> Ken
>
> -----Original Message-----
> From: programmingblind-bounce@xxxxxxxxxxxxx
> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Macarty,
Jay
> {PBSG}
> Sent: Monday, November 26, 2007 3:18 PM
> To: programmingblind@xxxxxxxxxxxxx
> Subject: RE: SSIP for Windows -- beta almost ready for release
>
> Thanks Inthane and Sina! Made a fair amount of progress on writing up
the
> code for the SSIPClient for java today. Should be able to include a
> SSIPClient1.0.jar with the release of the server.
>
> As far as the server itself, I have added a few return codes that
weren't 
> in
> the original specs (such as "210 OK - API SET TO [{0}]" and I have to 
> finish
> up adding those to the response Dictionary object. Also, the LIST
VOICES
> command is working as far as being able to get the listing of the
> synthesizer voices from SAPI, but I don't have the code/response added
to
> the parser.
>
> FYI...
>>From a java interface perspective, the client code might look
something
> like this:
>
> 1. You would start the SSIPVoiceServer.exe program on your
workstation.
>
> 2. Since the default for the client is "localhost port 3891", you
could 
> use
> the empty constructor in your java application as follows:
>
>    SSIPClient voice = new SSIPClient();
>    try { voice.connect(); }
>    catch (SSIPException e) { // do something }
>
> 3. To speak the phrase "this is a test.", you could code something
like 
> this
>
>
>    try { voice.sayString("This is a test."); }
>    catch (SSIPException e) { // do something }
>
> There will be methods to start the speak operation, queue new text,
and 
> end
> the queuing/trigger the speech in order to map to the protocol but the
> saystring method will serve as a convenience method to speak a single 
> string
> of text.
>
> 4. When you are done, your code can exit the SSIP session by calling
the
> close() method on the client.
>
> The SSIPClient interface will handle all the socket traffic, encoding
the
> requests, and decoding the responses. some method calls will map
directly 
> to
> the SSIP commands they represent such as setAPI, setRate, setVoice, or
> setClientName. The convenience methods, such as sayString, may map to
> multiple SSIP commands.
>
> Should have something ready in the next day or 2.
>
> -----Original Message-----
> From: programmingblind-bounce@xxxxxxxxxxxxx
> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Sina
Bahram
> Sent: Monday, November 26, 2007 4:38 PM
> To: programmingblind@xxxxxxxxxxxxx
> Subject: RE: SSIP for Windows -- beta almost ready for release
>
> Sounds like a plan ... thanks Inthane.
>
> Take care,
> Sina
>
>
> -----Original Message-----
> From: programmingblind-bounce@xxxxxxxxxxxxx
> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of inthaneelf
> Sent: Monday, November 26, 2007 5:34 PM
> To: programmingblind@xxxxxxxxxxxxx
> Subject: Re: SSIP for Windows -- beta almost ready for release
>
> this is one time I wish I had gotten up "earlier" instead of my normal

> time,
> ah well, since Sina has an interest in this, I'll just ask if I can
link 
> to
> the page for this when you get it ready.
>
> regards,
> inthane
> . For Blind Programming assistance, Information, Useful Programs, and 
> Links
> to Jamal Mazrui's Text tutorial packages and Applications, visit me
at:
> http://grabbag.alacorncomputer.com
> . to be able to view a simple programming project in several
programming
> languages, visit the Fruit basket demo site at:
> http://fruitbasketdemo.alacorncomputer.com
>
> ----- Original Message -----
> From: "Macarty, Jay {PBSG}" <Jay.Macarty@xxxxxxxx>
> To: <programmingblind@xxxxxxxxxxxxx>
> Sent: Monday, November 26, 2007 9:25 AM
> Subject: RE: SSIP for Windows -- beta almost ready for release
>
>
> Sina,
> Thanks for the feedback and the offer! I'll take you up on that and
will
> contact you off list to discuss the details.
>
>
> -----Original Message-----
> From: programmingblind-bounce@xxxxxxxxxxxxx
> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Sina
Bahram
> Sent: Monday, November 26, 2007 11:17 AM
> To: programmingblind@xxxxxxxxxxxxx
> Subject: RE: SSIP for Windows -- beta almost ready for release
>
> Jay, look no further for hosting, my friend. Since this project is 
> directly
> related to the Remote Access Bridge, please allow me to offer you SVN
> access, if you like, site hosting, databases, and so on ... It's no 
> problem
> for me to set that up, so just contact me off list.
>
> Glad to see there is now a .net parser for SSIP as well. This will
open up
> some oppertunities.
>
> Take care,
> Sina
>
> -----Original Message-----
> From: programmingblind-bounce@xxxxxxxxxxxxx
> [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Macarty,
Jay
> {PBSG}
> Sent: Monday, November 26, 2007 12:13 PM
> To: programmingblind@xxxxxxxxxxxxx
> Subject: SSIP for Windows -- beta almost ready for release
>
> 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
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
> __________
> View the list's information and change your settings at
> //www.freelists.org/list/programmingblind
>
> 

__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

Other related posts: