[DECtalk] How to use Say

Jayson Smith ratguy at insightbb.com
Sun Jul 10 14:27:45 EDT 2011


Here's how to use the Say program Ed posted earlier today. Before we even 
get started, you must have a dectalk.dll that's compatible with Say. If you 
have the version of Speak using the first attempt by Enable to create a SAPI 
DECtalk which was circulated limitedly a few months ago, you have a 
compatible dectalk.dll. Note that the access32.dll distributed with Window 
Eyes appears not to be compatible. It seems it's been modified probably so 
it can only be used within WE. If you try renaming it to dectalk.dll and 
using say, you're told there are no license units available.

Also you will need a Microsoft Visual C Runtime library. You've probably got 
several versions of this all over your system. I used the one from JAWS 11. 
In my case, it's in my settings\enu folder as msvcr71.dll. This needs to be 
renamed to msvcrtd.dll. You'll also need a DECtalk dictionary. Once again, 
if you have the Speak produced earlier this year, you have this. So in 
total, here's the directory listing you need.

dectalk.dll
dtalk_us.dic
msvcrtd.dll
say.exe

Once all these files are in a directory, just run say. Now type something, 
hit Enter, and it will be spoken. Running Say with the /? argument will 
provide help text. For everyone's convenience, I've pasted this help text in 
this message. It's a nice little program. Thanks, Ed!

Unfortunately, as far as I know there's no way to use this with DECtalk 4.3, 
since speak43.exe seems to have the DECtalk code bundled in itself rather 
than as a separate DLL. Now here's the Say help text. Hope you can use it.
Jayson

SAY  [options] [text]

Help Options:

    -h or -?          = Help.  Outputs this file to the console.  This
                        option cancels any others on the command line.


Output Options:

    -w outFile        = Convert text into specified wave file instead of
                        speaking to the sound device.

    -l[t] outFile     = Turn on text logging, which logs all input text
                        to a file.  This text includes any pre and post
                        commands as well as commands sent to DECtalk by
                        the SAY program itself.

                        Since this is the default logging mode, the 't'
                        immediately following the '-l' is optional.

    -ls outFile       = Turn on syllable logging, which logs each
                        syllable to a  file.

    -lp outFile       = Turn on phoneme logging, which converts the
                        input text to phonemes.  This is useful if you
                        want to get DECtalk to sing.  You convert the
                        text to phonemes and then insert the tone
                        commands into the phoneme file.

    If no output options are specified, SAY sends its output to the
    installed sound device, ususally a sound card.  Only one output
    option can be specified; if you specify more than one, the last one
    on the command line is used.


Input Options:

    -pre preText      = Text to be passed to DECtalk before the normal 
input.
                        This is useful for passing initializing commands to
                        DECtalk that would normally not be part of the 
input.
                        If the prefix text has spaces, it must be enclosed 
in
                        quotes.  An example would be "[:phoneme on]" or
                        "[:nb :ra200]".

                        The prefix text is "forced" out before the input 
text
                        is read.

    -post postText    = Text to be passed to DECtalk after the normal input.
                        This is useful for passing terminating commands to
                        DECtalk that would normally not be part of the 
input.
                        If the postfix text has spaces, it must be enclosed
                        in quotes.  An example would be "[:phoneme off]" or
                        "The End".

                        The "normal" input is "forced" out before the 
postfix
                        text is read.

    text              = Text appearing on command line is spoken.  The text
                        to be spoken can either come from the standard
                        input or from the command line.

                        Anything on the command line that is not an option
                        will be interpreted as text, as will anything 
following
                        it on the command line.  In other words, text to
                        be spoken must appear on the command line after
                        all options.

                        If the *first* word in the text has a dash (-) or
                        slash (/) as its first character, you must precede
                        it with another dash or slash.  For example, to tell
                        DECtalk to say the number -123, you would type the
                        command

                          SAY --123

                        This is necessary to avoid having SAY interpret the
                        number as a command line option.

                        If you embed DECtalk commands into your text, you 
must
                        enclose them in quotes if they contain spaces.
                        This is because SAY treats each space-delimited
                        command-line argument as a separate "word",
                        while DECtalk commands must be processed as
                        single "words" by the SAY program.

    If no text is specified, SAY will take its input from the standard 
input.
    For example, you could have SAY speak a directory listing in Betty's
    voice by typing

        DIR | SAY -pre "[:nb]"

    or you could just type the command

        SAY

    and then enter text at the console.  In this case, SAY speaks each
    line after you press RETURN, and exits after you press CTRL-Z.  If
    you want SAY to take its input from a file, use file redirection as
    in the following example, which reads the file FOO.TXT in Harry's
    voice.

        SAY -pre "[:nh]" < FOO.TXT


Dictionary Options:

    -d userDict       = Loads the specified user dictionary before
                        speaking.  This dictionary is loaded in place of
                        any default user dictionary determined by DECtalk.

Version information:

    -v                = Displays the version of the dll.





More information about the Dectalk mailing list