GB2077018A - A talking electronic apparatus - Google Patents
A talking electronic apparatus Download PDFInfo
- Publication number
- GB2077018A GB2077018A GB8109731A GB8109731A GB2077018A GB 2077018 A GB2077018 A GB 2077018A GB 8109731 A GB8109731 A GB 8109731A GB 8109731 A GB8109731 A GB 8109731A GB 2077018 A GB2077018 A GB 2077018A
- Authority
- GB
- United Kingdom
- Prior art keywords
- speech
- operator
- parameter
- data
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000004044 response Effects 0.000 claims description 65
- 239000004065 semiconductor Substances 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- 101100234822 Caenorhabditis elegans ltd-1 gene Proteins 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 51
- 239000000872 buffer Substances 0.000 description 30
- 230000006870 function Effects 0.000 description 28
- 239000002131 composite material Substances 0.000 description 25
- 230000005284 excitation Effects 0.000 description 24
- 238000012546 transfer Methods 0.000 description 23
- 238000000034 method Methods 0.000 description 15
- 230000000881 depressing effect Effects 0.000 description 11
- 101100171060 Caenorhabditis elegans div-1 gene Proteins 0.000 description 10
- 239000004020 conductor Substances 0.000 description 10
- 238000012360 testing method Methods 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 8
- 238000013144 data compression Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 102100034033 Alpha-adducin Human genes 0.000 description 7
- 102100031699 Choline transporter-like protein 1 Human genes 0.000 description 7
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 7
- 101000940912 Homo sapiens Choline transporter-like protein 1 Proteins 0.000 description 7
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 7
- 230000000994 depressogenic effect Effects 0.000 description 7
- 125000000524 functional group Chemical group 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 239000002184 metal Substances 0.000 description 5
- 229910052751 metal Inorganic materials 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 102100024348 Beta-adducin Human genes 0.000 description 3
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000009792 diffusion process Methods 0.000 description 3
- 101710190443 Acetyl-CoA carboxylase 1 Proteins 0.000 description 2
- 102100021334 Bcl-2-related protein A1 Human genes 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- WQAQPCDUOCURKW-UHFFFAOYSA-N butanethiol Chemical compound CCCCS WQAQPCDUOCURKW-UHFFFAOYSA-N 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000010894 electron beam technology Methods 0.000 description 2
- 230000002401 inhibitory effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 235000014347 soups Nutrition 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 1
- 101000963440 Bacillus subtilis (strain 168) Biotin carboxylase 1 Proteins 0.000 description 1
- 101100162703 Caenorhabditis elegans ani-1 gene Proteins 0.000 description 1
- 101001087029 Chironomus tentans 60S ribosomal protein L15 Proteins 0.000 description 1
- 102100035954 Choline transporter-like protein 2 Human genes 0.000 description 1
- 101000948115 Homo sapiens Choline transporter-like protein 2 Proteins 0.000 description 1
- 101000725916 Homo sapiens Putative tumor antigen NA88-A Proteins 0.000 description 1
- 102100027596 Putative tumor antigen NA88-A Human genes 0.000 description 1
- 101000724270 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L15-A Proteins 0.000 description 1
- 101000724281 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L15-B Proteins 0.000 description 1
- 101000751147 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L19-A Proteins 0.000 description 1
- 101000751149 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) 60S ribosomal protein L19-B Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- FTGYKWAHGPIJIT-UHFFFAOYSA-N hydron;1-[2-[(2-hydroxy-3-phenoxypropyl)-methylamino]ethyl-methylamino]-3-phenoxypropan-2-ol;dichloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CN(C)CCN(C)CC(O)COC1=CC=CC=C1 FTGYKWAHGPIJIT-UHFFFAOYSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- LXBIFEVIBLOUGU-DPYQTVNSSA-N migalastat Chemical group OC[C@H]1NC[C@H](O)[C@@H](O)[C@H]1O LXBIFEVIBLOUGU-DPYQTVNSSA-N 0.000 description 1
- 239000002991 molded plastic Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003134 recirculating effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B7/00—Electrically-operated teaching apparatus or devices working with questions and answers
- G09B7/02—Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
- G09B7/04—Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student characterised by modifying the teaching programme in response to a wrong answer, e.g. repeating the question, supplying a further explanation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G10L13/047—Architecture of speech synthesisers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
A talking electronic apparatus comprises a memory storing question data representing a plurality of questions and answer data representing a plurality of respective answers to the questions; means, including a speech synthesizer, for randomly selecting an item of question data representing a given question from the memory and for converting it into audible human speech; means, including a keyboard, for receiving an answer to the given question entered by a user and for comparing it with the appropriate item of answer data from the memory; and means for indicating to the user whether the answer is correct or not. <IMAGE>
Description
1 GB 2 077 018A 1
SPECIFICATION
A talking electronic apparatus BACKGROUND OF THE INVENTION
This invention relates to a talking electronic apparatus, In the prior art various electronic teaching devices and games are known. For example, small electronic learning aid for teaching arithmetic to children using randomly selected problems is disclosed in U. S. Patent 3, 584,398. Further, teaching machines are known which rely on traditional movie film or video tape techniques for presenting both audio and visual 10 information to a student and would include means for posing questions to the student and receiving and correcting answers from the student. A proposal for such an automatic teaching device is found in the Paul K, Weimer article in "IRE Transactions on Education" of June 1958. It should be evident however, that a teaching machine employing movie projectors or video tape machines is bulky, heavy and fairly expensive to manufacture. Furthermore, it is desirable 15 to at least partially randomize the questions posed by the learning aid; this function is, of course, difficult to implement using conventional audio or video tape or movie projections.
The prior art also suggests various techniques for synthesizing human speech from digital data. For instance, some of the techniques used are briefly described in "Voice Signals: Bit by Bit" at pages 26-34 of the October 1973 issue of IEEE Spectrum. An important technique for 20 synthesizing human speech, and the technique used by the speech synthesizer chip described herein, is called linear predictive coding. For a detailed discussion of this technique, see "Speech Analysis and Synthesis by Inear Prediction of the Speech Wave" by B. S. Atal and Suzanne L. Hanauer which appears at pp. 637-50 of Volume 50, number 2 (part 2) of the Journal of the Acoustical Society of America.
in the U.S. Patent Application S/N 807, 46 1, U.K. 20115/78, entitled "Lattice Filter for Waveform or Speech Synthesis Circuits Using Digital Logics" describes a lattice filter capable of being implemented on a single semiconductor chip. The speech synthesis chip described herein makes use of the lattice filter described in the aforementioned U.S. Patent Application.
It is an object of the invention to provide an improved system for generating synthetic human 30 speech.
According to the present invention there is provided a talking electronic apparatus comprising means for storing digital speech data representing a plurality of requests for an operator response and digital control data representative of appropriate operator responses corresponding to said plurality of requests; speech synthesizer means for converting said digital speech data 35 into audible speech; means for randomly accessing a selected portion of said digital speech data; means for transferring said selected portion of said speech data to said speech synthsizer means to produce a randomly selected audible request; operator input means for receiving an operator response to said randomly selected audible request; and means responsive to said digital control data and said operator response to said randomly selected audible request for 40 informing an operator as to the appropriateness of said operator response.
BRIEF DESCRIPTION OF THE DRAWINGS The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objects and advantages thereof, will be best understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: Figure 1 is a front view of a talking learning aid; Figure 2 depicts the segment details of the display; 50 Figure 3 is a block diagram of the major components preferably making up the learning aid; 50 Figures 4a and 4b form a composite block diagram (when placed side by side) of the speech synthesizer chip; Figure 5 is a timing diagram of various timing signals preferably used on the synthesizer; Figure 6 pictorially shows the data compression scheme preferably used to reduce the data rate required by the synthesizer; Figures 7a and 7b form a composite logic diagram of the synthesizer's timing circuits; Figures 8a, 8b and 8c form a composite logic diagram of the synthesizer's ROM /Controller interface logics; Figures 9a and 9b form a composite logic diagram of the iterpolator logics; Figures 1 Oa- 1 Ob form a composite logic diagram of the array multiplier; Figures 1 la and 1 1b form a composite logic diagram of the speech synthesizer's lattice filter and excitation generator; Figures 12a and 12b are schematic diagrams of the parameter RAM; Figures 13a and 13b are schematic diagrams of the parameter ROM; Figures 14a- 14b form a composite diagram of the chirp ROM; 2 GB 2 077 018A 2 Figures 15a- 15b form a composite block diagram of a microprocessor which may be utilized as the controller; Figures 16a and 16b form a composite logic diagram of the segment decoder of the microprocessor; Figure 17 depicts the digit output buffers and digit registers of the microprocessor; Figure 18 depicts the KB selector circuit of the microprocessor; Figure 19 is a block diagram of ROM's 12a, 12b, 13a or 13b; Figures 20a-20e form a composite logic diagram of the control logic for ROMs 1 2a, 1 2b, 1 3a or 1 3b; Figures 2 la and 2 1b form a composite logic diagram of the X and Y address decoders and the array of memory cells; Figure 22 is a plan view of the synthesizer chip herein described, showing the metal mask or metal pattern, enlarged about fifty times.
GENERAL DESCRIPTION
Fig. 1 is a front view of a talking learning aid of the type which may embody the present invention. The learning aid includes a case 1 which incloses electronic circuits preferably implemented on integrated circuits (not shown in this figure). These circuits are coupled to a display 2, a keyboard 3 and a speaker 4 or other voice coil means (also not shown in Fig. 1).
However, the openings 4a are shown behind which speaker 4 is preferably mounted. The display is preferably of the vacuum fluorescent type in the embodiment to be described; however, it will be appreciated by those skilled in the art that other display means, such as arrays of light emitting diodes, liquid crystal devices, electrochromic devices, gas discharge devices or other displays means alternatively may be used if desired. Also, in this embodiment, as a matter of design choice, the display has eight character positions. The keyboard 3 of the 25 learning aid of this embodiment has forty key switch positions, twenty- six of which are used to input the letters of the alphabet into the learning aid. Of the remaining fourteen key switch positions, five are utilized for mode keys (on/spelling mode, learn mode, word guesser game mode, code breaker mode and random letter mode), another five are used to control functions performed by the learning aid in its modes (enter, say again, replay, erase and go) and the remaining four are used for an apostrophe key, a blank space key, a word list select key and an off key. The words spoken by the learning aid, as well as the correct spelling of those words, are stored as digital information in one or more Read-Only-Memories.
The learning aid depicted in Fig. 1 may be battery powered or powered from a source of external electrical power, as desired. The case is preferably made from injection molded plastic 35 and the keyboard switches may be provided by two 5 by 8 arrays of key switches of the type disclosed in U.S. Patent 4,005,293, if desired. Of course, other types of case materials or switches alternatively may be used.
Having described the outward appearance'Of the learning aid, the modes in which the learning aid may operate will be first described followed by a description of the block diagrams 40 and detailed logic diagrams of the various electronic circuits used to implement the learning aid of Fig. 1.
MODES OF OPERATION The learning aid of this embodiment has five modes of operation which will be subsequently 45 described. It will be evident to those skilled in the art, however, that these modes of operation may be modified, reduced in number or expanded in capability. As a matter of design choice, the present talking and learning aid is provided with the following modes of operation.
The first mode, the spelling mode, is automatically entered when the---onkey is depressed. In the spelling mode the learning aid randomly selects ten words from a selected word list and at a selected difficulty category with the selected word list. The word list may be changed by depressing the---wordlist select- key which is coupled to a software implemented flip flop circuit which flips each time the -word list select- key is depressed. The word list select flip flop then determines, as will be seen, which pair of read-only-memories from which the ten words will be randomly selected. Each word list preferably includes words arranged in four levels of difficulty. This embodiment of the learning automatically enters the least difficult level of difficulty. The fact that the least difficulty level has been selected is shown by displaying ---SPELLA- in display 2. The level difficulty may be increased by depressing the B, C or D keys, and display 2 will show, in response,---SPELL13-,---SPELLW, or---SPELLD-, respectively.
Having selected the word list and level difficulty, the---go-key is depressed upon which the 60 learning aid commences to randomly select ten words and to say the word--- spell-followed by the first randomly selected word. A dash, that being segment D in display 2 (Fig. 2), comes up in the left hand most character position. At this time the student may either (1) enter his or her spelling of the word and then.depress the---enter-key or (2) depress the-- -sayagain- key. The student may also depress the---erase-key if he or she realizes that the spelling being inputted is 65 3 GB2077018A 3 incorrect before having depressed the "enter" key; the student may then again try to input the correct spelling. The "say again" key causes the word to be spoken by the learning aid again. In some embodiments a subsequent depression of the "say again" key may cause the selected word to be repeated once more, however, then at a slower rate. As the student enters his or her spelling of the word using the alphabet keys at keyboard 3, the inputted spelling appears at display 2 and the shifts from left to right as the letters are inputted. Following the depression the "enter" key, the learning aid compares the student's spelling with a correct spelling, which is stored in one of the Read-Only-Memories, and verbally indicates to the student whether the student spelling was correct or incorrect. The verbal response is also stored as digital information in a Read-Only-Memory. Of course, a visual response may likewise or alternatively 10 be used, if desired. In this embodiment the student is given two opportunities to spell the word correctly and if the student has still failed to correctly spell the word, the learning aid then verbally (via speaker 4) and visually (via display 2) spells the word for the student and goes on to the next word from the group of ten randomly selected words.
At the end the test of the spelling of the ten randomly selected words, the learning aid then 15 verbally and visually indicates the number of right and wrong answers. Further, in order to give the student additional reinforcement, the learning aid preferably gives a audible response which is a function of the correctness of the spellings. In this embodiment the learning aid plays a tune, the number of notes of which is a function of the correctness of the student's spellings for the group of selected words. The use of the "enter", "say again", "erase", and "go" function 20 keys has just been described with reference to the spelling mode of operation. There is an additional function key, "replay", whose function has not yet been described. The "replay" key causes the learning aid to repeat the group of ten randomly selected words after the group has been completed or causes the learning aid to start over with the first word of the group of ten words if it is depressed during.the progression through the group. Alternatively, at the end of a 25 group of ten words, the student may depress the "go" which initiates the random selection of another group of ten words from the selected word list.
An exemplary set of spell mode problems is shown in Table 1; exemplary key depressions, which a student might make during the exemplary set of problems, are listed along with the responses made by learning aid at display 2 and speaker 4.
The learn mode is entered by depressing the "learn" key. In the learn mode, after the "go" key is depressed the learning aid randomly selects ten words from the selected word list at the selected difficulty level and then proceeds to display the first randomly selected word at display 2 and approximately one second later to speak "say it". Approximately two seconds thereafter the learning proceeds to pronounce the word shown in display 2. During this interval the student is given the opportunity to try to pronounce the word spelled at display 2; the learning aid then goes on to demonstrate how the word should be pronounced. After going through the ten randomly selected words the learning automatically returns to the aforementioned spell mode, but the ten words tested during the spell mode are the ten words previously presented during the learn mode. While in the learn mode the "say again", "erase", "repeat" and 40 11 enter" keys are invalid. The difficulty level is selected as in the spelling mode, but in the learn mode the learning aid displays the various levels as "SAY IT A", "SAY IT B", etc. Depressing the "go" key causes the learning aid to select another group of ten words in the learn mode. An exemplary set of learn mode problems are set forth in Table 11.
The word guesser mode is entered by depressing the "word guesser" mode key. In the word 45 guesser mode the learning aid randomly slelected a word from the selected word list and displays dashes in a number of character positions at display 2, the number of character positions corresponding to the number of letters in the randomly selected word. Thus, if the learning aid randomly selects the word "course" for instance, then the dashes will appear in six of the eight character positions in display 2, starting with the left most position and proceeding 50 to the right for six character positions. The dash is shown in the characters of 1he display by energizing the D segments in those character positions (see Fig. 2). The child may then proceed to enter his or her guesses of the letters in the randomly selected word by depressing the letter keys at keyboard 2. For a correct choice, the learning aid gives an audible response of four tones and shows every place the chosen letter occurs inthe randomly selected word. Once letters 55 have been correctly guessed, they remain in the display until the end of the game. For incorrect guesses the learning aid preferably makes no response, but may alternatively say something like "incorrect guess." In this embodiment the child is given six incorrect guesses. Upon the seventh incorrect guess the learning says "I win". On the other hand, if the child correctly guesses all the letters before making seven incorrect guesses the learning aid speaks "you win" 60 and gives an audible response of four tones. Thus in the word guesser mode, the learning aid permits the child to play the traditional spelling game known as "hangman" either by himself or herself or along with other children. Exemplary word guesser problems are set forth in Table Ill.
The disclosed learning aid has another mode of operation known as "code breaker" which is entered by depressing the "code breaker" mode key. In this mode the child may enter any word 65 4 GB2077018A 4 of his or her choice and upon depressing the "enter key" the letters in the display are exchanged according to a predetermined code. Thus, in the code breaker mode the learning aid may be used to encode words selected by the child. Further in the code breaker mode the the learning aid may be used to decode the encoded words by entering the encoded word and 5 depressing the "enter key".
Another mode with which the learning aid may be provided is the "random letter" mode which is entered by depressing the "random letter" key. In the random letter mode the learning automatically displays in response to depression of the "go" key a randomly selected letter of the alphabet in the fist character position of display 2. The letters of the alphabet occur in approximate proportion to as they occur in the english language; thus, the more commonly 10 letters are displayed more frequently than uncommonly used letters. If the "go" key is again depressed then another randomly selected letter is displayed in the first character position and the previously selected moves right to the second character position and so forth in response to further depressions of the "random letter" key.
Referring now to Fig. 2, there is shown a preferred arrangement of the segments of display 2. 15 Display 2 preferably has eight character positions each of which is provided by a sixteen segment character has fourteen segments arranged somewhat like a "British flag" with an additional two segments for an apostrophe and a decimal point. In Fig. 2, segments a-n are arranged more or less in the shape of the "British flag" while segment ap provides apostrophe and segment dpt provides a decimal point. Segment conductors Sa through Sri, Sdp and Sap 20 are respectively coupled to segments a through n, dpt and at in the eight character positions of display 2. Also, for each character position, there is a common electrode, labeled as D 1 -D8.
When display 2 is provided by a vacuum fluorescent display device, the segments electrodes are provided anodes in the vacuum fluorescent display device while each common electrode is preferably provided by a grid associated with each character position. By appropriately multiplexing signals on the segment conductors (Sa-Sn, Sdpt and Sap) with signals on the character common electrodes (131 -D8) the display may be caused to show the various letters of the alphabet, a period, and an apostrophe and various numerals. For instance, by appropriately energizing segment conductors A,B,C,E and F when character common electrode D1 is appropriately energized the letter A is actuated in the first character position of display 2.
Further, by appropriate strobing segment conductors A,B,C,D,H,I, and J when character common electrode D2 is appropriately energized, the letter B is caused to be actuated in the second character position of display 2. It should be evident to those skilled in the art that the other letters of the alphabet as well as the apostrophe, period and numerals may be formed by appropriate energization of appropriate segment conductors and common electrodes. In opera tion, the character common electrodes D 1 -D8 are sequentially energized with an appropriate voltage potential as selected segment conductors are energized to their appropriate voltage potential to produce a display of characters at display 2. Of course, the segment electrodes could alternatively be sequentially energized as the digit electrodes are selectively energized in producing a display at display 2.
BLOCK DIAGRAM OF THE LEARNING AID Fig. 3 is a block diagram of the major components making up the disclosed embodiment of a speaking learning aid. The electronics of the disclosed learning aid may be divided into three major functional groups, one being a controller 11, another being a speech synthesizer 10, and 45 another being a read-only-memory (ROM) 12. In the embodiment disclosed, these major electronic functional groups are each integrated on separate integrated circuit chips except for the ROM functional group which is 10 integrated onto two integrated circuit chips. Thus, the speech synthesizer 10 is preferably implemented on a single integrated circuit denoted by the box labeled 10 in Fig. 3 while the controller is integrated on a separate integrated circuit denoted by a box 11 in Fig. 3. The word list for the learning aid is stored in the ROM functional group 12, which stores both the correct spellings of the words as well as frames of digital coding which are converted by speech synthesizer 10 to an electrical signal which drives speaker or other voice coil means 4. In the embodiment disclosed, ROM functional group 12 is preferably provided with 262,144 bits of storage. As a matter of design choice, the 262,144 20 bits of data is divided between two separate readonly-memory chips, represented in Fig. 3 at numerals 1 2a and 12b. The memory capaciy of ROM functional group 12 is a design choice; however, using the data compression features which are subsequently discussed with reference to Fig. 6, the 262,144 bits of read-only-memory may be used to store on the order of 250 words of spoken speech and their correct spellings as well as various tones, praise phrases and 60 correction phrases spoken by the learning aid.
As is discussed with reference to Fig. 1, the---wordlist select- key causes the learning aid to select words from another word list. In Fig. 3, the basic word list used with the learning aid is stored in ROMs 12a and 12b-along with their spellings and appropriate phraseology which the learning aid speaks during its different modes of operation. The second word list, which may be 65 GB2077018A selected by depressing the "word list select" key, is preferably stored in another pair of ROMs 1 3a and 1 3b. In Fig. 3 these are depicted by dashed lines because these read-only-memories are preferably plugged into the learning aid by a person using the system (of course, when children use the system it is preferable that an adult change the read-only- memories since children may not have the required manual dexterity) rather than normally packaged with the learning aid. In this manner many different "libraries" of word lists may be made available for use with the learning aid.
Of course, the number of chips on which the learning aid is implemented is a design choice and as large scale integration techniques are improved (using electron beam etching and other techniques), the number of integrated circuit chips may be reduced from four to as few as a 10 single chip.
Synthesizer chip 10 is interconnected with the read-only-memories via data path 15 and is interconnected with controller 11 via data path 16. The controller 11, which may be provided by an appropriately programmed microprocessor type device, preferably actuates display 2 by providing segment information on segment conductors Sa-Sn, Sdpt and Sap along with 15 character position information on connectors D 1 -D8. In the embodiment herein disclosed, controller 11 preferably also provides filament power to display 2 when a vacuum fluorescent device is used therefor. Of course, if a liquid crystal, electrochromographic, light emitting diode or gas discharge to display were used such filament power would not be required.
Controller 11 also scans keyboard 3 for detecting key depressions thereat. Keyboard 3 has 20 forty switch positions which are shown in representative form in Fig. 3, the switch locations occurring where the conductors cross within the dashed line at numeral 3 in Fig. 3. A switch closure causes the conductors shown as crossing in Fig. 3 to be coupled together. At numeral 3' the switch occuring at a crossing of conductors at numeral 3 is shown in detail. In addition to actuating display 2 and sensing key depression at keyboard 3, controller 11 also perform such 25 functions as providing addresses for addressing ROMs 1 2a and 1 2b (via synthesizer 10), comparing the correct spellings from ROMs 1 2a or 1 2b with spellings inputted by a student at keyboard 3, and other such functions which will become apparent. Addresses from controller 11 are transmitted to ROMs 1 2a-b by synthesizer 10 because, as will be seen, synthesizer 10 preferably is equipped with buffers capable of addressing a plurality of read-only-memories.
Preferably, only one of the pairs of ROMs will output information in response to this addressing because of a chip select signal which is transmitted from synthesizer 10 to all the Read-Only Memories. Controller 11, in this embodiment, transmits addresses to the ROMs via synthesizer so that only synthesizer 10 output buffers need be sized to transmit addresses to a plurality of ROMs simultaneously. Of course, controller 11 output buffers could also be sized to transmit 35 information to a plurality of read-only-memories simultaneously and thus in certain embodiments it may be desirable to also couple controller 11 directly to the ROMs.
As will be seen, synthesizer chip 10 synthesizes human speech or other sounds according to frames of data stored in ROMs 1 2a-1 2b or 1 3a- 1 3b. The synthesizer 10 employs a digital filter of the type described in U.K. Patent Application No. 20115/78, filed 1 7th May 1978. 40 The following discussion of the speech synthesizer assumes thai the reader has a basic understanding of the operation of the lattice filter described in UX Patent Application No.
20115/78; therefore, the reader is encouraged to read that patent before delving into the following detailed discussion of the speech synthesizer. As will also be seen, synthesizer 10 also includes a digital to analog (D to A) converter for converting the digital output from the lattice 45 filter to analog signals for driving speaker 4 or other voice coil means with those analog signals.
Synthesizer 10 also includes timing control and data storage and data compression systems which will be subsequently described in detail.
SYNTHESIZER BLOCK DIAGRAM Fig. 4a and 4b form a composite block diagram of the synthesizer 10. Synthesizer 10 is shown as having six major functional blocks, all but one of which are shown in greater detail in block diagram form in Figs. 4a and 4b. the six major functional blocks are timing logic 20; ROM- Controller interface logic 21; parameter loading, storage and decoding logic 22; parameter interprelater 23; filter and excitation generator 24 and D to A and output section 25. subsequently, these major functional blocks will be described in detail with respect to Figs. 5a-b, 6, 7a-b, 8a-c, ga-b, 1 Oa- d and 11 a-b.
RomIController Interface Logic Referring again to Figs. 4a and 4b, ROM/Controller interface logic 21 couples synthesizer 10 60 to read-only-memories 1 2a and 1 2b and to controller 11. The control 1 - 8 (CTI-1 -CTI-8), chip select (CS) and processor data clock (PDC) pins are coupled, in this embodiment, to the controller while the address 1 -8 (ADD 1 -ADD8) and instruction 0-1 (10- 11) pins are connected to ROMs 1 2a and 1 2b (as well as ROMs 1 3a-1 3b, if used). ROM/Controller interface logic 21 6 5 sends address information from controller 11 to the Read-OnlyMemories 1 2a- 1 2b and 65 6 GB2077018A 6 preferably returns digital information from the ROMs back to the controller 12; logic 21 also brings data back from the ROMs for use by synthesizer 10 and initiates speech. A Chip Select (CS) signal enables tristate buffers, such as buffers 213, and a three bit command latch 210. A processor Data Clock (PDC) signal sets latch 210 to hold the data appearing at CTL1 -CTI-4 pins from the controller. Command latch 210 stores a three bit command from controller 11, which is decoded by command decoder 211. Command decoder 211 is responsive to eight commands which are: speak (SPK) or speak slowly (SPKSLOW) for causing the synthesizer to access data from the Read-Only-Memory and speak in response thereto either at a normal rate or at a slow rate; a reset (RST) command for resetting the synthesizer to zero; a test talk (TTALK) so that the controller can assertain whether or not the synthesizer is still speaking; a load address (LA) where four bits are received from the controller chip at the CTL1 -CTI-8 pins and transferred to the ROMs as an address digit via the ADD 1 -ADD8 pins and associated buffers 211; a read and branch (RB) command which causes theRead-Only-Memory to take the contents of the present and subsequent address and use that for a branch address; a read (RE) command which causes the Read-Only-Memory to output one bit of data on ADD1, which data shifts into a four bit data 15 input register 212; and an output command which transfers four bits of data in the data input register 212 to controller 11 via buffers 213 and the CTL1 -CTI-8 pins. Once the synthesizer 10 has commenced speaking in response to a SPK or SPKSLOW command it continues speaking until ROM interface logic 21 encounters a RST command or an all ones gate 207 (see Fig. 20 7a-7b) detects an -energy equal to fifteen- code and resets talk latch 216 in response thereto. 20 As will be seen, an -energy equal to 15- code is used as the last frame of data in a plurality of frames of data for generating words, phases or sentences. The LA, RE and RB commands decoded by decoder 211 are re-encoded via ROM control logic 217 and transmitted to the readonly-memories via the instruction (10-11) pins. 25 The processor Data Clock (PDC) signal serves other purposes than just setting latch 210 with 25 the data on CTL1 -CTI-4. It signals that an address is being transferred via CTL1 -CTI-8 after an LA or output command has been decoded or that the TTALK tests to be performed and outputted on pin CTI-8. A pair of latches 218A and B (Figs. 7a7b) associated with decoder 211 disable decoder 211 when the aforementioned LA, TSTTALK and OUTPUT commands 30 have been decoded and a subsequent PDC occurs so that the data then on pins CTL1 CT18 is 30 not decoded. A TALK latch 216 is set i6 response to a decoded SPK or SPKSW command and is reset: (1) during a power up clear (PUC) which automatically occurs whenever the synthesizer is energized; (2) by a decoder RST command or (3) by an -energy equals fifteen- code in a frame of speech data. The TALKI) output is delayed output to permit all speech parameters to be inputed into the synthesizer before speech is attempted. The talk slow latch 215 is set in response to a decoded SPKSLOW command and reset in the same manner as latch 216. The SLOWD output is similarly a delayed output to permit all the parameters to be inputted into the synthesizer before a speech is attempted.
Parameter Loading, Storage and Decoding Logic The parameter loading, storage and decoding logic 22 includes a six bit long parameter input register 205 which receives serial data from the read-only-memory via pin ADD1 in response to a RE command outputted to the selected read-only-memory via the instruction pins. A coded parameter random access memory (RAM) 203 and condition decoders and latches 208 are connected to receive the data inputted into the parameter input register 205. As will be seen, each frame of speech data is inputted in three to six bit portions via parameter input register 205 to RAM 203 in a coded format where the frame is temporarily stored. Each of the coded parameters stored in RAM 203 are converted to a ten bit parameter by parameter ROM 202 and temporarily stored in a parameter output register 201.
As will be discussed with respect to Fig. 6, the frames of data may be either wholly are partially inputted into parameter input register 205, depending upon the length of the particular frame being inputted. Condition decoders and latches 208 are responsive to particular portions of the frame of data for setting repeat, pitch equal zero, energy equal zero, old pitch and old energy latches. The function of these latches will be discussed subsequently with respect to Figs. 7a-7b. The condition decoders and latches 208 as well as various timing signals are used to control various interpolation control gates 209. Gates 209 generate an inhibit signal when interpolation is to be inhibited, a zero parameter signal when the parameter is to be zeroed and a parameter load enable signal which, amoung other things, permits data in parameter input register 205 to be loaded into the coded parameter RAM 203.
Parameter Interpolater The parameters in parameter output registers 201 are applied to the parameter interpolater functional block 23. The inputted K1 -K1 0 speech parameters, including speech energy are stored in a K-stack 302 and E10 loop 304, while the pitch parameter is stored in a pitch 65 7 GB2077018A 7 register 305. The speech parameters and energy are applied via recording logic 301 to array multiplier 401 in the filter and excitation generator 24. As will be seen, however, when a new parameter is loaded into parameter output register 201 it is not immediately inserted into K stack 302 or E 10 loop 304 or register 305 but rather the corresponding value in K-stack 302, E10 loop 304 or register 305 goes through eight interpolation cycles during which a portion of 5 the difference between the present value in the K-stack, E1 0 loop 305 or register 305 and the target value of that parameter in parameter output register 201 is added to the present value in K-stack 203, E1 0 loop 304 or register 305.
Essentially the same logic circuits are used to perform the interpolation of pitch, energy and the K1 -K1 0 speech parameters. The target value from the parameter output register 201 is 10 applied along with the present value of the corresponding parameter to a subtractor 308. A selector 307 selects either the present pitch from pitch logic 306 or present energy or K coefficient data from KE1 0 transfer register 303, according to which parameter is currently in parameter output register 201, and applies the same to subtractor 308 and a delay circuit 309.
As will be seen, delay circuit 309 may provide anywhere between zero delay to three bits of delay. The output of delay circuit 309 as well as the output of subtractor 308 is supplied to an adder 310 whose output is applied to a delay circuit 311. When the delay associated with delay circuit 309 is zero the target value of the particular parameter in parameter output register 201 is effectively inserted into K-stack 302, E 10 loop 304 or pitch register 305, as is appropriate.
The delay in delay circuit 311 is three to zero bits, being three bits when the delay in the delay 20 circuit 309 is zero bits, whereby the total delay through selector, 307 delay, 309 and 311, adder 310 and subtractor 308 is constant. By controlling the delays in delay circuit 309 and 311, either all, 1 /2, 1 /4 or 1 /8 of the difference outputted from subtractor 308 (that being the difference between the target value and the present value) is added back into the present value of the parameter. By controlling the delays in the fashion set forth in Table IV, a relatively 25 smooth eight step parameter interpolation is accomplished.
U.K. Patent Application No. 20115/78 discusses with reference to Fig. 7 thereof a speech synthesis filter wherein speech coefficients K1 -K9 are stored in the K- stack continuously, until they are updated, while the K1 0 coefficient and the speech energy (referred to by the letter A in U.K Patent ApplicatioA No. 20115/78 are periodically exchanged. In parameter interpolator 30 23, speech coefficients K1 -K9 are likewise stored in stack 302, until they are updated, whereas the energy parameter and the K1 0 coefficient effectively exchange places in K-stack 302 during a twenty time period cycle of operations in the filter and excitation generator 24. To accomplish this function, E1 0 loop 304 stores both the energy parameter and the K10 coefficient and alternately inputs the same into the appropriate location in K-stack 302. KE1 0 transfer register 35 303 is either loaded with the K1 0 or energy parameter from E1 0 loop 304 or the appropriate K1 -K9 speech coefficient from Kstack 302 for interpolation by logics 307- 311.
As will be seen, recoding logic 301 preferably performs a Booth's algorithm on the data from K-stack 302, before such data is applied to array multiplier 401. Recoding logic 301 thereby permits the size of the array multiplier 401 to be reduced compared to the array multiplier 40 described in U.K. Patent Application No. 20115/78.
Filter and Excitation Generator The filter excitation generator 24 includes the array multiplier 401 whose output is connected to a summer multiplexer 402. The output of summer multiplexer 402 is coupled to the input of 45 summer 404 whose output is coupled to a delay stack 406 and multiplier multiplexer 405. The output of the delay stack is applied as an input to summer multiplexer 402 and to Y latch 403.
The output of Y latch 403 is coupled to an input of multiplier multiplexer 405 along with truncation logic 501. The output of multiplier multiplexer 405 is applied as an input to array multiplier 401. As will be seen filter and excitation generator 24 make use of the lattice filter 50 described in U.K. Patent Application No. 20115 / 7 8. Various minor interconnections are not shown in Fig. 4b for sake of clarity, but which will be described with reference to Figs. 1 Oa, 1 Ob, 11 a and 11 b. The arrangement of the foregoing elements generally agrees with the arrangement shown in Fig. 7 of U.K. Patent Application No. 20115/78; thus array multiplier 401 corresponds to element 30', summer multiplexer 402 corresponds to elements 37b', 37c' 55 and 3 7d, gates 414 (Figs. 11 a and 11 b) correspond to element 33', delay stack 406 corresponds to elements 34' and 35', Y latch 403 corresponds to element 36' and multiplier multiplexer 405 corresponds to elements 38a, 38b', 38c' and 38d'.
The voice excitation data is supplied from unvoiced/voice gate 408. As will be subsequently described in greater detail, the parameters inserted into parameter input gate 205 are supplied 60 in a compressed data format. According to the data compression scheme used, when the coded pitch parameter is equal zero in input 205, it is interpreted as an unvoiced condition by condition decoders and latches 208. Gate 408 responds by supplying randomized data from unvoiced generator 407 as the excitation input line 414. When the coded pitch parameter is of some other value, however, it is decoded by parameter ROM 202, loaded into parameter output65 8 GB 2 077 018A 8 register 201 and eventually inserted into pitch register 305, either directly or by the interpolation scheme previously described. Based on the period indicated by the number in pitch register 305; voiced excitation is derived from chirp ROM 409. As discussed in U.K. Patent, Application No. 20115/78, the voiced excitation signal may be an impulse function or some other repeating function such as a repeating chirp function. In this embodiment, a chirp has been selected as this tends to reduce the "fuzziness" from the speech generated (because it apparently more closely models the action of the vocal cards than does a impulse function) which chirp is repetitively generated by chirp ROM 409. Chirp ROM 409 is addressed by counter latch 410, whose address is incremented in an add one circuit 411. The address in counter latch 410 continues to increment in add one circuit 411, recirculating via reset logic 412 until magnitude comparator 413, which compares the magnitude of the address being outputted from add one circuit 411 and the contents of the pitch register 305, indicates that the value in counter latch 410 then compares with or exceeds the value in pitch register 305, at which time reset logic 412 zeroes the address in counter 410. Beginning at address zero and extending through approximately fifty addresses is the chirp function in chirp ROM 409. Counter latch 410 and chirp ROM 409 are set up so that addresses larger than fifty do not cause any portion of the chirp function to be outputted from chirp ROM 409 to UV gate 408. In this manner the chirp function is repetitively generated on a pitch related period during voiced speech.
SYSTEM TIMING Fig. 5 depicts the timing relationships between the occurrences of the various timing signals generated on synthesizer chip 10. Also depicted are the timing relationships with respect to the time new frames of data are inputted to synthesizer chip 10, the timing relationship with respect to the interpolations performed on the inputted parameters, the timing relations with respect to 25 the foregoing with the time periods of the lattice filter and the relationship of all the foregoing to the basic clock signals.
The synthesizer is preferably implemented using precharged conditional discharge type logics and therefore Fig. 5 shows clocks 01 -04 which may be appropriately used with such precharge conditional discharge logic. There are two main clock phases ((Al and 02) and two precharge 30 clock phases (03 and 04). Phase 03 goes low during the first half of phase (pl and serves as a precharge therefor. Phase.04 goes low during the first half of phase 4)2 and serves as a precharge therefore. A set of clocks 01 -(p4 required to clock one bit of data and thus correspond to one time period.
The time periods are labeled T1 -T20 and each preferably has a time period on the order of 35 five microseconds. Selecting a time period on the order of five microseconds permits, as will be seen, data to be outputted from the digital filter at a ten kilohertz rate (i.e., at a 100 microsecond period) which provides for a frequency response of five kilohertz in the D to A output section 25 (Fig. 4b). It will be appreciated by those skilled in the art, however, that depending on the frequency response which is desired and depending upon the number of Kn 40 speech coefficients used, and also depending upon the type of logics used, that the periods of frequencies of the clocks and the clock phases shown in Fig. 5 may be substantially altered, if desired.
As is explained in U.K. Patent Application No. 20115/78, one cycle time of the lattice filter in filter excitation generator 24, preferably comprises twenty time periods, T1 -T20. For reasons 45 not important here, the numbering of these time periods differs between this application and U.K. Patent Application No. 20115/78. To facilitate the reader's understanding of the differences in the numbering of the time periods, both numbering schemes are shown at the time period time line 500 in Fig. 5. At the time line 500, the time periods, T1 -T20 which are not enclosed in parenthesis identify the time periods according to the convention used in this 50 application. On the other hand, the time periods convention used in U.K. Patent Application No.
20115/78. Thus, time period T1 7 is equivalent to time period J9).
At numeral 501 is depicted the parameter count (PC) timing signals. In this embodiment there are thirteen PC signals, PC = 0 through PC = 12. The first twelve of these, PC = 0 through PC = 11 correspond to times when the energy, pitch, and K1 -K1 0 parameters, respectively, are 55 available in parameter output register 201. Each of the first twelve PC's comprise two cycles, which are Ipbeled A and B. Each such cycle starts at time period T1 7 and continues to the following T1 7. During each PC the target value from the parameter output register 201 is interpolated with the existing value in K-stack 302 in parameter interpolator 23. During the A cycle, the parameter being interpolated is withdrawn from the K-stack 302, El 0 loop 304 or 60 register 305, as appropriate, during an appropriate time period. During the B cycle the newly interpolated value is reinserted in the K-stack (or El 0 loop or pitch register). The thirteenth PC, PC = 12, is provided for timing purposes so that all twelve parameters are interpolated once each during a 2.5 microsecond interpolation period.
As was discussed with respect to the parameter interpolator 23 of Fig. 4b and Table IV, eight 65 9 GB 2 077 018A 9 interpolations are performed for each inputting of a new frame of data from ROMs 1 2a-b into synthesizer 10. This is seen at numeral 502 of Fig. 5 where timing signals DIV 1, DIV 2, DIV 4 and DIV 8 are shown. These timing signals occur during specific interpolation counts (IC) as shown. There are eight such interpolation counts, ICO-IC7. New data is inputted from the ROMs 1 2a-b into the synthesizer during ICO. These new target values of the parameters are then used during the next eight interpolation counts, IC1 through ICO; the existing parameters in the pitch register 305 K- stack 302 and El 0 loop 304 are interpolated once during each interpolation count. At the last interpolation count, ICO, the present value of the parameters in the pitch register 305, K-stack 302 and El 0 loop 304 finally attain the target values previously inputted toward the last ICO and thus new target values may then again be inputted as a new 10 frame of data. Inasmuch as each interpolation count has a period of 2.5 microseconds, the period at which new data frames are inputted to the synthesizer chip is 20 microseconds or equivalent to a frequency of 50 hertz. The DIV 8 signal corresponds to those interperlation counts in which one-eighth of the difference produced by subtractor 308 is added to the present 15 values in adder 310 whereas during DIV 4 one-fourth of the difference is added in, and so on. Thus, during DIV 2, 1 /2 of the difference from subtractor 308 is added to the present value of the parameter in adder 310 and lastly during DIV 1 the total difference is added in adder 310. As has been previously mentioned, the effect of this interpolation scheme can be seen in Table IV.
PARAMETER DATA COMPRESSION It has been previously mentioned that new parameters are inputted to the speech synthesizer at a 50 hertz rate. It will be subsequently seen that in parameter interpolator and excitation generator 24 (Fig. 4b) the pitch data, energy data and K,-Kn parameters are stored and utilized as ten bit digital binary numbers, If each of these twelve parameters were updated with a ten bit 25 binary number at a fifty hertz rate from an external source, such as ROMs 1 2a and 1 2b, this would require a 12 X 10 X 50 or 6,000 hertz bit rate. Using the data compression techniques which we will be explained, reduce this bit rate required for senthesizer 10 to on the order of 1,000 to 1,200 bits per second. And more importantly, it has been found that the speech compression schemes herein disclosed do not appreciably degrade the quality of speech 30 generated thereby in comparison to using the data uncompressed.
The data compression scheme used is pictorially shown in Fig. 6. Referring now to Fig. 6, it can be seen that there is pictorially shown four different lengths of frames of data. One, labeled voiced frame, has a length of 49 bits while another entitled unvoiced frame, has a length of 28 bits while still another called "repeat frame" has a length of ten bits and still another which may be alternatively called zero energy frame or energy = 15 frame has the length of but four bits. The "voiced frame" supplies four bits of data for a coded energy parameter as well as coded four bits for each of five speech parameters K3 through K7. Five bits of data is reserved for each of three coded parameters, pitch, K1 and K2. Additionally, three bits of data is provided for each of three coded speech parameters K8-K1 0 and finally another bit is reserved 40 for a repeat bit.
In lieu of inputting ten bits of binary data for each of the prameters, a coded parameter is inputted which is converted to a ten bit parameter by addressing parameter ROM 202 with the coded parameter. Thus, coefficient K1, for example, may have any one of thirty-two different values, according to the five bit code for K1, each one of the thirty-two values being a ten bit 45 numerical coefficient stored in parameter ROM 202. Thus, the actual values of coefficients K1 and K2 may have one of thity-two different values while the actual values of coefficients K3 through K7 may be one of sixteen different values and the values of coefficients K8 through K9 may be one of eight different values. The coded pitch parameter is five bits long and therefore may have up to thirty-two different values. However, only thirty-one of these reflect actual pitch 50 values, a pitch code of 00000 being used to signify an unvoiced frame of data. The coded energy parameter is four bits long and therefore would normally have sixteen available ten bit values; however, a coded energy parameter equal to 0000 indicates a silent frame such as occur as pauses in and between words, sentences and the like. A coded energy parameter equal to 1111 (energy equals fifteen), on the other hand, is used to signify the end of a segment of 55 spoken speech, thereby indicating that the synthesizer is to stop speaking. Thus, of the sixteen codes available for the coded energy parameter, fourteen are used to signify different ten bit speech energy levels.
Coded coefficients K1 and K2 have more bits than coded coefficients K3-K7 which in turn have more bits than coded coefficients K8 through K1 0 because coefficient K1 has a greater 60 effect on speech than K2 which has a greater effect on speech than K3 and so forth through the lower order coefficients. Thus given the greater significance of coefficients K1 and K2 than coefficients K8 through K1 0, for example, more bits are used in coded format to define coefficients K1 and K2 than K3-K7 of K8-K10.
Also it has been found that voiced speech data needs more coefficients to correctly model 65 GB 2 077 018A 10 speech than does unvoiced speech and therefore when unvoiced frames are encountered, coefficients K5 through K1 0 are not updated, but rather are merely zeroed. The synthesizer realizes when an unvoiced frame is being outputted because the uncoded pitch parameter is equal to 00000.
It has also been found that during speech there often occur instances wherein the parameters 5 do not significantly change during a twenty milisecond period; particularly, the K1 -K1 0 coefficients will often remain nearly unchanged. Thus, a repeat frame is used wherein new energy and new pitch are inputted to the synthesizer, however, the K1 -K1 0 coefficients previously inputted remain unchanged. The synthesizer recognizes the ten bit repeat frame because the repeat bit between energy and pitch then comes up whereas it is normally off. As previously mentioned, there occur pauses between speech or at the end of speech which are preferably indicated to the synthesizer; such pauses are indicated by a coded energy frame equal to zero, at which time the synthesizer recognizes that only four bits are to be sampled for that frame. Similarly, only four bits are sampled when an "energy equals fifteen". Using coded values for the speech in lieu of actual values, alone would reduce the data rate to 48 X 50 or 2400 bits per second. By additionally using variable frame lengths, as shown in Fig. 6, the data rate may be further reduced to on the order of one thousand to twelve hundred bits per second, depending on the speaker and on the material spoken.
The effect of this data compression scheme can be seen from Table V where the coding for the word "HELP" is shown. Each line represents a new frame of data. As can be seen, the first part of the word "HELP", "HEL", is mainly voiced while the "Vis unvoiced. Also note the pause between "HEL" and -P- and the advantages of using the repeat bit. Table VI sets forth the encoded and decoded speech parameter. The 3, 4 or 5 bit code appears as a hexadecimal number in the left-hand column, while the various decoded parameter values are shown as ten bit, two's complement numbers expressed as hexadecimal numbers in tabular form under the various parameters. The decoded speech parameter are stored in ROM 203. The repeat bit is shown in Table V between the pitch and K, parameters for sake of clarity; preferably, according to the embodiment of Figs. 8a and 8b, the repeat bit occurs as the most significant bit (MSB) of the pitch parameter.
is SYNTHESIZER LOGIC DIAGRAMS The various portions of the speech synthesizer of Figs. 4a and 4b will now be described with reference to Figs. 7a through 14b which, depict, in detail, the logic circuits implemented on a semiconductor chip, for example, to form the synthesizer 10. The following discussion, with reference to the aforementioned drawings, refers to logic signals available at many points in the 35 circuit. It is to be remembered that in P channel MOS devices a logical zero corresponds to a negative voltage, that is, Vdd, while a logical one refers to a zero voltage, that is, Vss. It should be further remembered that P-channel MOS transistors depicted in the aforementioned figures are conductive when a logical zero, that is, a negative voltage, is applied at their respective gates. When a logic signal is referred to which is unbarred, that is, has no bar across the top of 40 it, the logic signal is to be interpreted as-- -TRUE---logic; that is, a binary one indicates the presence of the signal (Vss) whereas a binary zero indicates the lack of the signal (Vdd). Logic signal names including a bar across the top thereof are---FALSE-logic; that is, a binary zero (Vdd voltage) indicates the presence of the signal whereas a binary one (Vss voltage) indicates that the signal is not present. It should also be understood that a numeral three in clocked gates 45 indicates that phase 03 is used as a precharge whereas a four in a clocked gate indicates that phase 04 is used as a precharge clock. An -S- in the gate indicates that the gate is statically operated.
Timing Logic Diagram 50 Referring now to Figs. 7a and 7b, they form a composite, detailed logic diagram of the timing logic for synthesizer 10. Counter 510 is a pseudorandom shift counter including a shift register 51 Oa and feed back logic 51 Ob. The counter 510 counts into pseudorandom fashion and the TRUE and FALSE outputs from shift register 51 Oa are supplied to the input section 511 of a timing PLA. The various T time periods decoded by the timing PLA are indicated adjacent to the 55 output lines thereof. Section 511 c of the timing PLA is applied to an output timing PLA 512 geneating various combinations and sequences of time period signals, such as T odd, T1 0-T1 8, and so forth. Sections 511 a and 511 b of timing PLA 511 will be described subsequently.
The parameter count in which the senthesizer is operating is maintained by a parameter counter 513. Parameter counter 513 includes an add one circuit and circuits which are responsive to SLOW and SLOW D. In SLOW, the parameter counter repeats the A cycle of the parameter count twice (for a total of three A cycles) before entering the B cycle. That is, the period of the parameter count-doubles so that the parameters applied to the lattice filter are updated and interpolated at half the normal rate. To assure that the inputted parameters are 65 11 GB2077018A interpolated only once during each parameter count during SLOW speaking operations each parameter count comprises three A cycles followed by one B cycle. It should be recalled that during the A cycle the interpolation is begun and during the B cycle the interpolated results are reinserted back into either K-stack 302, El 0 loop 304 or pitch register 305, as appropriate.
Thus, merely repeating the A cycle has no affect other than to recalculate the same value of a 5 speech parameter but since it is only reinserted once back into either K- stack 302, Elo loop 304 or pitch register 305 only the results of the interpolation immediately before the B cycle are retained.
Inasmuch as parameter counter 513 includes an add one circuit, the results outputted therefrom, PC 1 -PC4, represent in binary form, the particular parameter count in which the 10 synthesizer is operating. Output PCO indicates in which cycle, A or B, the parameter count is.
The parameter counter outputs PC1 -PC4 are decoded by timing PLA 514. The particular decimal value of the parameter count is decoded by timing PLA 514 which is shown in adjacent to the timing PLA 514 with nomenclature such as PC = 0, PC = 1, PC = 7 and so forth. The relationship between the particular parameters and the value of PC is set forth in Fig. 6. Output portions 511 a and 5 11 b of timing PLA 511 are also interconnected with outputs from timing PLA 514 whereby the Transfer K (TK) signal goes high during T9 of PC = 2 or T8 or PC = 3 or T7 of PC = 4 and so forth through T1 of PC = 10. Similarly, a LOAD Parameter (LDP) timing signal goes high during T5 of PC = 0 or T1 of PC = 1 or T3 of PC = 2 and so forth throughT7 of PC = 11. As will be seen, signal TK is used in controlling the transfer of data from parameter 20 output register 201 to subtractor 308, which transfer occurs at different T times according to the particular parameter count the parameter counter 513 is in to assue that the appropriate parameter is being outputted from KE1 0 transfer register 303. Signal LDP is, as will be seen, used in combination with the parameter input register to control the number of bits which are inputted therein according to the number of bits associated with the parameter then being 25 loaded according to the number of bits in each coded parameter as defined in Fig. 6.
Interpolation counter 515 includes a shift register and an add one circuit for binary counting the particular interpolation cycle in which the synthesizer 10 is operating. The relationship between the particular interpolation count in which the synthesizer is operating and the DIV1, DIV2, DIV4 and DIV8 timing signals derived therefrom is explained in detail with reference to 30 Fig. 6 and therefore additional discussion here would be superfluous. It will be noted, however, that interpolation counter 5 15 includes a three bit latch 516 which is loaded at T1. The output of three bit latch 516 is decoded by gates 5 17 for producing the aforementioned DIV1 through DIV8 timing signals. Interpolation counter 515 is responsive to a signal RESETF from parameter counter 513 for permitting interpolation counter 515 to increment only after PC = 12 has occurred.
ROMIController Interface Logic Diagram Turning now to Figs. 8a, 8b and 8c, which form a composite diagram, there is shown a detailed logic diagram of ROM/Controller interface logic 21. Parameter input register 205 is 40 coupled, at its input to address pin ADD8. Register 205 is a six bit shift register, most of the stages of which are two bits long. The stages are two bits long in this embodiment inasmuch as ROMs 1 2a and b output, as will be seen, data at half the rate at which data is normally clocked in synthesizer 10. At the input of parameter input register 205 is a parameter input control gate 220 which is responsive to the state of a latch 221. Latch 221 is set in response to LDP, PCO 45 and DIV1 all being a logical one. It is reset at T1 4 and in response to parameter load enable from gate 238 being a logical zero. Thus, latch 221 permits gate 220 to load data only during the A portion (as controlled by PCO) of the appropriate parameter count and at an appropriate T time (as controlled by LDP) of ICO (as controlled by DIV1) provided parameter load enable is at a logical one. Latch 221 is reset by T1 4 after the data has been inputted into parameter register 50 205.
The coded data in parameter input register 205 is applied on lines INOIN4 to coded parameter RAM 203, which is addressed by PC1 -PC4 to indicate which coded parameter is then being stored. The contents of register 205 is tested by all one's gate 207, all zeroes gate 206 and repeat latch 208a. As can be seen, gate 206 tests for all zeroes in the four least 55 significant bits of register 205 whereas gate 207 tests for all ones in those bits. Gate 207 is also responsive to PCO, DIV1, T1 6 and PC = 0 so that the zero condition is only tested during the time that the coded energy parameter is being loaded into parameter ROM 205. The repeat bit occurs in this embodiment immediately in front of the coded pitch parameter; therefore, it is tested during the A cycle of PC = 1. Pitch latch 208b is set in response to all zeroes in the 60 coded pitch parameter and is therefore responsive to not only gate 206 but also the most significant bit of the pitch data on line 222 as well as PC = 1. Pitch latch 208b is set whenever the loaded coded pitch parameter is a 00000 indicating that the speech is to be unvoiced.
Energy = 0 latch 208c is responsive to the output of gate 206 and PC = 0 for testing whether all zeroes have been inputted as the coded energy parameter and is set in response thereto. Old 65 12 GB2077018A 12 pitch latch 208d stores the output of the pitch = 0 latch 208b from the prior frame of speech data while old energy latch 208e stores the output of energy = 0 latch 208c from the prior frame of speech data. The contents of old pitch latch 208d and pitch = 0 latch 208b are compared in comparison gates 223 for the purpose of generating an INHIBIT signal. As will be seen, the INHIBIT signal inhibits interpolations and this is desirable during changes from voiced 5 to unvoiced or unvoiced to voiced speech so that the new speech parameters are automatically inserted into K-stack 302, E10 loop 304 and pitch register 305 as opposed to being more slowly interpolated into those memory elements. Also, the contents of old energy latch 208e and energy = 0 latch 208c is tested by NAND gate 224 for inhibiting interpolation for a transition from a non-speaking frame to a speaking frame of data. The outputs of NAND gate 10 224 and gates 223 are coupled to a NAND gate 235 whose output is inverted to INHIBIT by an inverter 236. Latches 208a-208c are reset by gate 225 and latches 208d and 208e are reset by gate 226. When the excitation signal is unvoiced, the K5-K1 0 coefficients are set to zero, as aforementioned. This is accomplished, in part, by the action of gate 237 which generates a ZPAR signal when pitch is equal to zero and when the parameter counter is greater than five, as 15 indicated by PC 5 from PLA 514.
Also shown in Figs. 8a-c is a command latch 210 which comprises three latches 21 Oa, b, and c which latch in the data at CTL2, 4 and 8 in response to a processor data clock (PDC) signal in conjunction with a chip select (CS) signal. The contents of command latch 210 is decoded by command decoder 211 unless disabled by latches 21 8a and 21 8b. As previously 20 mentioned, these latches are responsive to decoded LA, output and TTALK commands for disabling decoder 211 from decoding what ever data happens to be on the CTL2-CTL8 pins when subsequent PDC signals are received in conjunction with the LA, output and TTALK commands. A decoded TTALK command set TTALK latch 219. The output of TTALK latch 219, which is reset by a Processor Data Clock Leading Edge (PDCLE) signal or by an output from latch 218b, controls along with the output of latch 218a NOR gates 227a and b. The output of NOR gate 227a is a logical one if TTALK latch 219 is set, thereby coupling pins CTU to the talk latch via tristate buffer 228 and inverters 229. Tristate latch 228 is shown in detail on the right side of Figs. 8a-c. NOR gate 227b, on the other hand, outputs a logical one if an output code has been detected, setting latch 228a and thereby connecting pins CTU to the most 30 significant bit of data input register 212.
Data is shifted into data input register 212 from address pin 8 in response to a decoded read command by logics 230. RE, RB and LA instructions are outputted to ROM via instruction pins I.-I, from ROM control logic 217 via buffers 214c. The contents of data input register 212 is outputted to CTU -CTL4 pins via buffers 213 and to the aforementioned CTU pin via buffer 35 228 when NOR gate 227b inputs a logical one. CTU -CTL4 pins are connected to address pins ADD 1 -ADD4 via buffers 214a and CTL8 pin is connected to ADD8 pin 8 via a control buffer 214b which is disabled when addresses are being loaded on the ADD 1 -ADD8 pins by the signal on line 231.
The Talk latch 216 shown in Figs. 8a-c preferably comprises, three latches 216a, 216b and 40 216c. Latch 216a is set in response to a decoded SPK command and generates, in response thereto, a speak enable (SPEN) signal. As will be seen, SPEN is also generated in response to a decoded SPKSLOW command by latch 215a. Latch 216b is set in response to speak enable during IC7 as controlled by gate 225. Latches 21 6a and 21 6b are reset in response to (1) a decoded reset command, (2) an energy equals fifteen code or (3) on a power-up clear by gate 45 232. Talk delayed latch 216c is set with the contents of latch 216b at the following IC7 and retains that data through eight interpolation counts. As was previously mentioned, the talk delayed latch permits the speech synthesizer to continue producing speech data for eight interpolation cycles after a coded energy = 0 condition has been detected setting latch 208c.
Likewise, slow talk latch 215 is implemented with latches 21 5a, 21 5b and 21 5c. Latch 21 5a 50 enables the speak enable signal while latches 21 5b and 21 5c enable the production of the SLOWD signal in much the same manner as latches 21 6b 21 d 21 6c enable the production of the TALKD signal.
Considering now, briefly, the timing interactions for inputting data into parameter input register 205, it will be recalled that this is controlled chiefly by a control gate 220 in response 55 to the state of a parameter input latch 221. Of course, the state of the latch is controlled by the LDP signal.applied to gate 233. The PCO and DIV1 signals applied to gate 233 to assure that the parameters are loaded during the A cycle of a particular parameter count during ICO. The particular parameter and the parameter T-Time within the parameter count is controlled by LDP according to the portion 511 a of timing PLA 511 (Figs. 7a and 7b). The first parameter inputted (Energy) is four bits long and therefore LDP is initiated during time period T5 (as can be seen in Figs. 7a and 7b). During parameter count 1, the repeat bit and pitch bits are inputted, this being six bits which are inputted according to LDP which comes up at time period T1. Of course, there four times periods difference between T1 and T5 but only two bits difference in the length of the inputted information. This occurs because it takes two time 65 13 GB2077018A 13 periods to input each bit into parameter register 205 (which has two stages per each inputted bit) due to the fact that ROMs 1 2a- 1 2b are preferably clocked at half the rate at that which senthesizer 10 is clocked. By clocking the ROM chips at half the rate, that the synthesizer 10 chip is clocked simplifies the addressing of the read-only-memories in the aforesaid ROM chips and yet, as can be seen, data is supplied to the senthisizer 10 in plenty of time for performing numerical operations thereon. Thus, in section 511 a of timing PLA 511, LDP comes up at T1 when the corresponding parameter count indicates that a six bit parameter is to be inputted, comes up at T3 when the corresponding parameter count indicates that a five bit parameter is to be inputted, comes up at T5 when the corresponding parameter count indicates that a four bit parameter is to be inputted and comes up as time period T7 when the corresponding parameter 10 count (EG parameter counts 9, 10, and 11) which correspond to a three bit coded parameter. ROMs 12a-b are signaled that the addressed parameter ROM is to output information when signaled via 10 instruction pin, ROM control logic 217 and line 234 which provides information to ROM control logic 217 from latch 22 1.
Parameter Interpolator Logic Diagram Referring now to Figs. 9a and 9b, which form a composite diagram the parameter interpolator logic 23 is shown in detail. K-stack 203 comprises ten registers each of which store ten bits of information. Each small square represents one bit of storage, according to the convention depicted at numeral 330. The contents of each shift register is arranged to recirculate via recirculation gates 314 under control of a recirculation control gate 315. K-stack 302 stores speech coefficients K1 -K9 and temporarily stores coefficient K1 0 or the energy parameter generally in accordance with the speech synthesis apparatus of Fig. 7 of U.K. Patent Application No. 20115/78. The data outputted from K-stack 302 to recording logic 30 at various time periods is shown in Table VII. In Table III of U.K. Patent Application No. 20115/78 is shown 25 the data outputted from the K-stack of Fig. 7 thereof. Table V11 of this patent differs from Table III of the aforementioned patent because of (1) recoding logic 301 receives the same coefficient on lines 32-1 through 32-4, on lines 32-5 and 32-6, on lines 32-7 and 32- 8 and on lines 32-9 and 32-10 because, as will be seen, recoding logic 301 responds to two bits of information for each bit which was responded to by the array multiplier of the aforementioned 30 U.K. Patent; (2) because of the difference in time period nomenclature as was previously explained with reference to Fig. 5; and (3) because of the time delay associated with the recording logic 301.
Recoding logic 301 couples K-stack 302 to array multiplier 401 (Figs. 1 Oa and 1 Ob).
Recoding logic 301 includes four identical recoding stages 31 2a-31 2d, only one of which, 35 31 2a, is shown in detail. The first stage of the recoding logic, 313, differs from stages 31 2a-31 2d basically because there is, of course, no carry, such as occurs on input A in stages 31 2a-312d, from a lower order stage, Recoding logic outputs + 2, - 2, + 1 and 1 to each stagi of a five stage array multiplier 40 1, except for stage zero which receives only 2, + 1 and - 1 outputs. Effectively recoding logic 301 permits array multiplier to process, in each 40 stage thereof, two bits in lieu of one bit of information, using Booth's algorithm. Booth's algorithm is explained in "Theory and Application of Digital Signal Processing", published by Prentice-Hall 1975, at pp. 517-18.
The K10 coefficient and energy are stored in E10 loop 304. E10 loop preferably comprises a twenty stage serial shift register; ten stages 304a of El 0 loop 304 are preferably coupled in 45 series and another ten stages 304b which are also coupled in series but also have parallel outputs and inputs to K-stack 302. The appropriate parameter, either energy or the K1 0 coefficient, is transferred from El 0 loop 304 to K-stack 302 via gates 315 which are responsive to a NOR gate 316 for transferring the energy parameter from El 0 loop 304 to K-stack 302 at time period T1 0 and transferring coefficient K1 0 from El 0 loop 304 to K-stack 302 at time 50 period T20. NOR gate 306 also controls recirculation control gate 315 for inhibiting recircula tion in K-stack 302 when data is being transferred KE1 0 transfer register 303 facilitates the transferring of energy or the K1 -K1 0 speech coefficients which are stored in El 0 loop 304 or K-stack 302 to adder 308 and delay circuit 309 via selector 307. Register 303 has nine stages provided by paired inverters and a tenth stage being effectively provided by selector 307 and gate 317 for facilitating the transfer of ten bits of information either from El 0 loop 304 or K-stack 302. Data is transferred from K-stack 302 to register 303 via transfer gates 318 which are controlled by a Transfer K (TK) signal generated by decoder portion 511 b of timing PLA 511 (Figs. 7a and 7b). Since the particular parameter to be interprelated and thus shifted into register 303 depends upon the particular 60 parameter count in which the senthesizer is operating and since the particular parameter available to be outputted from K-stack 302 is a function of particular time period the synthesizer is operating in, the TK signal comes up at T9 for the pitch parameter, T8 for the K1 parameter, T7 for the K2 parameter and so forth, as is shown in Figs. 7a and 7b. The energy parameter or the K10 coefficient is clocked out of E10 loop 304 into register 303 via gates 319 in response 65 14 GB2077018A 14 to a TE1 0 signal generated by a timing PLA 511. After each interpolation, that is during the B cycle, data is transferred from register 303 into (1) K-stack 302 via gates 318 under control of signal TK, at which time recirculation gates 314 are turned off by gate 315, or (2) El 0 loop 304 via gates 319.
A ten bit pitch parameter is stored in a pitch register 305 which includes a nine stage shift register as well as recirculation elements 305a which provide anothe bit of storage. The pitch parameter normally recirculates in register 305 via gate 305a except when a newly interpolated pitch parameter is being provided on line 320, as controlled by pitch interpolation control logics 306. The output of pitch 305 (PTO) or the output from register 303 is applied by selector 307 to gate 317. Selector 307 is also controlled by logics 306 for normally coupling the output of register 303 to gate 317 except when the pitch is to be interpolated. Logics 306 are responsive for outputting pitch to adder 308 and delay 309 during the A cycle of PC = 1 and for returning the interpolated pitch value on line 320 on the B cycle of PC = 1 to register 305. Gate 317 is responsive to a latch 321 for only providing pitch, energy or coefficient information to adder 308 and delay circuit 309 during the interpolation. Since the data is serially clocked, the information may be started to be clocked during an A portion and PCO may switch to a logical one sometime during the transferring of the information from register 303 or 305 to adder 308 or delay circuit 309, and therefore, gate 317 is controlled by an A cycle latch 321, which latch is set with PCO at the time a transfer coefficient (TK) transfer El 0 (TE 10) or transfer pitch (TP) signal is generated by timing PLA 511.
The output of gate 317 is applied to adder 308 and delay circuit 309. The delay in delay circuit 309 depends on the state of DIV1 -DIV8 signals generated by interpolation counter 515 (Figs. 7a and 7b). Since the data exits gate 317 least significant bit first, by delaying the data in delay circuit 309 a selective amount, and applying the output to adder 310 along with the output of subtraGtor 308, the more delay there is in circuit 309, the smaller the effective magnitude of the difference from subtractor 308 which is subsequently added back in by adder 310. Delay circuit 311 couples adder 310 back into register 303 and 305. Both delay circuits 309 and 303 can insert up to three bits of delay and when adder 309 is at its maximum delay 311 is at its minimum delay and visa-versa. A NAND gate 322 couples the output of subtractor 308 to the input of adder 310. Gate 322 is responsive to the output of an OR gate 323 which 30 is in turn responsive to INHIBIT from inverted 236 (Figs. 8a-c). Gates 322 and 323 act to zero the output from subtractor 308 when the INHIBIT signal comes up unless the interpolation counter is at ICO in which case the present values in K-stack 302, El 0 loop 304 and P register 305 are fully interpolated to their new target values in a one step interpolation. When an unvoiced frame (Fig. 6) is supplied to the speech synthesis chip, coefficients K5-K1 0 are set to zero by the action of gate 324 which couples delay circuit 311 to shift register 325 whose output is then coupled to gates 305a and 303'. Gate 324 is responsive to the zero parameter (ZPAR) signal generated by gate 237 (Figs. 8a-c).
Gate 326 disables shifting in the 304b portion of E10 loop 304 when a newly interpolated value of energy or K1 0 is being inputted into portion 304b from register 303. Gate 327 40 controls the transfer gates coupling the stages of register 303, which stages are inhibited from serially shifting data therebetween when TK or TE1 0 goes high during the A cycle, that is, when register 303 is to be receiving data from either K-stack 302 or El 0 loop 304 as controlled by transfer gates 318 or 319, respectively. The output of gates 327 is also connected to various stages of shift register 325 and to a gate coupling 303' with register 303. Whereby up top the 45 three bits which may trail the ten most significant bits after an interpolation operation may be zeroed.
Array Multiplier Logic Diagram 50 Figs. 1 Oa and 1 Ob form a composite logic diagram of array multiplier 40 1. Array multipliers 50 are sometimes referred to as Pipeline Multipliers. For example, see "Pipeline Multiplier" by Granville E. Ott, published by the University of Missouri. Array multiplier 401 has five stages, stage 0 through stage 4, and a delay stage. The delay stage is used in array multiplier 41 to give it the same equivalent delay as the array multiplier 55 shown in U.K. Patent Application No. 20115/78. The input to array multiplier 401 is provided 55 by signals MRO-MR,,, from multiplier multiplexer 405. MR,, is the most significant bit while MRO is the.least significant bit. Another input to array multiplier are the aforementioned + 2, - 2, + 1 and - 1 outputs from recording logic 301 (Figs. 8a-c). The output from array multiplier 401. P13POI is applied to summer multiplexer 402. The least significant bit thereof, PO, is in this embodiment always made a logical one because doing so establishes the mean of 60 the truncation error as zero instead of - 1 /2 LS13 which value would result from a simple truncation of a two's complement number.
Array multiplier 401 is shown by a plurality of box elements labeled A-1, A-2, B-1, B-2, B-3 or B-C. The specific logic elements making up these box elements are shown on the right 6 5 hand side of composite Figs. 1 Oa- 1 Ob in lieu of repetitively showing these elements and 65 q GB 2 077 018A 15 making up a logic diagram of Fig. 401, for simplicity sake. The A-1 and A- 2 block elements make up stage zero of the array multiplier and thus are each responsive to the - 2, + 1 and =1 signals outputted from decoder 313 and are further responsive to MR2-MR1 3. When multiples occur in array multiplier 401, the most significant bit is always maintained in the left most column elements while the partial sums are continuously shifted toward the right. Inasmuch as each stage of array multiplier 401 operates on two binary bits, the partial sums, labeled In, are shifted to the right two places. Thus no A type blocks are provided for the MRO and MR1 data inputs to the first stage. Also, since each block in array multiplier 401 is responsive to two bits of information from K-stack 302 recieved via recording logic 301, each block is also responsive to two bits from multiplier multiplexer 405, which bits are inverted by 10 inverters 430, which bits are also supplied in true logic to the B type blocks.
Filter and Excitation Generator Logic Diagram Figs. 11 a- 11 b form a composite, detailed logic diagram of lattice filter and excitation generator 24 (other than array multiplier 401) and output section 25. In filter and excitation 15 generator 24 is a summer 404 which is connected to receive at one input thereof either the true or inverted output of array multiplier 401 (see Figs. 1 Oa and 1 Ob) on lines P0-P1 3 via summer multiplexer 402. The other input of adder 404 is connected via summer multiplexer 402 to receive either the output of adder 404 (at T1 0-T1 8), the output of delay stack 406 on lines 440-453 at T20-T7 and T9), the output of Y-latch 403 (at T8) or a logical zero from 4)3 precharge gate 420 (at T1 9 when no conditional discharge is applied to this input). The reasons these signals are applied at these times can be seen from Fig. 8 of the aforementioned U.K.
Patent Application No. 20115/78 it is to be remembered of coures, that the time period designations differs as discussed with reference to Fig. 5 hereof.
The output of adder 404 is applied to delay stack 406, multiplier multiplexer 405, one period 25 delay gates 414 and summer multiplexer 402. Multiplier multiplexer 405 includes a one period delay gates 414 which are generally equivalent to one period delay 34' of Fig. 7 in U.K. Patent Application No. 20115/78. Y-latch 403 is connected to receive the output of delay stack 406.
Multiplier multiplexer 405 selectively applies the output from Y-latch 403, one period delay gates 414, or the excitation signal on bus 415 to the input MRO-MR1 3 of array multiplier 30 1. The inputs DO-D 13 to delay stack 406 are derived from the outputs of adders 404. The logics for summer multiplier 402, adder 404, Y-latch 403, multiplier multiplexer 405 and one period delay circuit 414 are only shown in detail for the least significant bit as enclosed by dotted line reference A. The thirteen most significant bits in the lattice filter also are provided by logics such as those enclosed by the reference A line, which logics are denoted by long rectangular phantom line boxes labeled "A". The logics for each parallel bit being processed in the lattice f4ter are not shown in detail for sake of clarity. The portions of the lattice filter handling bits more significant than the least significant bit differ from the logic shown for elements 402, 403, 404, 405, and 414 only with respect to the interconnections made with truncation logics 501 and bus 415 which connects to UV gate 408 and chirp ROM 409. In this 40 respect, the output from UV gate 408 and chirp ROM 409 is only applied to inputs 113-16 and therefore the input labeled I. within the reference A phantom line is not needed for the six least significant bits in the lattice filter. Similarly, the output from the Y- latch 403 is only applied for the ten most significant bits, YL13 through YI-4, and therefore the connection labeled YLx within the reference line is not required for the four least significant bits in the lattice filter. 45 Delay stack 406 comprises 14 nine bit long shift registers, each stage of which comprise inverters clocked on (4 and (p3 clocks. As is discussed in U.K. Patent Application No.
20115/78, the delay stack 406 which generally corresponds to shift register 35' of Fig. 7 of the aforementioned patent, is only shifted on certain time periods. This is accomplished by logics 416 whereby l 13,413 clocks are generated from T1 0-T1 8 timing signal from PLA 512 50 (Figs. 7a and 7b). The clock buffers 417 in circuit 416 are also shown in detail in Figs. 11 a and 11 b.
Delay stack 406 is nine bits long whereas shift register 35' in Fig. 7 of U.K. Patent Application No. 20115/78 was eight bits long; this difference occurs because the input to delay stack 406 is shown as being connected from the output of adder 404 as opposed to the output of one period delay circuit 414. Of course, the input to delay stack 406 could be connected from the outputs of one period delay circuit 414 and the timing associated therewith modified to correspond with that shown in U.K. Patent Application No. 20115/78.
The data handled in delay stack 406, array multiplier 401, adder 402, summer multiplexer 402, Y-latch 40q, and multiplier multiplexer 405 is preferably handled in two's complement 60 notation.
Unvoiced generator 407 is a random noise generator comprising a shift register 418 with a feedback term supplied by feedback logics 419 for generating pseudorandom terms in shift register 418. An output is taken therefrom and is applied to UV gate 408 which is also responsive to OLDP from latch 208d (Figs. 8a and 8b). Old pitch latch 208d controls gate 408 65 16 GB 2 077 018A 16 because pitch = 0 latch 208b changes state immediately when the new speech parameters are inputted to register 205. However, since this occurs during interpolation count ICO and since, during an unvoiced condition the new values are not interpolated into Kstack 302, El 0 loop 304 and pitch register 305 until the following ICO, the speech excitation value cannot change from a periodic excitation from chirp ROM 409 to a random excitation from unvoiced generator 5 407 until eight interpolation cycles have occurred. Gate 420 nors the output of gate 408 into the most significant bit of the excitation signal, 113, thereby effectively causing the sign bit to randomly change during unvoiced speech. Gate 421 effectively forces the most significant bit of the excitation signal, I,,, to a logical one during unvoiced speech conditions. Thus the combined effect of gates 408, 420 and 421 is to cause a randomly changing sign to be associated with a10 steady decimal equivalent value of.5 to be applied to the lattice filter and Filtering Excitation Generator 24.
During voiced speech, chirp ROM 409 provides an eight bit output on lines 16-11, to the lattice filter. This output comprises forty-one successively changing values which, when graphed, represent a chirp function. The contents of ROM 409 are listed in Table Vill; ROM 404 is set 15 up to invert its outputs and thus the data is stored therein in complemented format. The chirp function value and the complemented value stored in the chirp ROM are expressed in two's complement hexadecimal notation. ROM 409is addressed by an eight bit register 410 whose contents are normally updated during each cycle through the lattice filter by add one circuit 411. The output of register 410 is compared with the contents of pitch register 305 in a magnitude comparitor 403 for zeroing the contents of 410 when the contents of register 410 become equal to or greater than the contents of register 305. ROM 409, which is shown in greater detail in Figs. 14a-1 4b, is arranged so that addresses greater than 110010 cause all zeroes to be outputted on lines 113-1. to multiplier multiplexer 405. Zeros are also stored in address locations 41-51. Thus, the chirp may be expanded to occupy up to address location 25 fifty, if desired.
Random Access Memory Logic Diagram Referring now to Figs. 1 2a- 1 2b, there is shown a composite detailed logic diagram of RAM 203. RAM 203 is addressed by address on PC1 -PC4, which address is decoded in a PLA 203a 30 and defines which coded parameter is to be inputted into RAM 203. RAM 203 stores the twelve decoded parameters, the parameters having bit lengths varing between three bits and five bits according to the decoding scheme described with reference to Fig. 6. Each cell, reference B, of RAM 203 is shown in greater detail in Fig. 12b. Read/Write control logic 203b is responsive to T1, DIV1, PCO and parameter load enable for writing into the RAM 203 during 35 the A cycle of each parameter count during interpolation count zero when enabled by parameter load enable from logics 238 (Fig. 8a-c). Data is inputted to RAM 203 on lines [NO-IN4 from register 205 as shown in Figs. 8a and 8b and data is outputted on lines OUT1 -OUT5 to ROM 202 as is shown in the aforementioned figures.
Parameter Read-Only-Memory Logic Diagram In Figs. 13a-1 3b, there is shown a logic diagram of ROM 202. ROM 202 is preferably a virtual ground ROM of the type disclosed in U.S. Patent 3,934,233. Address information from RAM 202 and from parameter counter 513 are applied to address buffers 202b which are shown in detail at reference A. The NOR gates 202a used in address buffers 202b are shown in 45 detail at reference B. The outputs of the address buffers 202b are applied to an X-decoder 202c or to a Y-decoder 202d. The ROM is divided into ten sections labeled reference C, one of which is shown in greater detail. The outline for output line from each of the sections is applied to register 201 via inverters as shown in Figs. 8a and 8b. X-decoder selects one of fifty-four X- decode lines while Y-decoder 202d test for the presence or nonpresence of a transistor cell between an adjacent pair of diffusion lines, as is explained in greater detail in the aforementioned U.S. Patent 3,934,233. The data preferably stored in ROM 202 of this embodiment is listed in Table VI.
Chirp Read-Only-Memory Logic Diagram Figs. 14a-14b form a composite diagram of chirp ROM 409. ROM 409 is addressed via address linesTo-i,from register 410 (Figs. 1 la-1 1 b) and output information on lines 1.-1,1 to multiplier multiplexer 405 and lines 1.1 and gates L2 to gates 421 and 420, all of which are shown in Figs. 11 a and 11 b. As was previously discussed with reference to Figs. 11 a and 11 b, chirp ROM outputs all zeros after a predetermined count is reached in register 410, which, in 60 this case is the count equivalent to a decimal 5 1. ROM 409 includes a Y- coder 409a which is responsive to the address on lines W1and W,_ (and A, and A,) in an X- decoder 409b which is responsive to the address on lines A2 through A,, (and A2-AJ.
ROM 409 also includes a latch 409c which is set when decimal 51 is detected on lines TO-:, according to line 409c from a decoder 409e. Decoder 409e also decodes a logical zero 65 17 GB 2 077 018A 17 on lines A,-A, for resetting latch 409c. ROM 409 includes timing logics 409f which permit data to be clocked in via gates 409g at time period T1 2. At this time decoder 409e checks to determine whether either a decimal 0 or decimal 51 is occurring on address lines AO-A,. If either condition occur, latch 409c, which is a static latch, is caused to flip.
An address latch 409h is set at time period T1 3 and reset at time period T1 1. Latch 409h 5 permits latch 409c to force a decimal 51 onto linesWo-T , when latch 409c is set. Thlus, for addresses greater than 5 1 address register 410, the address is first sampled at time period T 12 to determine whether it has been reset to zero by reset logic 412 (Figs. 1 2a-1 2b) for the purpose of resetting latch 409c and if the address has not been reset to zero then whatever address has been inputted on linesWo-:A---8 is written over by logics 409j at T1 3. Of course, at 10 location 51 in ROM 409 will be stored all zeros on the output lines 16111, IM1 and IM2. Thus by the means of logics 409c, 409h and 409j addresses of a preselected value, in this case a decimal 51, are merely tested to determine whether a reset has occurred but are not permitted to address the array of ROM cells via decoders 409a and 409b. Addresses between a decimal 0 and 50 address the ROM normally via decoders 409a and 409b. The ROM matrix is preferably 15 of the virtual ground type described in U.S. Patent 3,934,233. As aforementioned, the contents of ROM 409 are listed in Table Vill. The chirp function is located at addresses 00-40 while zeros are located at addresses 41 -5 1.
Truncation Logic and Digital- To-Analog Converter Turning again to Figs. 11 a and 11 b, the truncation logic 425 and Digital-to-Analog (D/A) converter is shown in detail. Truncation logic 425 includes circuitry for converting the two's complement data on YL,3- YL14 to sign magnitude data, Logics 425a test the MSB from Y-latch 403 on line YL13 for the purpose of generating a sign bit and for controlling the two's complement to sign magnitude conversion accomplLshed by logics 425c. The sign bit is supplied in true and false logic on lines D/Asn and D/Asn to D/A converter 426. Logics 425c convert the two's complement data from Y- latches 403 in lines YL,,-YL, to simple magnitude notation on lines D/A,- D/A,. Only the logics 425c associated with YL10 are shown in detail for sake of simplicity. 30 Logics 425b sample the YL12 and YL1, bits from the Y-latches 403 and perform a magnitude 30 truncation function thereon by forcing outputs D/A6 through D/A, to a logical zero (i.e., a value of one if the outputs were in true logic) wherever either YL,2 or YL1, is a logical one and YL13 '19 a logical zero, indicating that the value is positive or either YL,2 or YI-11 is a logical zero and YL13 is a logical one, indicating that the value is negative (and complemented, of course). Whenever 35 one of these conditions occurs, a logical zero appears on line 427 and Vss is thereby coupled to 35 the output buffer 428 in each of logics 425c. The magnitude function effectively truncates the more significant bits on YL,j and YL,2, It is realized that this is somewhat unorthodox truncation, since normally the less significant bits are truncated in most other circuits where truncation occurs. However, in this circuit, large positive or negative values are effectively clipped. More important digital speech information, which have smaller magnitudes, are effectively amplified 40 by a factor of four by this truncation scheme.
The outputs D/A,-D/A,, along with D/Asn and D/Asn, are coupled to D/A converter 426.
D/A converter 426 peferably has seven MOS devices 429 coupled to the seven lines D/A, through D/A, from truncation logics 425. Devices 429 are arranged, by controlling theirLength to width ratios, to pass different amounts of electrical current, the device 429 coupled to D/A6 45 passing twice as much current (when on) as the device 429 coupled to D/A,. Likewise the devices 429 coupled to D/A, is capable of passing twice as much current as the device 429 coupled to D/A,. This two to one current p2ssing a2ability similarly applies to the remaining devices 429 coupled to the remaining lines D / A3-D/A,. Thus, devices 429 coupled to D/A,, is likewise capable of passing twice as much current as the device 429 coupled to D/A0, but only 50 one-half of that passed by the device 429 coupled to D/A,. All the devices 429 are connected in parallel, one side of which are preferably coupled to Vss and the other side is preferably coupled to either side of the speaker 4 via transistors 430 and 431. Transistor 430 is controlled by D/Asn'which is applied to its gates; transistor 431 is turned off and on in response to D/sn.
Thus, either transistor 430 or 431 is on depending on the state of the sign bit, D/Asn. The voice coil of speaker 4 preferably has a 100 ohm impedance and has a center top connected to Vgg. Thus, the signals on lines D/A6-DA, control the magnitude of current flow through the voice coil while the signals on lines D/Asn and D/Asn control the direction of that flow.
Alternatively to using a center-tapped 100 ohm voice coil, a more conventional eight ohm speaker may be used along with a transformer having a 100 ohm center tapped primary 60 (connected to Vgg and transistors 430 and 431) and an eight ohm secondary (connected to the speaker's terminals). In yet another embodiment, the center tap may be eliminated altogether by utilizing transistors 440 and 441, which are not used in the embodiments utilizing the center tapped transformer or voice coil.
It should now be appreciated by those skilled in the art that D/A converter 426 not only 65 18 GB 2 077 018A 18 converts digital sign magnitude information on lines D/A,-D/A, and D/Asn- D/Asn to an analog signal, but has effectively amplified this analog signal to sufficient levels to permit a speaker to be driven directly from the MOS synthesis chip 10 (or via the aforementioned transformer, if desired). Of course, those skilled in the art will appreciate that simple D/A converters, such as that disclosed here, will find use in other applications in addition to speech synthesis circuits.
THE SPEECH SYNTHESIZER CHIP In Fig. 22 a greatly enlarged plan view of a semiconductor chip which contains the entire system of Figs. 4a and 4b is illustrated. The chip is only about two hundred fifteen mils (about 10 0.215 inches) on a side. In the example shown, the chip is manufactured by the P-channel metal gate process using the following design rules: metal line width 0. 25 mil; metal line spacing 0.25 mil; diffusion line width 0. 15 mil; and diffusion line spacing 0.30 mil. Of course, as design rules are tightened with the advent of electron beam mask production or slice writing, and other techniques, it will be possible to further reduce the size of the synthesizer chip. The 15 size of the synthesizer chip can, of course also be reduced by not taking advantage of some of the features preferably used on the synthesizer chip.
The total active area of speech synthesizer chip 10 is approximately 45, 000 square mils.
It will also be appreciated by those skilled in the art, that other MOS manufacturing techniques, such as N-channel, complementary MOS (CMOS) or silicon gates processes may 20 alternatively be used.
The various parts of the system are labeled with the same reference numerals previously used in this description.
CONTROLLER LOGIC DIAGRAMS The controller used in the learning aid is preferably a microprocessor of the type described in U.S. Patent 4,074,355, with modifications which are subsequently described. U.S. Patent 4,074,355 is hereby incorporated herein by reference. It is to be understood, of course, that other microprocessors, as well as future microprocessors, may well find use in applications such as the speaking learning aid described herein.
The microprocessor of U.S. Patent 4,074,355 is an improved version of an earlier micropro cessor described in U.S. Patent 3,991,305. One of the improvements concerned the elimination of digit driver devices so that arrays of light emitting diodes (LED's) forming a display could be driven directly from the microprocessor. As a matter of design choice, the display used with this learning aid is preferably a vacuum fluorescent (VF) display device. Those skilled in the art will 35 appreciate that when LED's are directly driven, the display segments are preferably sequentially actuated while the display's common character position electrodes are selectively actuated according to information in a display register or memory. When VF displays are utilized, on the other hand, the common character position electrodes are preferably sequentially actuated while the segments are selectively actuated according to information in the display register or 40 memory. Thus, the microprocessor of U.S. Patent 4,074,355 is preferably altered to utilize digit scan similar to that used in U.S. Patent 3,991,305.
The microprocessor of U.S. Patent 4,074,355 is a four bit processor and to process alphanumeric information, additional bits are required. By using six bits, which can represent 26 or 64 unique codes, the twenty-six characters of the alphabet, ten numerals as well as several 45 special characters can be handled with ease. In lieu of converting the microprocessor of U.S.
Patent 4,074,355 directly to a six bit processor, it was accomplished indirectly by software pairing the four bit words into eight bit bytes and transmitting six of those bits to the display decoder.
Referring now to Figs. 1 5a- 1 5b, which form a composite block diagram of the microproces- 50 sor preferably used in the learning aid, it should be appreciated that this block diagram generally corresponds with the block diagram of Figs. 7a and 7b of U.S. Patent 4,074,355; several modifications to provide the aforementioned features of six bit operation and VF display compatability are also shown. The numbering shown in Figs. 15a and 15b generally agrees with that of U.S. Patent 4,074,355. The modifications will now be described in detail.
Referring now to the composite diagram formed by Figs. 1 6a- 1 6b, which replace Fig. 13 of U.S. Patent 4,074,355, there can be seen the segment decoder and RAM address decoder 33-1 which decodes RAMY for addressing RAM 31 or ACC1 -ACC8 for decoding segment information. Decoder 33-1 generally corresponds to decoder 33 in the aforementioned U.S.
Patent. The segment information is re-encoded into particular segment line information in output 60 section 32-2 and outputted on bus 90 to segment drivers 91. Six bits of data from the processor's four bit accumulator 77 are decoded 33-1 as is now described. First, four bits on bus 86 are latched into accumulator latches 87-1 through 87-8 on a TDO (Transfer Data Out) instruction when status is a logical one. Then, two bits on bus 86 (from lines 86-1 and 86-2) 65 are latched into accumulator latches 87-16 and 86-32, respectively, on another TDO 19 GB2077018A 19 instruction when status is a logical zero. Then the six bits in latches 87-1 through 87-32 is decoded in decoder 33- 1. Segment drivers 91 may preferably be of one of three types, 91 A, 91 B or 91C as shown in Figs. 1 6a-1 6b. The 91A type drivers permits the data on ACC1-ACC8 to be communicated externally via pins SEG G, SEG B, SEG C and SEG D. The 91 B type driver coupled to pin SEG E permits the contents of digit register 94-10 to be communicated externally when digit register 94-12 is set. The 91 B type driver coupled to pin SEG A permits the contents of the program counter to be outputted during test operations.
The digit buffers registers and TDO latches of Fig. 14 of U.S. Patent 4, 074,355 are also preferably replaced with the digit buffers registers of Fig. 17 herein inasmuch as (1) the DDIG signal is no longer used and (2) the digit latches (elements 97 in U.S. Patent 4,074,355) are no 10 longer used. For simplicity's sake, only one of the digit output buffer registers 94 is shown in detail. Further, since in this embodiment of the learning aid, display 2 preferably has eight character positions, eight output buffers 98-0 through 98-7 connect DO-D, to the common electrodes of display 2 via registers 94-0 through 94- 7 are shown in Fig. 17. An additional output buffer 98-8 communicates the contents of registers 94-12, which is the chip select 15 signal, to synthesizer 10.
To facilitate bi-directional communication with synthesizer 10, the microprocessor of U.S. Patent 4,074,355 is preferably modified to permit bi-directional communication on pins SEG G, SEG B, SEG C and SEG D. Thus, in Fig. 18, these SEG pins are coupled to the normal K lines, 112-1 through 112-8, via an input selector 111 a for inputting information when digit registers 20 94-12 (1312) is set. Further, these pins are also coupled to ACC1 -ACC8 via segment drivers 9 1 A when digit registers 94-12 (13 12) and 94-11 (R 11) are set for outputting information in accumulator 77.
Thus, when digit latch 94-12 (which communicates the chip select signal externally) is set, SEG E is coupled to R 10 (digit registers 94-10) for communicating the PDC signal to synthesizer 10. Also, ACC 1 -ACC8 is outputted on S EG G and S EG B-S EG D, during the time R 12 is and R 11 are set. When R 11 is a logical 0, i.e., is reset, segment drivers 9 1 A are turned off and data may be read into CKB circuit 113 for receiving data from ROMs 1 2a- 1 2b via synthesizer 10, for instance. Fig. 18 replaces the keyboard circuit 111 shown in Fig. 22 of U.S.
Patent 4,064,554.
Preferably, pins SEG G and SEG B-SEG D are coupled to CTL1 -CTL8 pins of synthesizer 10, while pin SEG E is coupled to the PDC pin of synthesizer 10.
READ-ONLY-MEMORY LOGIC DIAGRAMS Read-Only-Memories 1 2a to 1 2b or 1 3a or 1 3b are shown in Figs. 19, 20a, 20b, 21 a and 35 21 b. Fig. 19 is a block diagram of any one of these ROMs. Figs. 20a and 20b form a composite logic diagram of the control logic for the ROMs while Figs. 20a and 20b form a composite logic diagram of the X and Y address decoders and pictorially show the array of memory cells.
Referring now to Fig. 19, the RAM array 601 is arranged with eight output lines, one output 40 line from each section of 16,384 bits. The eight output lines from ROM array 601 are connected via an output latch 602 to an eight bit output register 603. The output register 603 is interconnected with pins ADD 1 -ADD8 and arranged either to communicate the four high or low order bits from output register 603 via the four pins ADD1 -ADD8 or alternatively the bit serially from output register 603 via pin ADD1. The particular alternative used may be selective 45 according to mask programmable gates.
ROM array 601 is addressed via a 14 bit address counter 604. The address counter 604 has associated therewith a four bit chip select counter 605. Addresses in address counter 604 and chip select counter 605 are loaded four bits at a time from pins ADD1 - ADD8 in response to a decoded Load Address (LA) command. The first LA command loads the four least significant bits 50 in address counter 604 (bits A,-AJ, and subsequent LA commands load the higher order bits, (A4-A,, A,-A,, and A,,-AJ. During the fourth LA cycle the A,, and A,, bits are loaded at the same time the CSO and CS 'I bits in chip select counter 605 are loaded. Upon the fifth LA command the two most significant bits in chip select counter 605 are loaded from ADD1 and ADD2. A counter 606 counts consecutively received LA commands for indicating where the four 55 bits on ADD1-ADD8 are to be inputted into counters 604 and/or 605.
Commands are sent to the ROM chip via 1, and 11 pins to a decoder 607 which outputs the LA command a TB (transfer bit) and a RB (read and branch) command.
Address register 604 and chip select register 605 have an add-one circuit 608 associated therewith for incrementing the address contained therein. When a carry occurs outside the fourteen bit number stored in address register 604 the carry is carried into shift select register 605 which may enable the chip select function if not previously enabled or disable the chip select function if previously enabled, for example. Alternatively, the eight bit contents of output register 603 may be loaded into address register 604 by means of selector 609 in response to an RB command. During an RB command, the first byte read out of array 601 is used as the 65 GB2077018A 20 lower order eight bits while the next successive byte is used for the higher order six bits in counter 604.
The output of chip select register 605 is applied via programmable connectors 610 to gate 611 for comparing the contents of chip select counter 605 with a preselected code entered by the programming of connectors 610. Gate 611 is also responsive to a chip select signal on the 5 ship select pin for permitting the chip select feature to be based on either the contents of the four bit chip select register 605 and/or the state of the chip select bit in the CS pin. The output of gate 611 is applied to two delay circuits 612, the output of which controls the output buffers associated with outputting information from output register 603 to pins ADD1 -ADD8. The delay imposed by delay circuits 6 12 effect the two byte delay in this embodiment, because the 10 address information inputted on pins ADD 1 -ADD8 leads the data outputted in response thereto by the time to require to access ROM array 601. The CS pin is preferably used in the embodiment of the learning aid disclosed herein.
A timing PLA 600 is used for timing the control signals outputted to ROM array 601 as well as the timing of other control signals.
Referring now to the composite drawing formed by Figs. 20a and 20b, output register 603 is formed by eight -A- bit latches, an exemplary one of which is shown at 617. The output of registers 603 is connected in parallel via a four bit path controlled on LOW or HIGH signals to output buffers 616 for ADD 1 -ADD4 and 61 6a for ADD8. Buffers 616 and 61 6a are shown in detail on Figs. 21 a-21 b.
Gates 615 which control the transferring of the parallel outputs from register 603 via in response to COW and HIGH are preferably mask level programmable gates which are preferably not programmed when this chip is used with the learning aid described herein. Rather the data in register 603 is communicated serially via programmable gate 614 to buffer 616a and pin ADD8. The bits outputted to ADD1-ADD8 in response to a HIGH signal are driven from the third through sixth bits in register 603 rather that the fourth through seventh bits inasmuch as a serial shift will normally be accomplished between a LOW and HIGH signal.
Address register 604 comprises fourteen of the bit latches shown at 617. The address in address 604 on lines AO-A13 is communicated to the ROM X and Y address buffers shown on Fig. 21 a-21 b. Register 604 is divided into four sections 601 a-601 d, the 601 d section loading 30 four bits from ADD 1 -ADD8 in response an LAO signal, the 601 c section loading four bits from ADD 1 -ADD8 in response to an LA1 signal and likewise for section 601 b in response to an LA2 signal. Section 601 a is two bits in length and loads the ADD 1 and ADD2 bits in response to an W signal. The chip select register 605 comprise four B type bit latches of the type shown at 618. The low order bits, CSO and CS1 are loaded from ADD4 and ADD8 in response to an LA3 35 signal while the high order bits CS2 and CS3 are loaded from ADD 'I and ADD2 on an LA4 signal. TheWO-IA-4 signals are generated by counter 606. Counter 606 includes a four bit register 619 comprised of four A bit latches 617. The output of the four bit counter 619 is applied to a PLA 620 for decoding the EA-T-LA4 signals. The LAO signal is generated by a NAND gate 621. As can be seen, the EWsignal comes up in response to an LA signal being 40 decoded immediately after a TB signal. The gate 621 looks for a logical one on the LA signal and a logical one on an LTBD (latched transfer bit delay) signal from latch 622. Decoder 607 decodes the 10 and 1, signals applied to pins 1, and 1, for decoding the TB, LA and RB control signals on the 10 and 1, pins are set out in Table X. Latch circuit 622 is responsive to LA, RB and TB for indicating whether the previously received instruction was either an LA or a TB or RB 45 command.
In addition to counting successive LA commands, four bit counter 609 and PLA 620 are used to count successive TB commands. This is done because in this embodiment each TB command transfers one bit from register 603 on pin ADD8 to the synthesizer chip 10 and output register 603 is loaded once each eight successive TB commands. Thus, PLA 620 also generates a TB8 50 command for initiating a ROM array addressing sequence. The timing sequence of counter 619 and PLA 620 are set forth in Table XL Of course, the EA1 J5W signal is only generated responsive to successive LA commands while the TB8 signals only generate in response to successive TB commands.
Add-one circuits 608 increments the number in program counter 604 in response to a TB 55 command or an RB command. Since two successive bytes are used as a new address during an RB cycle, the card address and the present address incremented by one must be used to generate these two bytes. The output of add-one circuit 608 is applied via selector 609 for communicating the results of the incrementation back to the input of counter 604. Selector 609 permits the bits in output register 603 to be communicated to program counter 604 during an 60 RB cycle as controlled by signal BR from array 600. Add-one circuit 608 is also coupled via COUNT to chip select counter 605 for incrementing the number stored therein whenever a CARRY would occur outside the fourteen bits stored in program counter 604. The output of chip select counter 605 is applied via programmable gate 610 to gate 611. The signal on the CS pin may also be applied to gate 611 or compared with the contents of CS3. Thus, gate 611 65 21 GB2077018A 21 can test for either (1) the state of the CS signal, (2) a specific count in counter 605 or (3) a comparison between the state on the chip select and the state of CS3 or (4) some combination of the foregoing, as may be controlled by those knowledgeable in the art according to how programmable links 610 are programmed during chip manufacture. The output of gate 611 is applied via two bit latches of the C type, which are shown at 622. Timing array 600 controls the timing of ROM sequencing during RB and TB sequences. Array 600 includes PLA sections 600a and 600b and counters 623 and 624. Counter 623 is a two bit counter comprising two A type bit latches shown at 617. Counter 63 counts the number of times a ROM access is required to carry out a particular instruction. For instance, a TB command requires one ROM access while an RB command requires three ROM accesses. Counter 624, which comprises four 10 "A" type bit latches of the type shown at 617, counts through the ROM timing sequence for generating various control signals used in accessing ROM array 601. The timing sequence,for a TB command is shown in Table XI which depicts the states in counter 623 and 624 in the signals generated in response thereto. A similar timing sequence for an RB command is shown in Table XIII. The various signals generated by PLA 600a and 600b will now be briefly described. The BR signal controls the transfer of two serial bits from the output register 603 to the program counter 604. The TF signal controls the transfer of eight bits from the sense amp latch 602 (Fig. 21-21 b) to output register 603 on lines SAO-SA7. INC controls the serial incrementing of the program counter, two bits for each INC signal generated. PC is the precharge signal for the ROM array and normally exists for approximately ten microseconds. The 20 DC signal discharges the ROM 601 array and preferably lasts for approximately ten microseconds for each DC signal. This particular ROM array uses approximately seventy microseconds to discharge and thus seven DC signals are preferably generated during each addressing sequence. SAM gates the data outputted from the ROM into the sense amp latch 602 while SAD sats the address lines by gating the address from the program counter into the ROM address buffers 625 (Figs. 21 a-21 b).
ALTERNATIVE EMBODIMENTS Although the invention has been described with reference to a specific embodiment, this description is not meant to be construed in a limiting sense. Various modifications of the 30 disclosedembodiment as well as alternative embodiments of the invention will become apparent to persons skilled in the art upon reference to the description of the invention. It is therefore contemplated that the appended claims will cover any such modifications or embodiments that fall within the true scope of the invention.
TABLE 1 THE FOLLOWING SEQUENCE IS AN EXAMPLE OF THE LEARNING AID IN THE SPELLING MODE.
KEY DISPLAY SPEAKER COMPUSPELL 4 RANDOM TONES GB 2 077 018A 22 SPELL A B SPELL B B c SPELL C c 10 D SPELL D D p SPELL D p A SPELL A A GO SPELL DO AS IN DO NOT D D- D 15 0 DO- 0 ENTER DO THAT IS CORRECT, NOW SPELL WAS W W_ W 20 U wU_ U S wus- S ERASE - W W_ W A WA- A 25 S WAS- S ENTER WAS THAT IS RIGHT, NEXT SPELL ANY A A- A 30 N AN- N 1 ANI- 1 ENTER ANI TRY AGAIN, ANY 35 REPEAT ANY REPEAT ANY (I- SPEED) 2 E E- E N EN- N Y ENY- Y 40 ENTER ENY THAT IS INCORRECT, THE CORRECT SPELLING OF ANY IS A A AN N 45 ANY Y ANY ANY NOW TRY FULL F F- F 50 U FU- U L FU L- L L FULL- L FULL THAT IS CORRECT, TRY SHOE 55 MEANING FOOTWEAR S S_ S H SH- H 0 SHO- 0 60 E SHOE- E ENTER SHOE YOUR ARE CORRECT, SPELL COMB c c-. c 0 co- 0 65 23 GB 2 077 018A 23 Table 1 (continued) m COM- m E COME- E ENTER COME TRY AGAIN, 5 COMB 0 CO m COM B COMB- 10 ENTER COMB YOU ARE CORRECT, NOW SPELL FOUR AS IN THE NUMBER F F- F 15 0 FO- 0 U FOU- U R FOUR- R ENTER FOUR THAT IS CORRECT, NEXT SPELL WHO 20 W W- W H WH- H 0 WHO- 0 ENTER WHO YOU ARE RIGHT, NOW TRY SOUP 25 S S- S 0 so- 0 U SOU- U p SOUP- p ENTER SOUP THAT IS RIGHT, 30 TRY MOST m m- m 0 MO- 0 S MOS- S T MOST- T 35 ENTER MOST YOU ARE CORRECT +8 -2 4 TONES +8 -2 5 TONES +8 -2 HERE IS YOUR SCORE, EIGHT CORRECT, TWO 40 DID NOT COMPUTE.
TABLE 11
LEARN MODE 45 c c- KEY DISPLAY SPEAKER BUSY (1 SECOND PAUSE) SAY IT 50 (2 SECOND PAUSE) BUSY MANY (1 SECOND PAUSE) (2 SECOND PAUSE) SAY IT 55 MANY CARRY (1 SECOND PAUSE) SAY IT (2 SECOND PA.USE) CARRY 60 YOUR (1 SECOND PAUSE) SAY IT (2 SECOND PAUSE) 24 GB 2 077 018A 24 Table 11 (continued) YOUR WILD (1 SECOND PAUSE) SAY IT 5 (2 SECOND PAUSE) WILD LOVE (1 SECOND PAUSE) SAY IT (2 SECOND PAUSE) 10 LOVE BUSH (1 SECOND PAUSE) REPEAT SAYIT REPEAT IGNORED (2 SECOND PAUSE) REPEAT BUSH 15 REPEAT EARN (1 SECOND PAUSE) SAY IT (2 SECOND PAUSE) EARN SPELL MANY 20 m M_ m A MA- A N MAN- N Y MANY- Y ENTER MANY YOU ARE CORRECT, 25 NOW SPELL EARN THE LEARNING AID CONTINUES THROUGH THE REMAINING 9 WORDS AS IN THE SPELLING MODE.
a GB2077018A 25 TABLE Ill IN THE WORD GUESSER MODE THE LEARNING AID RANDOMLY SELECTS A WORD FROM LEVEL C OR D AND DISPLAYS DASHES TO REPRESENT THE NUMBER OF LETTERS IN THE CHOSEN WORD. THE USER TRIES TO GUESS THE WORD. THE USER MUST COMPLETE THE WORD BEFORE MAKING SEVEN INCORRECT GUESSES. THE FOLLOWING IS AN EXAMPLE OF THE FUNCTION OF THE LEARNING AID 10 IN THE SPELLING MODE.
KEY DISPLAY SPEAKER HANGMAN -------- 4 TONES A -------- 15 E E-E ---- E 4 TONES 1 E-E ---- E 0 E-E--O-E 4 TONES U E-E--O-E B E-E--O-E 20 C E-E--O-E D E-E--O-E F E-E--O-E EVERYONE 4 TONES, 1 WIN ------ 25 A E ----- E 4 TONES 1 ----- E 0 -0 --- E 4 TONES U -OU-E 4 TONES 30 B -OU---E C COU--E 4 TONES R COUR-E 4 TONES S COURSE 4 TONES COURSE 4 TONES, YOU WIN 35 TABLE IV
The synthesizer 10 includes interpolation logics to accomplish a nearly linear interpolation of all twelve speech parameters at eight points within each frame, that is, once each 2.5 msec. 40 The parameters are interpolated one at a time as selected by the parameter counter. The interpolation logics calculate a new value of a parameter from its present value (i.e. the value currently stored in the K-stack, pitch register or E-1 0 loop) and the target value stored in encoded form in RAM 203 (and decoded by ROM 202). The value computed by each interpolation is listed below.
Where P, is the present value of the parameter, Pi, is the new parameter value P, is the target value Ni is an integer determined by the interpolation counter The values of N, for specific interpolation counts and the values Pi - PO P, - PO (PO is initial parameter value) are as follows:
26 GB2077018A 26 pi - PO INTERPOLATION COUNT Ni P, - P, 1 8 0.125 2 8 0.234 3 8 0.330 10 4 4 0.498 4 0.623 6 2 0.717 7 2 0.859 0 1 1.000 15 TABLE V ---HELP- 0000 0100000000100110111010010111 0111000001 1101100100100001010010000110011110001010100101010 1101100111 1110100111 liolibloooolioloililloidiololoololilloooloololiol 1101101000011100101110001100110110000100100011101 1101100110100010101001101001111110110101010000110 1011100101 1010100100011010011110001100111101110010001010110 1001100001 1001011101 1000011011 0010011100001010010111011001111C0101011100101101 0000 0000 0000 0111000000101000101110111000 40 0111000000100010101110110110 0101000001 0011000000100110011110100110 0010000 10 1 101 101 0000 1111 1 >- F (D úr = < ui 0 W z I- CL W ii em m m m 1 W m2 W CL Cc: 4 d d d d d d d Y_ HEL p k TABLE V1 DECODED PARAMETERS CODE E p K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 00 000 00 20B 2A3 273 28F 2C1 2DE 2DD 326 31E 34D 01 000 029 20F 2B8 293 2B2 2E2 304 300 37B 363 386 02 001 02B 213 2W 2B9 2DB 306 32F 328 3DA 3AE 3C3 03 001 02D 218 2E8 2E6 30B 32D 35D 352 03B 3FD 001 04 002 02F 220 304 31B 341 358 38E 280 098 04C 03E 003 031 229 321 356 37D 386 3C2 3BO OEB 097 07B 06 005 033 234 340 398 3BD 3B6 3F7 3E1 131 ODC OB3 07 007 035 242 362 3DC 3FF 3E7 02C 013 169 118 0E7 08 OOA 037 255 384 023 040 018 061 045 09 OOF 03A 26B 3A8 068 080 049 093 075 OA 015 03C 286 3CD 0A9 OBC 079 0C2 0A3 OB 01E 03F 2A8 3F2 0E4 OF3 0A7 OEE OCE oc 02B 042 2CF 017 119 123 OD2 116 OF6 OD 03D 046 2FD 03C 146 14C OF9 139 118 OE 056 049 332 061 16C 16F 11D 158 13C OF 000 04C 36C 085 18C 18D 13E 173 159 04F 3AA 0A7 11 053 3EB 0C7 12 057 02D 0E6 13 05A 06E 103 14 05E OAB 11E 063 0E3 136 16 067 115 14D 17 068 140 162 18 070 165 174 19 076 184 185 1A 078 19D 194 1B 081 1B2 1A1 ic 086 1C3 1AD 1D 08C 1DO IB7 1E 093 1DA lcl 1F 099 1E2 1FA 0 TABLE VII DATA OUTPUTTED FROM K-STACK 302 TO RECODING LOGIC 301 BY TIME PERIODS K-STACK OUTPUT TIME PERIODS BIT LINE T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 T19 T20 T21 T22 T23 T24 T25 T26T27 LS13 32-1 K2 K, A Kg K, K, Ke, K5 K4 K3 K2 K, K,, K, K, K7 K, K, K, K3 32-2 K2 K, A K, K8 K7 K6 K, K4 K, K2 K, Kjo K, K, K' K6 K5 K, K3 32-3 K2 K, A K, K, K, K6 K, K4 K3 K2 K, K,, K, K, K7 K6 K, K4 K3 324 K2 K, A K, K8 K7 K6 KE; K4 K3 K2 K, Kjo K, K, K7 K6 K, K4 K3 32-5 K3 K2 K, A Kg K,3 K, K, K.5 K4 K, K2 K, K,, Kg K8 K, K, K, K4 326 K3 K2 K, A Kg K,3 K, Kr, K, k4 K3 K2 K, K,, Kt, K,3 K7 K, K, K4 32-7 K4 K3 K2 K, A Kg K8 K7 K, K, K4 K3 K2 K, K,, K, K,3 K7 K, K' 32-8 K4 K3 K2 K, A K, K, K7 K6 K, K4 K, K2 K, K,o K, K,3 K7 K6 K, 32-9 K, K, K3 K2 K, A Kg K,3 K7 K6 K, K4 K3 K2 K, Kjo K9 K, K7 K6 MSB 32-10 K5 K4 K3 K2 K, A K, K8 K7 K,; K r, K4 K3 K2 K, K,o K,9 K,3 K7 Ke v ' 'I bi 00 G) m bi 0 'i,j 0 co m co c 29 GB 2 077 018A 29 TABLE Vill CHIRP ROM CONTENTS CHIRP FUNCTION STORED VALUE ADDRESS VALUE - (COMPLEMENTED) 5 00 00 FF 01 2A D5 02 D4 213 03 32 CD 10 04 B2 4D 12 ED 06 25 DA 07 14 EB 08 02 FD 15 09 E1 IE C5 3A 11 02 FD 12 5F AO 13 5A A5 20 14 05 FA OF FO 16 26 D9 17 FC 03 18 A5 5A 25 19 A5 5A D6 29 21 DD 22 22 DC 23 23 FC 03 30 24 25 DA 213 D4 26 22 DD 27 21 DE 28 OF FO 35 29 FF 00 F8 07 31 EE 11 32 ED 12 33 EF 10 40 34 F7 08 F6 09 36 FA 05 37 00 FF 38 03 FC 45 39 02 FD 01 FE TABLE X 50
10/11 COMMANDS 1, 11 0 0 No Operation 55 0 1 Load Address (LA) 1 0 Transfer Bit (TB) 1 1 Read and Branch (RB) TABLE X[ Counter 619/PLA 620 Timing Sequence COUNTER 5 STEP CONTENTS (HEX) SIGNALS GENERATED GB2077018A 30 1 0 LA1, TB8 2 8 LA2 3 c LA3 4 E LAf 10 F 6 7 7 3 8 1 15 TABLE XII TB8 READ SEQUENCE COUNTER 623 COUNTER 624 SIGNALS 20 STEP CONTENTS (BINARY) CONTENTS (HEX) GENERATED 1 10 F SAD, INC 2 10 E DC, INC 3 10 C DC, INC 25 4 10 8 DC, INC 10 0 DC, INC 6 10 1 DC, INC 7 10 3 SAM, DC, INC 8 10 7 PC, ZERO 30 TABLE XIII TB8 READ SEQUENCE COUNTER 623 COUNTER 624 SIGNALS STEP CONTENTS (BINARY) CONTENTS (HEX) GENERATED 1 11 F SAD, INC 2 11 E DC, INC 40 3 11 C DC, INC 4 11 8 DC, INC 11 0 DC, INC 6 11 1 DC, INC 7 11 3 SAM, DC, INC 45 8 11 7 PC 9 01 F SAD, TF 01 E BR, PC 11 01 C BR, DC 12 01 8 BR, DC 50 13 01 0 BR, DC 14 01 1 DC 01 3 SAM, DC 16 01 7 PC 17 00 F SADJF 55 18 00 E BR 19 QO C BR 00 8 BR 21 00 0 22 00 1 60 23 00 3 24 00 7 PC 10 F SAD, INC 26 10 E DC, INC 65 lk 31 GB2077018A 31 Table Xill (continued) 27 10 C DC, INC 28 10 8 DC, INC 29 10 0 DC, INC 5 10 1 DC, INC 31 10 3 SAM, DC, INC 32 10 7 PC,ZERO 10
Claims (12)
1. A talking electronic apparatus comprising:
means for storing digital speech data representing a plurality of requests for an operator and digital control data representative of appropriate operator responses corresponding to said plurality of requests; speech synthesizer means for converting said digital speech data into audible speech; means for randomly accessing a selected portion of said digital speech data; means for transferring said selected portion of said speech data to said speech synthesizer means to produce a randomly selected audible request; operator input means for receiving an operator response to said randomly selected audible 20 request; and means responsive to said digital control data and said operator response to said randomly selected audible request for informing an operator as to the appropriateness of said operator response.
2. A talking electronic apparatus as set forth in Claim 1, wherein said means responsive to 25 said digital control data and said operator response to said randomly selected audible request is effective to initiate a second selected audible request if said operator response is inappropriate.
3. A talking electronic apparatus as set forth in Claim 1, wherein said means responsive to said digital control data and said operator response to said randomly selected audible request is effective to repeat said randomly selected audible request if said operator response is inappropriate.
4. A talking apparatus as set forth in any of Claims 1 to 3, further including means responsive to said digital control data for producing a visual display corresponding to said randomly selected audible request.
5. A talking electronic apparatus as set forth in Claim 4, wherein said means for producing a 35 visual display is responsive to said informing means for informing said operator visually as to the appropriateness of said operator response.
6. A talking electronic apparatus as set forth in Claim 4, further including means operably associated with said speech synthesizer means for audibly requesting that an operator pro- nounce a visually displayed word.
7. A talking electronic apparatus as set forth in Claim 6, wherein said randomly accessing means is effective to randomly select a set of words to be pronounced ny an operator.
8. A talking electronic apparatus as set forth in any of Claims 1 to 7, wherein said speech synthesizer means is responsive to said informing means for audibly generating speech informing said operator as to the appropriateness of said operator response.
9. A talking electronic apparatus as set forth in any preceding claim, wherein said digital speech data storing means includes digitized speech data stored therein representative of one or more words of human speech and the correct spellings thereof; said randomly accessing means being effective for randomly selecting a particular word to be spelled by an operator, said particular word being stored as digitized speech data in said digital 50 speech data storing means and converted to audible speech by said speech synthesizer means; and said means responsive to said digital control data and said operator response to said randomly selected audible particular word being effective to compare an input entered at said operator input means with said correct spelling stored as digitized speech data in said digital speech data 55 storing means, and for generating a result signal indicative of the comparison, said means responsive to said digital control data and said operator response further including means for generating a response to the operator in accordance with said result signal.
10. A talking electronic apparatus as set forth in any preceding claim, wherein said operator input means comprises a keyboard.
11. A talking electronic apparatus as set forth in any preceding claim, wherein said digital speech data storing means comprises non-volatile digital semiconductor memory means.
12. A talking electronic apparatus as set forth in any preceding claim, further including means for receiving a battery power source for providing electrical power to said apparatus wherein said apparatus is hand-held.
32 GB2077018A 32 Printed for Her Majesty's Stationery Office by Burgess & Son (Abingdon) Ltd-1 98 1. Published at The Patent Office, 25 Southampton Buildings, London, WC2A I AY. from which copies may be obtained.
0
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US90139578A | 1978-04-28 | 1978-04-28 | |
US05/901,394 US4189779A (en) | 1978-04-28 | 1978-04-28 | Parameter interpolator for speech synthesis circuit |
US05/901,392 US4304964A (en) | 1978-04-28 | 1978-04-28 | Variable frame length data converter for a speech synthesis circuit |
US05/901,393 US4209836A (en) | 1977-06-17 | 1978-04-28 | Speech synthesis integrated circuit device |
Publications (2)
Publication Number | Publication Date |
---|---|
GB2077018A true GB2077018A (en) | 1981-12-09 |
GB2077018B GB2077018B (en) | 1983-02-23 |
Family
ID=27505989
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB7914082A Expired GB2020077B (en) | 1978-04-28 | 1979-04-23 | Learning aid or game having miniature electronic speech synthesizer chip |
GB8109731A Expired GB2077018B (en) | 1978-04-28 | 1980-09-12 | A talking electronic apparatus |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB7914082A Expired GB2020077B (en) | 1978-04-28 | 1979-04-23 | Learning aid or game having miniature electronic speech synthesizer chip |
Country Status (6)
Country | Link |
---|---|
BR (1) | BR7902621A (en) |
DE (4) | DE2954377C2 (en) |
FR (2) | FR2439449B1 (en) |
GB (2) | GB2020077B (en) |
HK (6) | HK13587A (en) |
IT (1) | IT1164126B (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3017517A1 (en) * | 1979-05-07 | 1980-11-13 | Texas Instruments Inc | LANGUAGE SYNTHESIS ARRANGEMENT |
US4304965A (en) * | 1979-05-29 | 1981-12-08 | Texas Instruments Incorporated | Data converter for a speech synthesizer |
EP0162479B1 (en) * | 1980-02-04 | 1990-03-21 | Texas Instruments Incorporated | Speech synthesis system |
EP0036559A1 (en) * | 1980-03-26 | 1981-09-30 | Texas Instruments Incorporated | Electronic reading learning aid |
US4464118A (en) * | 1980-06-19 | 1984-08-07 | Texas Instruments Incorporated | Didactic device to improve penmanship and drawing skills |
JPS579480A (en) * | 1980-06-19 | 1982-01-18 | Nintendo Co Ltd | Figure displaying game device |
US4403965A (en) * | 1980-10-01 | 1983-09-13 | Texas Instruments Incorporated | Electronic teaching apparatus |
GB2137398B (en) * | 1983-02-01 | 1986-11-05 | Mitsubishi Electric Corp | Language teaching device |
DE3640405A1 (en) * | 1986-11-26 | 1988-06-09 | Thomson Brandt Gmbh | Recording and reproduction appliance with a memory |
GB2207027B (en) * | 1987-07-15 | 1992-01-08 | Matsushita Electric Works Ltd | Voice encoding and composing system |
US5100329A (en) * | 1990-06-22 | 1992-03-31 | Deesen Kenneth C | Computer assisted coaching method |
USRE36028E (en) * | 1988-09-28 | 1999-01-05 | Deesen; Kenneth C. | Computer assisted coaching method |
US4959017A (en) * | 1989-02-15 | 1990-09-25 | Tutor Toys, Inc. | Electronic learning device for teaching how to handle money |
US5188533B1 (en) * | 1990-06-01 | 1997-09-09 | Leapfrog Rbt Llc | Speech synthesizing indicia for interactive learning |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3371321A (en) * | 1965-04-15 | 1968-02-27 | Ibm | Tutorial system |
US4060848A (en) * | 1970-12-28 | 1977-11-29 | Gilbert Peter Hyatt | Electronic calculator system having audio messages for operator interaction |
US3828132A (en) | 1970-10-30 | 1974-08-06 | Bell Telephone Labor Inc | Speech synthesis by concatenation of formant encoded words |
US3934233A (en) | 1973-09-24 | 1976-01-20 | Texas Instruments Incorporated | Read-only-memory for electronic calculator |
DE2435654C2 (en) | 1974-07-24 | 1983-11-17 | Gretag AG, 8105 Regensdorf, Zürich | Method and device for the analysis and synthesis of human speech |
US4005293A (en) * | 1974-11-29 | 1977-01-25 | Texas Instruments Incorporated | Pushbutton keyboard switch assembly having individual concave-convex contacts integrally attached to conductor strips |
DE2525025C3 (en) * | 1975-06-05 | 1981-01-29 | Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt | Circuit arrangement for the output of acoustic information |
US4058676A (en) | 1975-07-07 | 1977-11-15 | International Communication Sciences | Speech analysis and synthesis system |
US4022974A (en) * | 1976-06-03 | 1977-05-10 | Bell Telephone Laboratories, Incorporated | Adaptive linear prediction speech synthesizer |
US4064554A (en) | 1976-08-16 | 1977-12-20 | Texas Instruments Incorporated | Microcomputer with code conversion |
US4074355A (en) | 1976-08-16 | 1978-02-14 | Texas Instruments Incorporated | Digital microprocessor system with shared decode |
BG24190A1 (en) | 1976-09-08 | 1978-01-10 | Antonov | Method of synthesis of speech and device for effecting same |
GB1603993A (en) | 1977-06-17 | 1981-12-02 | Texas Instruments Inc | Lattice filter for waveform or speech synthesis circuits using digital logic |
-
1979
- 1979-04-23 GB GB7914082A patent/GB2020077B/en not_active Expired
- 1979-04-27 DE DE2954377A patent/DE2954377C2/de not_active Expired
- 1979-04-27 DE DE2954413A patent/DE2954413C2/de not_active Expired
- 1979-04-27 BR BR7902621A patent/BR7902621A/en unknown
- 1979-04-27 DE DE2954378A patent/DE2954378C2/de not_active Expired - Lifetime
- 1979-04-27 IT IT48871/79A patent/IT1164126B/en active
- 1979-04-27 DE DE2917161A patent/DE2917161C2/en not_active Expired
- 1979-05-02 FR FR7911070A patent/FR2439449B1/en not_active Expired
-
1980
- 1980-01-16 FR FR8000877A patent/FR2443114A1/en not_active Withdrawn
- 1980-09-12 GB GB8109731A patent/GB2077018B/en not_active Expired
-
1987
- 1987-02-12 HK HK135/87A patent/HK13587A/en not_active IP Right Cessation
- 1987-02-12 HK HK138/87A patent/HK13887A/en not_active IP Right Cessation
- 1987-02-12 HK HK136/87A patent/HK13687A/en not_active IP Right Cessation
- 1987-02-12 HK HK137/87A patent/HK13787A/en not_active IP Right Cessation
- 1987-02-12 HK HK139/87A patent/HK13987A/en not_active IP Right Cessation
- 1987-02-12 HK HK140/87A patent/HK14087A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
FR2443114A1 (en) | 1980-06-27 |
FR2439449B1 (en) | 1987-01-30 |
DE2917161A1 (en) | 1979-11-29 |
DE2954377C2 (en) | 1988-11-03 |
DE2917161C2 (en) | 1987-03-19 |
DE2954413C2 (en) | 1989-12-14 |
HK13687A (en) | 1987-02-20 |
HK13587A (en) | 1987-02-20 |
HK13987A (en) | 1987-02-20 |
HK13887A (en) | 1987-02-20 |
HK13787A (en) | 1987-02-20 |
IT1164126B (en) | 1987-04-08 |
IT7948871A0 (en) | 1979-04-27 |
GB2020077B (en) | 1983-01-12 |
FR2439449A1 (en) | 1980-05-16 |
HK14087A (en) | 1987-02-20 |
GB2020077A (en) | 1979-11-07 |
GB2077018B (en) | 1983-02-23 |
DE2954378C2 (en) | 1990-08-16 |
BR7902621A (en) | 1979-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4516260A (en) | Electronic learning aid or game having synthesized speech | |
US4304964A (en) | Variable frame length data converter for a speech synthesis circuit | |
US4189779A (en) | Parameter interpolator for speech synthesis circuit | |
US4403965A (en) | Electronic teaching apparatus | |
US4209836A (en) | Speech synthesis integrated circuit device | |
US4479124A (en) | Synthesized voice radio paging system | |
GB2077018A (en) | A talking electronic apparatus | |
US4234761A (en) | Method of communicating digital speech data and a memory for storing such data | |
US4946391A (en) | Electronic arithmetic learning aid with synthetic speech | |
Mattingly | Synthesis by rule of general American English | |
JPS58195957A (en) | Program starting system by voice | |
US4631748A (en) | Electronic handheld translator having miniature electronic speech synthesis chip | |
US4331836A (en) | Speech synthesis integrated circuit device | |
US4335275A (en) | Synchronous method and apparatus for speech synthesis circuit | |
US4970659A (en) | Learning aid or game having miniature electronic speech synthesis chip | |
US4209781A (en) | MOS Digital-to-analog converter employing scaled field effect devices | |
US4449233A (en) | Speech synthesis system with parameter look up table | |
EP0033510A2 (en) | Speech synthesis system and method for exciting speech synthesis filter thereof | |
EP0036559A1 (en) | Electronic reading learning aid | |
WO1983002188A1 (en) | Early learning device | |
US4468805A (en) | Variable frame length data converter for a speech synthesis circuit | |
EP0042488A2 (en) | Electronic arithmetic learning aid | |
GB2099264A (en) | Speech synthesis system with parameter look-up table | |
GB2098835A (en) | Method of communicating digital speech data and a memory for storing such data | |
GB2076205A (en) | A talking electronic apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PE20 | Patent expired after termination of 20 years |
Effective date: 19990422 |