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

[patch to servers/espeak]: translate [*] to space



When I type a character like left paren, the Espeak TTS server says 
"left `p1 paren".  Emacspeak sends "left[*]paren" to the tts_say procedure,
which translates [*] to `p1.  But the string `p1 isn't special to Espeak.
I'm guessing that Outloud renders it as a pause.
Here's my patch to translate [*] to space.

-- Chris

Index: servers/espeak
===================================================================
--- servers/espeak	(revision 5900)
+++ servers/espeak	(working copy)
@@ -250,7 +250,9 @@
     set la $langcode(current)
 
     set prefix "<voice xml:lang=\"$la\" gender=\"male\" variant=\"1\"><prosody rate=\"[convert_speech_rate $r]\">"
-    regsub -all {\[\*\]} $text { `p1 } text 
+    # CMB change: ESpeak doesn't treat `p1 as a pause.  I'm guessing this
+    # is Outloud's behavior?  Replace [*] with a single space.
+    regsub -all {\[\*\]} $text { } text 
     synth " $prefix $text"
     service
     return ""


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

priestdo@xxxxxxxxxxx No Soliciting!

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

Emacspeak Files | Emacspeak Blog