views:

53

answers:

0

I'm trying to use a text-to-speech engine, festival, in Windows. I found a pre-compiled binary online, so I can't really re-compile without a whole lot of effort. Here's what happens. I run the program from cmd.exe and try to see the definition for a function:

festival> utt.synth
#<CLOSURE (utt) (begin "(utt.synth UTT)
    The main synthesis function.  Given UTT it will apply the
    functions specified for UTT's type, as defined with deffUttType
    and then those demanded by the voice.  After modules have been
    applied synth_hooks are applied to allow extra manipulation.
ks utt) utt)>) (cdr definition)))))) (body utt))))) (apply_hooks after_synth_hoo

Something's definitely messed up. Then, I try running it redirecting standard out to a file (eg festival > out). Here's what's in the file:

festival> utt.synth
festival> #<CLOSURE (utt) (begin "(utt.synth UTT)
    The main synthesis function.  Given UTT it will apply the
    functions specified for UTT's type, as defined with deffUttType
    and then those demanded by the voice.  After modules have been
    applied synth_hooks are applied to allow extra manipulation.
    [see Utterance types]" (apply_hooks before_synth_hooks utt) (let ((type (utt
.type utt))) (let ((definition (assoc type UttTypes))) (if (null? definition) (e
rror "Unknown utterance type" type) (let ((body (eval (cons (quote lambda) (cons
 (quote (utt)) (cdr definition)))))) (body utt))))) (apply_hooks after_synth_hoo
ks utt) utt)>

Something is definitely wrong here. Check out that weird second festival prompt. Besides, pushing output to a file is a bit cumbersome for my tastes. I know a bit about Emacs and would like a solution there, but running festival from M-x shell just doesn't work at all. I don't even get the nice festival prompt shown above. I just want an interactive festival prompt that doesn't eat characters when the line is too long.

You can try it all yourself by downloading the binary here. Any suggestions?