Texas Instruments LPC Speech Chips

From Wikipedia, the free encyclopedia

The Texas Instruments LPC Speech Chips are a series of speech synthesizer DSP ICs created by Texas Instruments beginning in 1978. They continued to be developed and marketed for many years, though the speech department moved around several times within TI, until finally their rights were sold to Sensory Inc. sometime around 2002, and the speech department dissolved. [1]

Contents

[edit] Theory

Speech data is stored through linear predictive coding (LPC), where words are created by a lattice filter, selectably fed by either an excitation rom or a LFSR (linear feedback shift register) noise generator. Linear predictive coding achieves a vast reduction in data volume needed to recreate intelligible speech data.

[edit] History

The TMC0280 was the first self-contained LPC speech synthesizer IC ever made. It was designed for Texas Instruments by George Lawrence "Larry" Brantingham, Paul S. Breedlove, Richard H. Wiggins, and Gene A. Frantz[2] and its silicon was laid out by Larry Brantingham.[1] The chip was designed for the 'Spelling Bee' project at TI, which later became the Speak & Spell.[1] A speech-less 'Spelling B' was released at the same time as the Speak & Spell.[3]

All TI LPC speech chips until the TSP50cxx series used PMOS architecture, and LPC-10 encoding in a special TI-specific format. [4] Chips in the TI LPC speech series were labeled as TMCxxxx or CDxxxx when used by TI's consumer product division, or labeled as TMS5xxx (later TSP5xxx) when sold to 3rd parties.

[edit] TI LPC Speech chip family:

1978:

  • TMS5100 (AKA CD2801 AKA TMC0281, sometimes ?incorrectly? referred to as TMC0280): Used a custom 4-bit serial interface using TMS6100 or TMS6125 mask rom ICs; used on the original Speak & Spell and its derivatives (i.e. Speak & Math, Speak & Read, Touch & Tell, etc).[5] It was also possibly used on the Byron Petite Electronic Talking Typewriter[6][1] toy (though it may have been misremembered and the toy may actually use a TMS5110A).

1980?:

  • TMS5110/TMS5110A: Newer versions of TMS5100, pin compatible; used on two home computer products (source? names?). It was used on the arcade game Bagman by Valadion Automation, and on the arcade game A.D. 2083 by Midcoin. It also possibly may be used instead of the TMS5100 on the Byron Petite Electronic Talking Typewriter toy.

1981?:

  • TMS5200 (AKA TMC0285 AKA CD2805E): Added 8-bit parallel FIFO interface; used on the 4th generation Bally pinball tables' Squawk and Talk speech board (part number AS-2518-61), on the Apple II Echo2 card, on some (earlier) TI 99/4A speech modules, and on the Zaccaria arcade game 'Money Money'.
  • TMS5220: Bug-fixed version of the TMS5200, pin-compatible; used in the IBM PS/2 Speech Adaptor, on some (later) TI 99/4A speech modules, the BBC Micro, and in several Atari arcade games in the mid 1980s, most notably Gauntlet.

1983:

  • TMS5220C (later TSP5220CNL): has a single new opcode added to the parallel FIFO interface to control speech rate; otherwise identical, pin-compatible, and a drop-in replacement to the TMS5220.

1985 and onward:

  • TSP50cxx series: Later CMOS speech chips, all but one use a different encoding (called 'D6') than the TMS5220 did. Some later ones use LPC-12 instead of LPC-10. The TI Consumer product division versions of the TMP50c40 mcu (which combined a TSP50c40 and a simple processor) were named CM54129/CM54169 for the speak&music. [5]

The companion devices to ALL versions of the speech chip were the custom 4-bit-interfaced 128Kbit (16KiB) TMS6100NL (AKA TMC035x where x is NOT 0) and 16?Kbit (2KiB) TMS6125NL (aka CD26xx) read-only memories which were mask programmed with words required for a specific product. [4] ALL versions of the chip until the TSP50cxx series support them. Later versions of the TMS6100 with TMC0350 or CD23xx labels were used in the '81 version of the Speak&Spell and the other Speak&<etc> toys, which held twice as much data as a normal TMS6100 did (256Kbit/32Kib instead of the usual 128Kbit/16Kib) [5]

The TMS5200 appears to be identical to the TMS5220 in operation, but it's voice output sounds rather different and more distorted. According to the MAME tms5220.c driver, the tmc0285/tms5200 has a mask bug where it incorrectly uses the L3 LPC coefficient when it should use L4. Apparently the TI 99/4A sounds were encoded to work around this problem, and hence they sound weird when played on a TMS5220 since they are meant for the (buggy) TMS5200.

[edit] References:

  1. ^ a b c d ftp://ftp.whtech.com/pc%20utilities/qboxpro.zip
  2. ^ http://www.mindspring.com/~ssshp/ssshp_cd/ss_ti.htm
  3. ^ http://www.datamath.org/Edu/SpellingB.htm
  4. ^ a b http://nouspikel.group.shef.ac.uk//ti99/speech.htm
  5. ^ a b c http://www.datamath.org/Album_Speech.htm
  6. ^ http://www.atarimagazines.com/creative/v9n8/58_Petite_electronic_talking.php
Additional points of interest

ftp://ftp.whtech.com/datasheets%20%26%20manuals/TMS5220.PDF - TMS5220 datasheet