CHAPTER 1: WHAT TINYTALK DOES AND WHY IT DOES IT
This chapter describes the facilities that Tinytalk gives you in your quest
to make your computer talk. To understand how to use these facilities, you
need to know a little about how application programs use the screen
display, so we're going to talk about this and introduce some concepts that
we'll define in more depth later on. If windows, video attributes and
lightbars don't make any sense to you yet, read on!
SECTION 1: HOW PROGRAMS ORGANIZE THEIR DISPLAYS
Modern application programs don't treat the screen like a scroll of paper
with new text coming in at the bottom; they consider it a "page" made up of
several sections. This means that making a program talk isn't simply a
matter of "speaking anything that's written to the screen"; you also have
to know how the program uses the screen. For example, when you're entering
or editing text in WordPerfect, the screen has two sections. The first 24
lines show the text you're editing, and the bottom line shows a status
We refer to these sections of the screen as "windows." A window is an area
of the screen that a program uses differently from the rest of the screen.
These areas are always rectangular; they are defined by the row and column
coordinates of their top left and bottom right corners. In the above
example, the text display is a window with a top left corner at line 1,
column 1 and a bottom right corner at line 24, column 80. The status line
is a window from line 25, column 1 to line 25, column 80.
Programs often, but not always, visually mark the boundaries of their own
windows. One way of doing this is to draw a box around the window using
line-drawing and corner "block graphics" characters. Another way is to use
different video attributes for different windows. Video attributes are
properties of displayed characters such as foreground color, background
color, brightness, underlining and blinking. For example, a program might
display a window in a different color from the rest of the screen.
A program can do many different things with a window. It can display
status information or instructions that seldom change (the second window in
WordPerfect is an example of this). It can display a "lightbar menu,"
which is a list of options arranged either horizontally or vertically. One
of the options is "highlighted," which means that it has different video
attributes from the rest of the options; for example, the foreground and
background colors might be reversed. When you press cursor keys, the
highlight moves from one option to another; that's why it's called a
A window may display text that scrolls in and out of the area when you use
the cursor keys. The main text window in WordPerfect is an example of this
kind of window. Programs often have "pop-up windows" which are boxed-in
areas of the screen that contain messages, menus or prompts. These are
often used together with lightbar menus. For example, many programs have a
horizontal lightbar menu on the top line of the screen. When you select an
option, a box with a vertical lightbar menu pops up underneath the
highlighted option. Many programs will pop up "message boxes" when you
perform some action. Pop-up windows can appear pretty much anywhere on the
screen, unlike fixed windows such as the ones we talked about in
Another common feature of full-screen programs is what we call "data entry
screens." These are on-screen "forms" that consist of prompts followed by
highlighted areas. You "fill in the form" by typing text into the
highlighted area, and move between fields (a field is a prompt/value area
combination) by using the cursor keys, tab key and ENTER key).
Most programs write characters directly to the screen instead of using the
rather slow and inflexible routines built into the computer's operating
system. This means that a speech program can't just speak line-at-a-time
DOS output; it has to analyze the screen and read the changes in a way that
makes sense to the user. Tinytalk provides a comprehensive set of
facilities for doing this. Some of them work nearly automatically; with
others, you need to tell Tinytalk something about how the program is using
Most commercial application programs won't fully talk "right out of the
box"; you'll have to do some configuring to make them talk the way you want
them to. Most DOS-prompt commands and simple utility programs will talk
without any setup.
SECTION 2: APPLICATION MODE AND REVIEW MODE
When you're using Tinytalk, you're always in one of two modes. Most of the
time you'll be in application mode, where you're running application
programs or giving commands at the DOS prompt. In this mode, Tinytalk is
sitting in the background, watching the screen and your keystrokes and
sending screen output to your synthesizer. Tinytalk always starts off in
When you need to communicate with Tinytalk directly, for example to tell it
what parts of the screen you want it to read, you go into review mode (by
pressing a special "hot key"). In review mode, Tinytalk puts the program
you're running "on hold" and takes over the keyboard. You can issue
commands to your synthesizer, move the cursor around to explore the screen
without interfering with the program you're running, and much more. Once
you've done what you wanted to do, you can leave review mode and return to
SECTION 3: AN OVERVIEW OF TINYTALK'S FACILITIES
All screen output sent through DOS or BIOS routines will be spoken as it
occurs. You can turn this off completely, or you can set portions of the
screen to be silent.
You can tell Tinytalk what, if any, punctuation characters to read. You
can have different punctuation groups for reading versus typing, and for
review mode versus application mode. You can tell Tinytalk how to
pronounce each punctuation character.
You can have your keystrokes spoken as words, as letters or not at all.
Tinytalk can announce any changes in "lock states" like caps lock.
Tinytalk will automatically clear any unfinished speech when you move the
cursor or when a window gets read. You can choose whether or not regular
keystrokes should clear speech.
When you move the cursor in a program, you can hear the text that it's
moving over. You will hear characters that you delete with either the
backspace or delete keys. You can specify how much text you want to hear.
REMAPPABLE HOT KEYS
You can read important parts of the screen from within an application
without going into review mode. You can pick what keystrokes you want to
use as hot keys, and you can define your own hot keys to change Tinytalk's
settings without having to go into review mode.
REVIEW AND CONTROL MODE
Tinytalk has a comprehensive screen review mode for moving around the
screen without disturbing an application program. In this mode, you can
also control synthesizer characteristic like pitch and speed, set up areas
of the screen to be monitored automatically and set various options for
AUTOMATIC WINDOW READING
You can have windows spoken automatically when they change. You can tell
Tinytalk both when to speak them and how to speak them.
Tinytalk provides an "independent cursor" that you can use to review the
screen while you're in an application program without having to go into
CONTINUOUS DOCUMENT READING
When you're running a word processor or text editor, you can have Tinytalk
scroll through your entire document and read it to you. If you're using a
synthesizer that supports indexing (see Chapter 3, Section 4), Tinytalk
will keep the speech from getting too far ahead of the cursor, so that you
can stop reading and then pick up where you left off.
Tinytalk can highlight words or lines on the screen as it's reading them.
MULTIPLE CONFIGURATIONS WITH AUTOMATIC LOADING
Tinytalk can store up to 30 configurations (window definitions, mode
settings and voice characteristics) in memory. You can switch from one
configuration to another with a few keystrokes, or you can have Tinytalk
automatically switch you to the correct configuration when you run a
program. You can have separate configurations for individual screens
within a program, and Tinytalk can automatically switch between them based
on the presence of identifying text on the screen.
Many programs have "fill-in-the-form" data entry screens made up of prompts
and highlighted entry fields; you move between the fields with the cursor
keys. Tinytalk will let you hear each prompt and field value as you move
to it, even when there are several fields on the same line.
You can tell Tinytalk to say a word or phrase of your choice whenever you
hit a certain key. You can have separate groups of key labels for each
application program you use.
VIDEO ATTRIBUTE ANNOUNCEMENT
If you want, Tinytalk can announce changes in video attributes when reading
text from the screen. As you'll recall, programs often use attributes to
distinguish between sections of the screen. Word processors also use them
to symbolize print characteristics like bold-facing and underlining. You
can give names to attribute combinations; for example, you could have
yellow-on-blue text (which symbolizes italics in WordPerfect) announced as
Tinytalk provides several other features for making application programs
easier to work with; you'll learn more about these later on. It can
automatically read column headings or titles as you move around a
spreadsheet or database browse screen; buzz at you if you accidentally hold
down the shift key and type a letter while you have caps lock on; ring a
bell when you enter text past a right margin you define or click the
speaker whenever the cursor passes over a video attribute that you select.
If an application displays a long line of punctuation characters, Tinytalk
will read only the first two if the rest are identical. Tinytalk will
spell out any word that doesn't contain a vowel and can be told to spell
out "words" that have digits as well as letters (such as ham calls). If
your synthesizer supports number processing, Tinytalk can use it when
saying "words" that contain only digits.
Tinytalk supports the 43 and 50-line screen displays that are available
with EGA and VGA video cards.