Good work mate

24 views
Skip to first unread message

Sean Webster

unread,
Sep 19, 2010, 9:26:41 PM9/19/10
to open-sapi
Congratulations mate, you truly are a legend, well done for pulling
this off, just installed your setup and rocking it with the neospeech
engine and julie and kate's voices, not really a discussion but just
thought i'd let you know as its always nice to know people are using
your work and appreciate the amount of time and effort you put into
it. Im going to be using it everyday now so i can provide you with
feedback, testing and ideas if you need them as i have big plans on
implementing this fully into my system and maybe even my house for the
use of echoing and verbal feedback as im thinking about delving into
some simple home automation and smart home technology when i
eventually get some free time.

Again good work mate and keep it up, i'll help spread the word of this
project as TTS with excellent voices is one of the major things that
is lagging in linux and plenty of people request it or are looking for
it.

Thanks!

thomaslloyd

unread,
Sep 20, 2010, 11:55:02 AM9/20/10
to open-sapi
Thanks Sean,


Maybe i should rename this the praise group, lol. On a serious note
thank you for the message it is great to know people are using the
setup and that is it working for you.
There is still quite a distance to go in terms of having a system that
"Just Works". Your feedback will be greatly appreciated. Could you let
me know the details of your setup.

1. Which Linux version / flavour your using?

2. Which applications your using open-sapi with? (Orca, Speechd,
other..)

3. Bugs :D I know there are loads.

4. Features.. I have some already in the pipeline but I have stalled a
bit on the project while my life has become a little more hectic.

The home automation would really rock with some nice voices and Linux.
They are just begging out for something like that. A concern with the
current state of the system if you wanted open-sapi to run on
something like a single board computer it is a little (very) resource
hungry and it relies on Wine it also relies on having a GUI. Even
though I have spoken to the wine guys that they reassure me wine can
be build headless.

I am 50% of the way through making the server supply raw audio streams
into Linux that can then be further processes locally into something
like OGG format and supplied to clients ( Like home automation
devices). So a centralised speech server with more power will supply
the speech to the devices and with a bit of clever caching they can
store the speech for use again and again for common phrases and play
them locally just as sound files.

This means the home automation devices would in theory become much
lower cost. Depends on how you get them network connectivity. This
however is a little way off into the future but still the theory is
there. Another interesting option is the speech to text also works. I
just have not done any work on that yet.

A further consideration might be Android which has a great set of
API's for speech recognition and synthesis available on it. I own the
Dell Streak, with the right hardware/interface you could produce some
powerful devices.

Just some food for thought.

Tom

Sean Webster

unread,
Sep 20, 2010, 3:34:21 PM9/20/10
to open-sapi
Hi mate yeah no problem im using ubuntu 10.04 lucid standard install
just on my laptop (its quite old but faithfull none the less lol)
I havent really tested orca or anything out with it just yet, ive just
been going through your wiki and gettin to grips with how it works and
how to get it functioning so i dont really have any bugs to report yet
as im not fully sure on how it works and how its supposed to work and
what is supposed to work just yet, but i do have a few questions
though which i will ask at the end of this post.

Sounds like you have big plans for it and some really good and clever
ideas to get around problems, the resource issue isnt really a problem
at the moment as home auto is way down the line for me and what i will
be using it for at the moment isnt all that much, i plan on just using
it in my scripts to spit out any info i want or notifications, i sat
and did a little script earlier just to spit out the date, time,
weather, temperature etc as a little alarm clock for me on a morning,
tell me how many emails i have, maybe use it with voip and messenger
just small scale stuff for now.

ive looked into misterhouse but its a touch much for what i need for
now and i havent got the time to learn perl so at the moment ive been
looking at the kde app called simon listens which uses speech
recognition to execute scripts, programs, navigate the desktop,
control media apps etc, and it also uses AI ALICE with festival for AI
verbal feedback, i might see how open-sapi, simon and AI ALICE get on
working together, might be fun to play about with having speech
recognition to execute things with AI feedback using open-sapi for
some nice voices, if they play nice i will let you know, simon uses
plugins so maybe i might look into some form of experimental open-sapi
plugin if i have the time as it might get some more eyes on the
project and more importantly some more help, or maybe running your
eyes over some of simons code might be helpful to you for the speech
to text or even just brainstorming.

The first thing im going to do when ive figured it all out is make a
simple GUI just using zenity for simple things like changing voices
etc if its possible, as much as i like the terminal the commands are a
bit long and difficult to remember until you can fully implement them
into /usr/bin or something.

Good idea about having it remember common phrases and playing
soundfiles, before i found your project i was using pre-recorded wavs
from a MS TTS engine since i hate the standard *nix voices, and
although the wavs did the job it was greatly limited as it could only
ever say what was already recorded and clunky as you can imagine, its
nice to have the choice.

i do have a few questions though:
how do i change it so that it constantly uses the same voice for the
cli? is there another config file?
i read your wiki for changing the engine and if i start the the server
up from a terminal using:

wine ~/open-sapi/tools/tcl/bin/tclsh85.exe ~/open-sapi/src/unstable/
osapi-srv.tcl 2> /dev/null

and then edit line 24 in the config file, and then test it in another
terminal with:

~/open-sapi/src/unstable/osapi-cli.tcl -p 3 -t This is some text to be
spoken @@

it works fine and uses the voice i would like, but if i close both
terminals and use:

~/open-sapi/rockbox/client-server/rbutil-sapi-cli.tcl -t This is a
test of the Open Sapi project @@

it does not use the voice i want, it uses the default, am i missing
something?
i noticed the paths and commands are different?
what is the difference between the commands?

if i use the switch -e 3 as in:

~/open-sapi/rockbox/client-server/rbutil-sapi-cli.tcl -e 3 -t This is
a test of the Open Sapi project @@

it either returns:

590:COM Error The requested data item (data key, value, etc.) was not
found.

or:

596:Startup Failure Server Port Busy address already in use.

am i going about this in the wrong way and do not fully understand the
setup of how it all works, i dont want to be a pain mate ive read and
followed the wiki but dont fully understand it if im honest. Any
chance you can give a quick explanation of what im doing wrong or
whatever if you have the time, let me know if you need anymore info
or debug and i'll pass it on, i just want to know how to get it fully
set up so i can use it as a cli with the chosen voice. Using it with
orca would be a bonus but mainly i just want to set it up for use as
a cli tool

Thnaks mate!

Sean

btw how is the streak?

thomaslloyd

unread,
Sep 20, 2010, 6:38:27 PM9/20/10
to open-sapi
Hi Sean,

Loving the Streak... when it is not misbehaving. Massive potential and
that's what i like.

I must say that your going through the Wiki is great because you are
highlighting all sorts of issues with what is written there.

Your not going about this in the wrong way just your letting me know
how unclear it is and wrong which is a great help.

This is never going to work as this calling an abandoned arm of code
the communication specification are incompatible:
"wine ~/open-sapi/tools/tcl/bin/tclsh85.exe ~/open-sapi/src/unstable/
osapi-srv.tcl 2> /dev/null"

you should start the server with:

"wine ~/open-sapi/tools/tcl/bin/tclsh85.exe ~/open-sapi/rockbox/client-
server/rbutil-sapi-server.tcl -v --debug --timeout 0"

Run that in a terminal and it is going to give you lots of debug
information, but that is okay. What I need to know is where did you
get that original command from..as I have corrected that command in
the wiki to reflect the one that I have just posted. You obviously
found it somewhere I would appreciate it is you could tell me.

For the client run:
~/open-sapi/rockbox/client-server/rbutil-sapi-cli.tcl -e 3 -t This is
a test of the Open Sapi project @@

Changing the value of the -e will change the voice used. I think
running the client with -e causes a bug at the moment but it might
have been the incomparability between code versions try it again using
the right server and client combination.

I will be upgrading to Ubuntu 10.10 end of the month and at that point
will be concentrating more on open-sapi. Hopefully if your interested
we can iron out some of the major bugs and holes in the documentation.

I will put together a script to test the functionality so users can
check if open-sapi is behaving as expected. Before I get to that
though I have to rewrite the debug system for the client :D oh the
joy.


Cheers,


Tom

Sean Webster

unread,
Sep 20, 2010, 7:53:35 PM9/20/10
to open-sapi
Haha thank god for that, i was starting to go insane, basically all of
the info i have used is from your wiki, ive been back and fourth
between the pages of changing engines and developer startup, so the
code must be on there somewhere unless i have confused the situation
by accidently mixing up strings of code (as i literally just ended up
trying everything and anything in the end lol)

i just need to get it up and running so i can have a tinker about with
it, once i understand how it works and whats supposed to happen etc
then yeah mate im up for ironing out bugs and developing some simple
and easy to follow documentation for it, Im just confused with some
things, even the basics, as at the moment i literally have no clue
about how any of it works and what is needed for it to work, even
simple things like do i have to have the server constantly running or
can/does the client start it up automatically on demand (is that why
it times out), what is the rockbox server used for and what is the src/
unstable used for, how and what functionality does it provide to
espeak and orca etc.. so many questions haha, and i have even more
questions now that you say you have changed bits of code and the wiki
is outdated, i imagine you have it all in your head and fully
understand everything of how it works, but i seriously have no clue as
i think most of the info is currently in your head and not the wiki
lol, if you can come up with a very simple explanation on how it
works, a quick tutorial on how to get it to work and the different
parts of it, i will quite happily help you out, write a wiki, play
about with it and see what i can contribute or come up with.

I will give the new code u posted a try tomorrow as im off to bed now,
and i will paste the output back to you and let you know how i get on.

Thanks
> ...
>
> read more »

Sean Webster

unread,
Sep 21, 2010, 3:49:37 PM9/21/10
to open-sapi
Hi Thomas,
i tried the commands and pasted the output into a text file you can
get it from my U1 account here is the link:

http://ubuntuone.com/p/H0f/

You were right starting the client with -e seems to crash kill/crash
the server
Let me know if you need anymore info.

Thanks!
> ...
>
> read more »

Sean Webster

unread,
Sep 22, 2010, 4:43:04 PM9/22/10
to open-sapi
hi thomas just thought i'd let you know on whats working for me and
what isnt and how im currently using it, i took the following from
your changing engines wiki!

Im starting the server with:

wine ~/open-sapi/tools/tcl/bin/tclsh85.exe ~/open-sapi/src/unstable/
osapi-srv.tcl 2> /dev/null

and it says ready!

And then starting / using the client as a cli with:

~/open-sapi/src/unstable/osapi-cli.tcl -p 3 -t This is some text to be
spoken @@

And everything is working fine, the "-p 3" plays my specified voice
and all pistons are firing and seems quite stable as its been up and
running pretty much all day. Ive ran it from a terminal and tried it
in scripts with both -t and --pipemode and all seems fine, and i can
successfully use it as a cli tool.

Im not sure whether this is how its supposed to be used or the desired
outcome, or whether its old code (as you said i was using bits of old
code) and it does have a few issues, mainly:
I have to manually start the server, when i just try the client on its
own it doesnt autostart the server, it just returns 300 and back to
prompt(im not sure whether its supposed to autostart or not)
I always have to specify the -p in the command to get the desired
voice as i cant figure out how to get it to use the desired voice
permenently, like editing a config file or something, because editing
the config file as described in the changing engines wiki doesnt seem
to be working for me. So now if i use the current commands in a script
to say some text, then i have to specify the -p in the command in the
script, and if i would like to change the voice again then obviously i
have to maunually change the -p to the desired voice by manually
editing the commands in the scripts.

But like i say this might be all wrong or old code but just thought
i'd let you know what is working for me, what isnt and how i am
currently using it.

Thanks!

Sean
> ...
>
> read more »

thomaslloyd

unread,
Sep 23, 2010, 4:35:14 PM9/23/10
to open-sapi

Hi Sean.


Sorry for the slow reply, I just had my Birthday yesterday and that
has been keeping me very busy. I can see what i suspect to be the
problem with the client. It seems to be sending a voiceList command
and voiceSet at the same time. This is just a case of the logic being
wrong during the options processing on the client.

The code you have started to use is much older and it was stable at
the time that I branched the code but as your realising it lacks a lot
of features. I will have to look at the bug in the client and see if i
can provide a quick fix.

There is as yet no config file as such but again it is on the
requested features list. The other config file is for when you use
Orca and SpeechDispatcher for screenreading.

Cheers,

T
> ...
>
> read more »

thomaslloyd

unread,
Sep 29, 2010, 4:22:22 PM9/29/10
to open-sapi
Right a date that i will begin to commit some time to the project is
10.10.2010. Just happens to be the Ubuntu release date too ;)
Just to you know.

Tom
> ...
>
> read more »

thomaslloyd

unread,
Sep 29, 2010, 4:58:08 PM9/29/10
to open-sapi
Felt a bit guilty for giving my project no love. So I think I have
identified part of the issue. Firstly when I am generating TTS
straight to the audio system I run the speech in a thread/seperate
process. However the code does not take this into account yet and is
not changing the voice for the thread it is using to generate the TTS.
Hence the voice will never change :D It is calling the code to do it
in the main process but that has no effect on the speech generated by
the thread so I will implement a fix for that soon.

T

ethanak

unread,
Oct 17, 2010, 3:21:43 PM10/17/10
to open-sapi


On 29 Wrz, 22:58, thomaslloyd <thomaslloy...@googlemail.com> wrote:
[...]
> so I will implement a fix for that soon.

Would you precise - what means "soon"? ;)

Also - there is a small bug in cleanUp procedure (in rb server):
a) the "sock" variable is undefined. You can add third parameter
(sock) to this procedure and call it with three parameters;
b) the "errorArray" variable is also undefined. For me it should be
declared global.

ethanak

thomaslloyd

unread,
Oct 18, 2010, 11:38:12 AM10/18/10
to open-sapi
Thank you for the debug notes, also just at the moment I have a busy
life. Which means that the spare time I have to spend on Open-Sapi is
limited.

I am currently redesigning the Server and Clients to be more scalable
when used in a multi user scenario which means a large rewrite and
some heavy development on thread control. So I am being a busy boy and
developing here at the moment. The code as it will significantly
change. If I am feeling in a good mood I will try and release a stable
release of the current server . However the code has not been released
as stable or even working yet. Sorry this might be causing you
frustration. Instead of attacking me if your very clear about what you
want fixed, added or made to work then I will be sure to have a look
at it for you. Describing the steps that are needed to reproduce the
bug and the output and what you expect to happen if you know that
would be useful in helping me to find the bugs.

Tom

ethanak

unread,
Oct 19, 2010, 3:51:53 AM10/19/10
to open-sapi


On Oct 18, 5:38 pm, thomaslloyd <thomaslloy...@googlemail.com> wrote:

>
> I am currently redesigning the Server and Clients to be more scalable
> when used in a multi user scenario which means a large rewrite and
> some heavy development on thread control. So I am being a busy boy and
> developing here at the moment. The code as it will significantly
> change. If I am feeling in a good mood I will try and release a stable
> release of the current server .

I corrected some bugs in rockbox server (only some - I completely
don't know tcl :) ). At now saving speech to files works for me,
getEngine not yet (but I simply had no time). Also I slightly modified
the protocol: if outFile is set to "pipe", server returns line:
200:OK wave data follows:<size>
followed by <size> bytes of binary waveform, newline and then 201
response.

It's all what I needed to write:
a) python client (library)
b) gtk frontend to open-sapi
c) binary module to speech-dispatcher (your generic simply does not
work for voices other than Microsoft Mary, so is completely unusable
for non-english speaking users)

I'll publish the patch when I'll make getEngine working (probably
'soon' :) )

ethanak

Thomas Lloyd

unread,
Oct 31, 2010, 7:37:51 PM10/31/10
to open...@googlegroups.com
In terms of using it with other voices, is it just the fact that at the moment open-sapi is locked to one voice (because of my bad coding) or for some other reason. Open-sapi should support other voices even ones from other countries but it is untested. I am working on adding different engines back into the threads. It has been supported in previous version just mid development is got lost.

Tom


ethanak

--
You received this message because you are subscribed to the Google Groups "open-sapi" group.
To post to this group, send email to open...@googlegroups.com.
To unsubscribe from this group, send email to open-sapi+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/open-sapi?hl=en.


Reply all
Reply to author
Forward
0 new messages