my SoundCloud

Samshuijzen & Davies

Speak & Spell

Texas Instruments Speak & Spell:
Talk can be cheap (ZX-81)
Speak-2-Me-2 TM PC Card (TRS-80)
Speak uP Software (6502)
Links




Talk can be cheap

    © Copyright: L. Dighera, 1983 - 2010; All Rights Reserved
   Contact: LDighera@att.net


Speak & Spell, pc board and Sinclair

  • Talk can be cheap by Larry Dighera, published in Computers & Electronics, Februari 1983
  • Hundreds of words can be "spoken" by a Sinclair or Timex computer when adding an interface and a "Speak & Spell"

    TALK CAN BE CHEAP

  • A "talking" computer is not necessarily expensive - not if you mate one of the low-cost computers (Sinclair ZX-80, ZX-81, or Timex 1000) with Texas Instruments popularly priced "Speak & Spell" learning device. The combination give you several hundred clearly articulated words that expand the usefulness of the small computer. All you need to make it happen inexpensively is a simple interface and some software, all described here. Using these ideas, you might design a lowcost security/firealarm that vocalizes the nature of a problem ("Fire", "Theft", etc). You could also enhance your computer's portability by making its output audible instead of displaying it on a video screen; write educational programs with truly meaningful student/teacher interaction; spice up computer video games with synthesized speech; create useful programs for the visually impaired; etc. Here's how it can be done.

    System Overview.
  • The Speak & Spell consists of a pushbutton keyboard, microprocessor, display, ROM (contains speech data), voice synthesizer, and loudspeaker. A block diagram of the system is shown in Fig. 1. The microprocessor communicates with the speech units through a 6-line bus with CNTL 1, 2, 4, and 8 forming a 4-bit data bus and PDC (processor data clock) and CS (chip select) forming a control bus. The control commands used in the Speak & Spell are listed in Table I.
    The ROM contains the binary-coded speech data for synthesis of the spoken word. Each word has a specific starting address. When it is desired to output a particular word, the ROM address of the beginning of the word is sent to the voice synthesizer in five 4-bit nybbles, preceded by the LOAD ADDRESS (code
    2) command. The data is then clocked into the voice synthesizer by the PDC signal. Once the 5-nybble word address is loaded, READ ROM (code 8) and SPEAK (code 10) commands are sent to cause speech to be generated. If the BUSY SPEAKING? (code 14) command is now sent, the voice synthesizer will raise the CNTL 1 line high until it finishes vocalizing.
    A schematic of the interface circuit between the computer and Speak & Spell is shown in Fig. 2. The microprocessor in the Speak & Spell uses PMOS devices that operate at -21 V. (A typical I/O line is shown within the processor.) Because PMOS uses passive pulldown resistors, output current is limited. If ground potential is impressed on these lines, no harm will result, regardless of their state.
    The Z80A Parallel Input/Output (PlO) chip in the interface used for IC1 provides two bidirectional I/O ports: port A uses CMOS inverters (IC2) and open-collector pnp driver transistors (QI through Q6) as the outputs. The emitters of these drivers are connected to the + 5-volt line, which is also connected to the positive (COM) of the Speak & Spell. Thus, when a transistor is conducting, the S&S MPU "sees" a logic 1 (0 V); when the transistor is off, the PMOS pulldown resistors bring the line to logic 0.
    Port B of the PlO is used for input and receives its signal from R7 through R12, which limit the incoming signal from the Speak & Spell. In addition to interfacing with the Speak & Spell, with appropriate software, the PlO can propability for the computer, allowing use of joysticks and such functions as music, control, and process monitoring.

Fig. 1 Blockdiagram of the Speak & Spell with the interface and ZX-81-computer

Blockdiagram Sp & Sp, interface and ZX


    Construction.
  • The circuit can be built on a dual 22-contact card similar to the Radio Shack No. 276-154. If you use the same edge-contact arrangement as in the coniputer, except for the clock line, the card is compatible with ZX bus expansion cards currently available. Use of sockets for the ICs and a miniature phone jack to interconnect the power supply are recommended. The Speak & Spell draws about 200 mA and the interface about 70 mA at 5 V. If you are using a 16K RAM extension, the larger power supply can handle the extra load. Arrange switching so that both computer and interface power up at the same time. If you elect to use batteries in the Speak & Spell, disconnect the ground line by opening the jumper (see Fig. 2). Recheck the interface circuit before connecting it to the computer. To make the connections to the Speak & Spell, carefully remove the back plate and locate the 40-pin microprocessor immediately below the display. Pin 1 is in the lower righthand corner. Connections are made to pins 10 through 14, 36, 38, and the negative terminal of the bat- (Continued on page 47) (Continued from page 40) tery. Use fine insulated wire to make these connections and work very carefully to avoid creating short circuits. The nine leads can be terminated in a 14-pin DIP socket, with the cable brought out through the battery compartment. Slip a short length of heatshrinkable tubing over each wire before soldering it to the DIP socket. Then shrink it over the soldered connection. The interface is wired to the Z80 microprocessor in the computer as shown in Fig. 2.

Fig. 2 Schematic diagram, Table III Machine Code and Parts List

Schematic diagram Sp & Sp, Machine Code and Parts


    software.

  • Because it is necessary to supply the voice synthesizer with data at a rate beyond the capability of the BASIC interpreter built into the computer, machine language must be used during programming. The programming code given in Table II covers six program modules. The first, labelled PIO, is the initialization routine for the Z80 PIO chip (IC1). When power is first applied to the system, the PIO is in an inactive state and must be initialized (told what to do) before it can be used. The listing in Table II can be entered into the computer using the BASIC program shown in Table III. The three lines without numbers at the beginning of the program are keyed directly into the machine to reserve the top 6K of RAM for the remainder of the program. After entering Table III, run it and enter each number shown in the decimal code column of Table II, referring to the check sum as you go. If an error is detected, use B to move back. Moving forward without altering the data that has already been entered may be accomplished by entering S (for skip).

Table II-Machine Code List

Machine Code list


    Table I-voice synthesizer control commands

  • Code Use Input/Output
    0 RESET Input
    2 LOADADDRESS Input
    4 PLACE VOICE DATA Output
    ON BUS
    6 SPEAK SLOWLY Output
    8 READVOICEDATA Input
    FROM ROM
    10 SPEAK Output
    12 BRANCH Input
    14 BUSY SPEAKING? Output

    At this point, it is possible to test operation of the PlO by entering the following:

  • POKE 26624.62 ;LD A, data
    POKE 26625,0
    POKE 26626,211 ;OUT port A,A
    POKE 26627,1
    POKE 26628,201 ;return

    Now enter:

    1000 PRINT USR 16514
    1010 INPUT A
    1020 POKE 26625,A
    1030 PRINT USR 26624
    1040 GOTO 1OOO

Table IV-Basic Program ZX-Speak

Table IV, basic program


  • By entering a number between 0 and 63, the six low-order bits of port A are controlled. These can be metered at the outputs of IC2. After testing, delete the BASIC programs. At this point, the listing in Table II should still be in the machine; it can be SAVED on cassette for future use. Not all Speak & Spell ROMs are programmed with the same word addresses. Hence, it is necessary to construct a "word map" for your particular device. One way to fmd the starting address of a word would be to send the voice synthesizer successive addresses and note which produce usable speech output. However, this tedious method is not necessary since the interface can be used as a form of logic analyzer that allows you to monitor the bus and capture the addresses sent by the microprocessor. This can be accomplished by entering the BASIC program shown in Table IV. The REM at line 1 reminds you that the machine code of Table II should be in the machine.
    To locate the address of a particular word, use the DETERMINE WORD ADDRESS routine and press the Go key until you hear that word.
    Hit any key to start recording (which calls STODATA of Table II) and then operate the REPEAT key to put the address on the bus. The STODATA routine allows taking "snapshots" of the voice synthesizer bus at approximately 12-microsecond intervals and storing this data in the top 5K of RAM. (See RAM Memory Map in Table V.) This data can be graphically displayed via the LOGIC DISPLAY routine in Table IV. Successive frames can be viewed by hitting ENTER, or specific frames can be selected by hitting the appropriate key. You can also choose numerical readout by using the PRINT WORD ADDRESS portion of Table IV

    The machine-code module SPEAK (Table II) is the software driver for speech production. Because Speak & Spell uses CNTL 1, 2, 4, and 8 to turn on the display segments and convey data, there are always extraneous signals on the bus. This "noise" can be minimized by pressing ON, ON, GO. This leaves only the cursor on, which causes CNTL S to periodically go high. Because of this, SPEAK contains a trap that waits for the bus to clear before sending data. Once clear, five nybbles, stored in the 1K above RAMTOP, are clocked into the voice synthesizer. Then the READ ROM, SPEAK, and BUSY SPEAKING? control words are clocked in. When finished speaking, the voice synthesizer causes the CNTL 1 line to go low to allow the RESET control code to be clocked in. Finally, PIO port A is configured with all lines low via the OFF program module.
    PDC is the machine-code module that clocks in the data presented by SPEAK. When called, it waits approximately 124 microseconds, brings the processor data clock high for 124 microseconds, then holds the data for 124 Us before returning. The 124 Us timing is effected by the delay loop at 16645 of Table II.
    If sentences rather than individual words are required, RAM address 16542 can be POKEd with the location of the next word to be spoken, then SPEAK called again. This is repeated until all words are vocalized. It is possible to store more than 200, 5-nybble word addresses in the 1K space above RAMTOP.
    Operation of the BASIC program of Table IV is straightforward. You will be prompted whenever an input is required. To return to the menu, enter M. When your word map is complete, you can delete all but the REM statement containing the machine code and write your own programs for speech production. To output speech, POKE the addresses of the words you want spoken into the area above RAMTOP, by adding a loop to the SPEAK WORD routine (line 1400) and let the loop increment variable AS by five for each word. When all words are stored, delete all but the first REM statement. Then write a subroutine that calls PIO at 16514. Then, after Pokeing 16542 and 16543 with the location of the word to be spoken, call SPEAK at 16541. Or, if desired, you can arrange the words in the proper sequence; and, after calling SPEAK initially, call 16341 (SPEAK + 3) for the next word.

Table V-Ram Memory Map

Table V, Memory Map


    Conclusion.

  • Only the basics of using the Speak & Spell vocalizer with Sinclair and Timex computers have been discussed here. There are many things you can do with the system beyond what we've presented. For example, you can locate the addresses of individual word sounds (phonemes) contained in ROM and string them together to make words that don't exist in the ROM's vocabulary, making it possible to build an almost unlimited dictionary of words. You might trim the prefix from the word "anything" to obtain "thing" simply by locating and using the starting address of the suffix. Another approach to obtaining a larger vocabulary is by adding more ROMs to the system. Currently, as many as l6ROMs can be connected into the system, each individually accesssed through the address-decoded ROM chip select. Access to data output from the ROMs is available at the Speak & Spell's edge connector. The more you use the system, the more you're likely to learn about it. As you experiment with it, you may discover many features of the Speak & Spell we haven't covered here. You may even crack the word-encoding scheme.

I won't talk in class

I won't talk ....




Infosheet by PERCOM DATA COMPANY, INC.
Give your TRS-8O* computer the gift of speech.

"
Speak-2-Me-2 TM: The Inexpensive PC Card that Makes a TI Speak & Spell the Voice of Your Computer.

Speak-2-Me-2 TM

TRS-80, SP & SP and Interface


  • Install Speak-2-Me-2 TM in a Speak & Spell. Hook up your computer. And like a transplanted larynx Speak & Spell becomes your computer's own voice. Now you can add the ultimate to your business and game programs: the incredible dimension of near-human speech.
  • Listen as your system instructs, commands, implores as it articulates phrases and whole sentences composed from the extensive vocabulary of Speak & Spell. And think of the applications! In the classroom, for example, suggesting, persuading . . . praising to reward a correct response.Or in a manufacturing environment where clear, crisp commands prompt and warn. Or maybe in a customer-stopping voice-visual display? And of course the possibilities for enlivening your computer games with snappy remarks are endless.
  • The "built-in" vocabulary of a Speak & Spell includes well over 200 words plus phrases such as 'say it' and "you win" as well as letter and number pronunciations. Moreover, Speak & Spell is designed to accommodate snap-in speech modules that enhance the built-in word list. The speech driver program provided with Speak-2-Me-2 TM lets you inject any of these expressions, or whole sentences composed of Speak & SpelI vocabulary words, at any point in your application program.
  • But that's not all. An optional advanced speech driver lets you create new, non-vocabulary words by joining parts of words from the Speak & SpelIt word list. For example, "Percom" may be formed from the phrase perfect score and the word comfort: You can also modulate the speed that words are spoken with the advanced driver. And as a bonus, the advanced speech driver diskette includes eight talking game programs. Just a sample of what can be done when your computer talks! The advanced speech driver works with the TRS-80* computer.
  • The bottom line? For a small fraction of what you would otherwise have to pay you can add not just speech capability but an exceptional, near-human sounding voice to that dumb box of electronics called a computer.

    Speech driver software

  • Listed in the Speak-2-Me-2 TM users manual is a 28-line Level II BASIC program for the TRS-80* computer that installs a utility-level speech driver as a Disk BASIC user (USR) function. Key in this short program and you can output whole sentences with a few BASIC lines. However, for more versatility in speech. composition, we also offer an advanced speech driver (ASD). This optional, self-loading program, which is supplied on diskette, extends a Speak & SpelIt vocabulary by allowing you to form words from the word parts of the Speak & Spell word lists. The ASD program also lets you output words at half the normal enunciation speed. Besides these functions, the ASD provides a speech driver comparable to the utility-level driver installed by the BASIC program listed in the users manual. All of the ASD routines are implemented as callable drivers, that is, control is passed from your Level II BASIC application program via a user (USR) function.

    Real word games

  • Included on the ASD diskette are eight "talking" games. There's the old standby, Hangman. Games of chance A perfidious SimonSays. And more. Still, these are just a hint of the potential of your "talking computer."

    You install it. Or, we do.

  • The Speak-2-Me-2 TM printed circuit module installs in the battery compartment of a Speak & Spell, and some user modification of the Speak & Spell is required. Although the installation is straight­forward, if you are not "into" electronics, or don't have a friend who is, we will install a Speak-2-Me-2 TM in a Speak & Spell that you provide. The Speak & Spell must be unmodified and functioning properly. The installation fee is $25.

    Includes interconnecting cable

  • An interconnecting cable for a TRS­80* Model I or Model III computer is supplied with Speak-2-Me-2 TM. The cable plugs into the Speak-2-Me-2 TM module and exits the Speak & Spell via the battery access opening it connects to the cornputer. The Speak-2-Me-2 TM interconnecting cable may be modified for other computers

    The price is right

  • Speak-2-Me-2 TM costs only $69.95, including the interconnecting cable and a comprehensive users manual with BASIC source listings of the utility-level speech driver and application examples.The price does not include a Speak & Spell, which you must furnish, and since the Speak-2-Me-2 TM module installs in the Speak & Spell battery compartment, you also must provide an external power source. Most calculator power paks are suitable. Or, you can use a battery.The advanced speech driven games diskette sells for just $29.95.

    System Requirements

  • To use the Speak-2-Me-2 TM as configured, you will need a TRS~80* Model I computer with Level II BASIC, at least 4-Kbytes of memory and an Expansion Interface, or a similarly configured TRS~80* Model III computer (interface is included).

Sp & SP

Speak & Spell and pc board




Speak uP Software

Speak uP Software

John P. Cater


    Dear Computerist,
  • Remember the HAL-9000 in Kubrik's "2001 - A SPACE ODDESEY" when it sang "Daisy" (Bicycle Built for Two)? Have you ever heard that again on a computer? No? That's because the technology for independently generating speech and musical pitch has been beyond the capabilities of even the most advanced computers.

  • The capabilities of the TI "Speak and Spell" , and Speak Up Software give your computer not only the ability of speech, but also (in a fashion), the musical qualities of song which you can hear on the demonstration cassette. And while you may not really be interested in making your home computer sing, the important fact is that you have independent control of pitch and voice. This allows you complete control over intonation and voice pitch.
  • The method of speech generation in the Speak Up System is phonetic speech synthesis. This means you type in ASCII symbols corresponding to the sounds of speech. An example is given in the letterhead logo: To make the computer say "Speak" you simply type in S.PEE.K on your keyboard.
  • Speak Up Software does not now sell any hardware for this system. This hardware may be purchased from:
  • These companies supply the necessary hardware to allow your Speak Up Software to generate phonetically syntbesized speech. Memory requirements for the Speak Up Software are about 2K bytes of RAM. This includes all phonetic storage.and the phonetic drivers. These may be accessed through your own machine language programs or BASIC.

Hardware

Hardware


  • If you're interested in hearing phonetic speech by LPC synthesis, send $4.95 to Speak Up Software for the demonstration cassette. Programs are currently available for 6502 systems and in the near future for the TRS-80 . Updates will be published on the TRS-80** program status.
  • Act now to get in on the ground floor of Linear Predictive Coding phonetically synthesized speech. Your computer will thank you for the gift of speech!
* Trademark of Texas Instruments
** Trademark of Radio Shack
Comments