[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TCL and Related Speech Server questions

Interesting, given me a lot to think about.

I've done a bit of work in Clojure--nice language, as you say.

On 10/9/2013 5:27 PM, Tim Cross wrote:
Just following on what Raman has said, back in the day, Tcl was one of the best scripting languages for gluing things together (in fact the name Tcl comes from tool command language). However, as Raman points out, you can write speech servers in any language and there have been serves in C, perl, python and Java. However, in most other languages, to make things work, you do need to implement some sort of read-print-eval loop, which is just a single call in Tcl.

One of my projects, which I really want to get back to, has been to implement an speak server in Clojure (a lisp like functional language which runs on the JVM). The main reason I've been playing with this was because I wanted something which didn't use Tcl as I've run into version issues with Tcl on 64 bit systems where you want to run 32-bit ViaVoice, but also have other Tcl apps which you would like to take advantage of the native 64-bit architecture.

The other reason I've been playing with this is because I also wanted a project to use as a way of learning Clojure, which has some very nice facilities for dealing with concurrency and which I think could be a nice basis for implementing a speech server. I also wonder if there may be some interesting experiments we could look at using clojureScript. At the end of the day, this is just a fun project I like to play around with and can recommend others embark on similar as the very best way to understand many of the issues involved in writing a good speech server is to actually try and write one!


Tim Cross
IT Security Manager, Information Technology
University of New England
Armidale N.Sl.W. 2350

Email: tcross@une.edu.au
Phone: +61 2 6773 3210
Mobile: +61 428 212 217

On 10/10/2013, at 2:46 AM, T. V. Raman <tv.raman.tv@gmail.com> wrote:

Good question.  The choice of TCL  is mostly historical:  in
1995, there were three languages that were approximately equal in
popularity, perl, python and tcl.

TCL  had one advantage over perl and python; in 1995, it was a
lot easier to bind TCL  to a native C library -- and I needed
that to integrate support for the software DecTalk.

2. In 1995, TCL and Python had an advantage over perl -- and this
is still true -- both languages trivially expose a
read-eval-print loop -- so you  can essentially write a server script in
those languages where each  server command is just a function,
and the client e.g. emacspeak, can launch the script  and write
to stdin (or later over a socket) to send commands to the server.

Fast Forward to 2013:

If I started fresh today, I would probably write it in Python --
given that TCL  development has slowed down.  That said, TCL is
still a good option because it is well supported in general.

Note that because of the initial servers having been written in
TCL, emacspeak writes to the server assuming it's talking to TCL,
so the python or Java server script has to do a bit more work.

If you want to study this further, look in module dtk-interp.el
--- if it ever becomes necessary, one could write an alternative
implementation of that module that makes it slightly easier on a
python server

Haden Pike writes:
Hi all,

I got into a discussion about Emacs and Emacspeak with a sighted
classmate who saw me using AucTeX to read my Calculus assignment. She
asked me later why the speech servers use TCL.  I didn't know and my
best guess was that it was the best option at the time.  Is this the
case, or are there advantages I'm not aware of?

Thinking about it later, I was curious if TCL should still be used when
writing a new speech server, or whether something like the mac server
should be written where possible?

To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help".


To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help".

To unsubscribe from the emacspeak list or change your address on the
emacspeak list send mail to "emacspeak-request@cs.vassar.edu" with a
subject of "unsubscribe" or "help".

If you have questions about this archive or had problems using it, please send mail to:

priestdo@cs.vassar.edu No Soliciting!

Emacspeak List Archive | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998

Emacspeak Files | Emacspeak Blog | Search the archive