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

  • From: "Octavian Rasnita" <orasnita@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Tue, 27 Nov 2007 17:10:42 +0200

Ok, in that case it would be helpful.

Octavian

----- Original Message ----- From: "Sina Bahram" <sbahram@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, November 27, 2007 3:34 PM
Subject: RE: SSIP for Windows -- beta almost ready for release


Yes, it can.

Not Jays, but what we'll be using it in, will absolutely be able to do all
of that and more, at a low latency rate.

Takecare,
Sina

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx
[mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Octavian Rasnita
Sent: Tuesday, November 27, 2007 1:28 AM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: SSIP for Windows -- beta almost ready for release

Can the client access the server remotely?

Could the server run on a remote server and listen for connections and the
client connect to the server, send the string and received the sound?

If not, what can this server be helpful for?

Thanks.

Octavian

----- Original Message -----
From: "Macarty, Jay {PBSG}" <Jay.Macarty@xxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Tuesday, November 27, 2007 1:17 AM
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

Other related posts: