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

[SpeechIO-12] speechd v0.39

* -e flag for use w/ esd
* better I/O in speechd & catspeech (used to open & close /dev/speech on
  every line to flush the buffer... fixed.. only open once)
* think I fixed the dropped line bug (actually in catspeech)
* string substitution (!!).  Been wanting to do this since... the
  beginning.  This is a feature that has been in ircspeak (original
  inspiration for /dev/speech & speech.irc -- by Gareth Watts) since I
  found it.  221 subtitutions taken from ircspeak.  Like "31337" being
  converted to "eleet" before being spoken.

Kyle:  I'd be one of the last people to discourage someone from doing what
they thing is right in opensource.  But.. at this point, do you believe
there is any reason why re-implimenting /dev/speech in a kernel module
would be an improvement over the current implimentation ?  If so, go for
it, of course, but I'd be curious to hear what you think.

Today's improvements in I/O make it a lot cleaner, in my opinion.

Those of you using esd, I'm sure have noticed that when several things are
said in rapid sequence, the speech output overlaps.  Festival speaks over
itself.  I'd guess that the creators of Festival assumed that it would
always be outputting to a standard /dev/dsp device, which can only handle
1 sound at a time, so the sounds wait in line until it's available, and
don't overlap.  

I tried to fix this problem.  I was hoping I'd be able to use the info
that Festival returns across the TCP socket (as discovered by Michael).  
I was certain that at least one of the bits of information would be
returnd right after Festival finished speaking the text that had just been
submitted to it.  Unfortunately, this does not seem to be the case. All
the responces happen immediately after the text is submitted, long before
it is finished being spoken.  So I can't have speechd wait till Festival's
finished chewing till I feed it more text.  Anybody else have any ideas ?

Gareth: you really gotta take a look at how the string substitution is
implimented.  It's sweet.  It has very little to do with how you
implemented it (just that both of us stored the data in a hash).  I would
never have come up with this solution myself... at least not yet.  Abigail
in #perl assisted me.

v0.32 7162 Aug  7 18:18:18 EDT 1999
 -e flag & $use_esd speechdrc variable, to use the Enlightened Sound
 Daemon (esd)

v0.34 7226 Aug  7 18:46:13 EDT 1999
 $daemonize redirects output to $logfile instead of /dev/null.

v0.35 7237 Aug  7 19:11:21 EDT 1999
 Only open /dev/speech once (in speechd & catspeech).  Changed catspeech
 to open /dev/speech for appending instead of overwriting.

v0.36 7438 Aug  7 22:05:31 EDT 1999
 Display more of the interaction between speechd & festival.

v0.37 7622 Aug  7 23:59:12 EDT 1999
 String substitution !!  (w/ a little help from ircspeak).  Ex:  "31337"
 is converted to "eleet" before it's spoken.

v0.38 7623 Aug  8 00:18:12 EDT 1999
 Fixed case-insensitivity of string substitution.

v0.39 7623 Aug  8 00:32:05 EDT 1999
 Catch SIGHUP & reload /etc/speech.sub.

PGP fingerprint = 03 5B 9B A0 16 33 91 2F  A5 77 BC EE 43 71 98 D4
            darxus@op.net / http://www.op.net/~darxus
                         Far Beyond Reason