[misc.handicap] Synthesizer interfacing

Eric.Bohlman@p1.f778.n115.z1.fidonet.org (Eric Bohlman) (09/19/90)

Index Number: 10458

[This is from the Blink Talk Conference]

Synthesizers, like modems, come in both internal and external varieties.   
External synthesizers connect to the computer via a serial port or, less  
commonly, a parallel port.  An external synthesizer will speak whatever is  
sent to it over the port.  Some of them will remain silent until you send a  
carriage return; in this respect they're more like printers than modems.   
Another similarity to printers is that they have various special codes to  
change pitch, speech rate and the like, just as printers have codes to change  
fonts and character spacing.

Internal synthesizers are cards that occupy various port addresses.  Unlike  
external synthesizers, they don't usually have their own processors to do  
text-to-speech conversion; rather, they rely on a memory-resident program to  
do the translation.  This program receives text and converts it to phonetic  
codes which are then sent to the synthesizer board.  The driver programs have  
a variety of ways of receiving text.  Some of them hook into the BIOS routines  
for dealing with serial or parallel ports.  With one of those, you just output  
text to the appropriate "port" as you would with an external unit.  Others  
(the Artic boards, for example) have their own software interrupt; you  
communicate with them by issuing a software interrupt, usually with some  
register pointing to the text you want them to speak.

Don't confuse the driver programs I mentioned with screen reader programs.   
The driver program simply does the text-to-speech translation for other  
programs that want to talk to the synthesizer; it doesn't automatically make  
screen output talk or keys echo.  That's a function of the screen reader.
 

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!115!778.1!Eric.Bohlman
Internet: Eric.Bohlman@p1.f778.n115.z1.fidonet.org

Eric.Bohlman@p1.f778.n115.z1.fidonet.org (Eric Bohlman) (09/20/90)

Index Number: 10511

[This is from the Blink Talk Conference]

 JP> Are there PD reader-type programs out there?  Is there a 'standard' of 
 JP> good and bad things that I should know, when setting up a configuration 
 JP> specifically to work with these readers, or should I start trying to 
 JP> figure out how to write a self-reading program?

With the possible exception of Enable Reader which is quite old, there aren't  
really any PD readers out there, but most of the commercial programs have demo  
versions available (generally they have a per-session time limit).  Many of  
the demos can be found on BlinkLink or other BBSs that carry this echo.   
Downloading them and reading the manuals (most of the demos have complete  
manuals) would be a good way to get familiar with the facilities that reader  
programs provide.

It would be better to write programs to work with screen readers than to try  
to make them self-talking.  Everyone, blind or sighted, has their own style of  
reading a program's user interface; trying to make a program self-talking  
limits them to your idea of how they should read it, and makes the program  
hardware-dependent.  Getting familiar with the facilities provided with  
readers will help you understand how to structure programs so they can be used  
easily.
 

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!115!778.1!Eric.Bohlman
Internet: Eric.Bohlman@p1.f778.n115.z1.fidonet.org

Jeff.Salzberg@f729.n106.z1.fidonet.org (Jeff Salzberg) (09/20/90)

Index Number: 10513

[This is from the Blink Talk Conference]

You recently wrote to Eric Bohlman:

 JP>     I have read your message a few times and it is a bit
 JP> confusing to me...I will refer it to Rich and see what he can do
 JP> to work with the many different types of synthesizers.  He will

If I may stick my 2 cents in here...

I believe that what Eric was saying is that you DON'T have to make your
software work with the many synthesizers; any blind person who has a
synth already has a screen-reading program to do that.  What is
incumbent upon the author of software that is to be used by blind users
is that s/he write it so that it works well with not the synth, but with
the screen-reader.  Fortunately, this is relatively easy.  In a
nutshell, the way to do it is by using calls to the DOS and BIOS
interrupts rather than using direct screen writes.  Mind you, you don't
want the synth to say EVERYTHING (constant time updates would be
annoying, for instance); that's where programmers have to be insightful,
clever, and intuitive.  I am rarely any of those, but I am,
ocassionally, lucky.

Willie, Eric, Donald, did I get that right?

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!106!729!Jeff.Salzberg
Internet: Jeff.Salzberg@f729.n106.z1.fidonet.org

William.Wilson@p0.f89.n129.z1.fidonet.org (William Wilson) (09/20/90)

Index Number: 10527

[This is from the Blink Talk Conference]

 JS> to do it is by using calls to the DOS and BIOS interrupts 
 JS> rather than using direct screen writes.  Mind you, you don't 
 JS> want the synth to say EVERYTHING (constant time updates would 
 JS> be annoying, for instance); that's where programmers have to be 
 JS> insightful, clever, and intuitive.  I am rarely any of those, 
 JS> but I am, ocassionally, lucky. 

Jan,
     Ok, you've now heard from Eric Bohlman, a person who is pretty much
our technical guru around here, and who has written utilities for us
speech synthesizer users and is working on a quite innovative speech
program right now, and Jeff Salzberg, who is obviously being humble here
as he describes what he did in writing the two utilities he has.  Now,
let me give you the basic user perspective.
     First of all, I think we're talking about two things here.  You
originally said that you'd like to make your programs in general speech
compatible, and Jeff has given you the thing in a basic nutshell.  It
is, however, important to recognize that it is not only things like
clocks that you don't want spoken constantly with a bios write to the
screen, but even things like light bar menus and the such can be a pain
if all items are repeated every time they come up.  For example, in a
previous message I suggest to Hector Santos that were he to make the
Xpress reader program a bios writer in full it would be too noisy, and
for sure, a lot of programs fall under this category!  I find that as a
person gets more and more experienced with their speech program the
applications that write through the bios tend to appear noisier and
noisier, and for sure, this has been the case for me.  There are certain
kinds of output from programs that just has to be written through the
bios, and thus automatically spoken by any speech program, such as the
text being displayed from a file reader such as Jeff's SQWINT, but a
hard-fast rule of making a program a bios writer benefiting the speech
synthesizer user just can't be made.
     It's sort of one of those things you have to see to fully
understand, if you know what I mean!
     Also, I think your husband spoke of writing a speech program,
meaning a screen review program I suppose, and Eric suggested you look
at some of the demos available here.  I too think this would be a wise
idea, as I told you when we spoke, because frankly, I think the authors
of these things that participate here are downplaying what is involved
quite a bit, again I suppose as some act of humility!  Trust me Parkers,
we ain't talking just some simple device that does some sort of phonetic
translation and sends out to a com or parallel port!  Just take a look
at the documentation that comes with Doug Geoffray's Vocal-Eyes, or how
Eric is dealing with the speaking of windows in his Tinytalk, and I
think you'll understand what I'm trying to say.  I'm not trying to
discourage you in your desire to write a speech program, quite the
contrary, but I think it is pretty safe to say that not only is your
competition going to be tough, they are devoting countless hours into
their programs, and hey, there's still people like me out here bitching
about things we'd like to see done differently!
     The one thing you may wish to consider beyond the downloading of a
few demos from here is to attend a Visually Impaired Pittsburgh Area
Computer Enthusiast's meeting and seeing this stuff in action.  There
just happens to be a meeting this friday night at the University of
Pittsburgh's student union, and our own Jerry Berrier is going to do a
demo of Q&A.  He will most likely be using a speech program called
Softvert, but it will give you at least a taste of what any speech
program needs to do to be used by a blink.  As I said, I'm no
programmer, but one thing I can tell you is that the speech programmers
that are out there are no slouches, and unfortunately, I think their
rewards are far from numerous, at least in a commercial sense.

     I guess what was supposed to be an informational message to you and
your husband, Jan, became a "stroke your local BlinkAware programmer
message, but sincerely, when I sit back and think about it, I am
sincerely most appreciative of what these people have given me!  Were it
not for the work of people like Doug, Eric and Jeff, I'd probably still
be spending my nights in some sleezy bar downing beer after beer instead
of sitting at the keyboard posting messages!

Hmmm, before anybody else says it, that doesn't sound like too bad of an
idea to me either!
                                                        Willie
     

... BlinkTalk, Dr. Deb and Silver in Pittsburgh!

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!129!89.0!William.Wilson
Internet: William.Wilson@p0.f89.n129.z1.fidonet.org

Dave.Tanner@p210.f1.n273.z1.fidonet.org (Dave Tanner) (09/21/90)

Index Number: 10575

[This is from the Blink Talk Conference]

I liked your comments, but I would like to add a suggestion.  There
are a ton of speech software packages for MS DOS machines, some
good and some bad.  The problem is that we are very quickly
reaching the point that due to memory requirements of many of the
popular business software packages MS DOS will become an out moded
operating system.  What we really need is speech software for OS2
and UNIX.  We need them now.

Please no more MS DOS speech software, the market is flooded with
enough of them now to make it hard for any one of them to be
profitablel.  Somebody give us a good OS2 or Unix speech software.
     D. T.

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!273!1.210!Dave.Tanner
Internet: Dave.Tanner@p210.f1.n273.z1.fidonet.org

Al.Hoffman@p0.f143.n109.z1.fidonet.org (Al Hoffman) (09/21/90)

Index Number: 10593

[This is from the Blink Talk Conference]

Yay Dave:
     Talk with IBM---they are the most forward in the OS/2 market for 
voice as far as I know.  Sure, the program is in formative "testing," 
stages, but the concepts set forth with the Screen Reader apply to the 
OS/2 version.  Its a huge step forward, and when dealing with the OS/2 
stuff, right now you have to have a 386 at least, and around 10MB 
memory!  Yes tthats memory.  As for Unix, using simple ports to do the 
access is pretty good, but you are darned right, why isn't there some 
better Unix voice modules?  Maybe because there are so many Unix's. 
Pos-ix compatibility will be a boon for us, the government is supporting 
the Pos-ix compatible platform, so Unixisms will become more 
standardized.
     My roommate is messing around with Minix, a cheap clone or 
alternative of Unix.  It comes with source code, and good explanation 
material designed to teach Operating systems, Implementation and Design. 
 Its a promising pathway because the next version of Minix is touted to 
be Pos-ix compatible.
     What about Windows 3.0, its taking over now and haven't heard a 
word yet.

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!109!143.0!Al.Hoffman
Internet: Al.Hoffman@p0.f143.n109.z1.fidonet.org

Eric.Bohlman@p1.f778.n115.z1.fidonet.org (Eric Bohlman) (10/02/90)

Index Number: 10708

[This is from the Blink Talk Conference]

Actually, it looks like MS-DOS is going to be sticking around for quite a  
while, thanks to software known as DOS extenders.  These programs, which get  
linked into an application by the developer, allow the application to run in  
protected mode with access to at least 16 megs while still being able to run  
under DOS.  For example, version 3 of Lotus uses a DOS extender.  OS/2 really  
isn't catching on except as a host system for database servers (with the user  
workstations still running under MS-DOS).  Unix is continuing to grow, but  
unfortunately the main factor in its increasing acceptance as a PC operating  
system is going to be the development of bit-mapped graphical user  
interfaces.  What with Windows 3.0, this is going to become a problem for  
MS-DOS as well.

I have some thoughts on how a speech program could be hooked into Windows,  
though it would probably have to be written from the ground up and be  
Windows-specific.  I'd see this as a better starting step than going straight  
to a system for Unix (where the screen reader might soon become obsolete  
because of competing standards for user interfaces) or OS/2 Presentation  
Manager.
  

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!115!778.1!Eric.Bohlman
Internet: Eric.Bohlman@p1.f778.n115.z1.fidonet.org

Jeff.Salzberg@f729.n106.z1.fidonet.org (Jeff Salzberg) (10/10/90)

Index Number: 11051

[This is from the Blink Talk Conference]

 DS> I'm sure there are few blind users who will want or need to use 
 DS> Unix.

 Darrell, it may be a mistake to generalize; I, for one, would not like
 to assume that blind programmers, for example, will never find
 themselves woking in a Unix environment.

--
Uucp: ..!{decvax,oliveb}!bunker!hcap!hnews!106!729!Jeff.Salzberg
Internet: Jeff.Salzberg@f729.n106.z1.fidonet.org