Abstract:
An electronic apparatus capable of producing a voiced output representing various data input thereto and the results of operations on the input data includes a system for inhibiting the voiced output of data that is unnecessary to the operator. For example, when input data overflows the apparatus, a voiced output indicative thereof is inhibited. As another example, when input data or the result of an operation is a whole number, a voiced output indicative of decimal point location is inhibited. As still another example, if key entries are made too rapidly to permit a voiced output, such output is inhibited.

Description:
This application is a continuation of application Ser. No. 194,988 filed Oct. 8, 1980 now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an electronic apparatus functioning the output data in a synthesized voice through a voice synthesizer. 
     2. Description of the Prior Art 
     There have been some electronic apparatus such as certain computers in which the operator is informed, by a voice, of numeral data input thereto or output therefrom or of operational data keyed thereto. However, these voice outputs often contain data unnecessary to the operator. 
     SUMMARY OF THE INVENTION 
     Accordingly, it is an object of the invention to provide an electronic apparatus which is able to prevent unnecessary data from being produced from the apparatus as vocal output when data stored in the apparatus are produced by a voice. 
     More particularly, it is an object of the invention to provide a computer which does not inform the operator of all of the numeral data or operational data keyed thereto but which informs the operator by voice of only such data necessary to him by determining which data is unnecessary to him as vocal ouput. 
     It is another object of the invention to provide a computer which automatically informs an operator of the results of operation by voice and which can inform the operator only of the numeral data of the results relating to operation without data of an unnecessary decimal point if the results of operation include only whole numbers. 
     In the type of computer which informs an operator by voice when an ineffective key operation is made, for example, when a keyed-in number overflows the maximum number of positions provided in the apparatus, such keyed numeral data is not introduced into the computer but rather is ineffective. 
     Therefore, it is a further object of the invention to provide a computer which produces no voice information in the case of such ineffective key operation. 
     For conventional desk calculators with a printer there is usually provided a key [C E] (CLEAR ENTRY key) the function of which is to clear only the numeral data just keyed in but not to clear the remaining data. The key clears the numeral data keyed in by a so-called numeral key and a point key only immediately after these keys are operated. In this case, the words &#34;clear entry&#34; are uttered in voice from the voice synthesizer. After keying of other keys such as [+] [-] [×] [÷] [*] [=] and so on, the clear entry key does not carry out any clearing operation, that is, it becomes ineffective. 
     Therefore, it is still a further object of the invention to provide a computer or calculator which does not utter the words &#34;clear entry&#34; in the above case. 
     Also, for conventional desk calculators, if the results of an operation overflow the maximum number of positions in the calculator, namely if the state of so-called &#34;overflow&#34; occurs, then only the [C] key can remain effective and key entry of other keys is inhibited. Operation of any other key, if made, is rendered ineffective. 
     Therefore, it is a further object of the invention to provide a computer or calculator which does identify by voice those keys made ineffective in such a case. 
     Furthermore, for conventional desk calculators with vocal output, the case sometimes occurs where keys are operated too quickly to permit appropriate words to be uttered completely. Before the utterance of the voice is completed, it is terminated by operating another key and the processing occurs in response. If the next key is also operated too quickly, then the voice of the next key will be incompletely uttered and key processing will proceed further to a step indicated by the next key operated. In this manner, in the case of too quick key operation, the utterance of voice is made only incompletely and therefore the operator does not understand what information is to be indicated by the uttered voice. Such voice is merely troublesome to the operator. 
     Therefore, it is a further object of the invention to provide a computer or calculator which completely inhibits the utterance of voice in the case of quick key operation as mentioned above. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Other and further objects, features and advantages of the invention will appear more fully from the following description taken in conjunction with the accompanying drawings, in which: 
     FIG. 1 is a schematic block diagram showing an embodiment of the invention; 
     FIGS. 2A and 2B are explanatory diagrams of storage of the register AR used in the embodiment; 
     FIG. 2C illustrates the sequence of control of the apparatus shown in FIG. 1; 
     FIGS. 3A, 3B and 3C illustrate also the sequence of control; and 
     FIGS. 4A and 4B further illustrate the sequence of control. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In FIG. 1 showing an embodiment of the invention, a keyboard KB is for input of various key data, such as numerals and functions, to the computers. On the keyboard KB there are arranged various keys such as 0 through 9, ·, +, -, ×, ÷, C, CE and so on. 
     CC designates a control circuitry for sequential control. To discriminate which of the keys is then operated the control circuit develops a key scan signal to the keyboard KB from terminal ST and receives the signal from KB at another terminal RT. 
     A read-only memory (ROM) stores micro instruction data for sequential control. The read-only memory issues different micro instruction data under the control of the control circuitry CC. In the embodiment shown, data stored in ROM A are processing data necessary for arithmetic operations such as entry and processing, and four-fundamental operation processing data, together with control data for controlling whether or not a vocal output as shown in FIGS. 2C, 3A-3C and 4A and B should be made. 
     A ROM decoder C receives data from ROM A, decodes the data and produces the decoded instructions. 
     A processor CPU is an operation unit for carrying out operations, processing and various controls in accordance with the instructions coming from ROM decoder C. CPU contains a register AR for holding data of entered numbers and data of operation results, registers BR and CR for carrying out operations, an arithmetic unit ALU for executing operations, an input buffer register for temporarily storing key codes keyed in, a decoder (not shown) for producing the signals of the data of an entered number and the result of an operation for display and, flag F1, F2, FN and OVF for indicating the internal state of the computer. 
     A display unit D displays the data entered through the keyboard and results of operations according to the outputs from the processor CPU. The display unit may be composed of, for example, fluorescent display tubes or liquid crystal indicators. 
     A vocal read-only memory (ROM) R stores digital data for voice output. The following groups of words are stored in this ROM R in the form of digitally coded signals: 
     Zero, one, two, three, four, five, . . . , plus, minus, multiplied by, divided by, clear, clear entry overflow, . . . and so on. 
     A vocal control VCR produces address data for access to the vocal ROM R. To make the audible output of the above words, &#34;one&#34;, &#34;two&#34;, &#34;three&#34;, &#34;four&#34; or the like, ROM decoder C applies to the vocal control VCR a digital code signal to instruct which word should be uttered. After discriminating the digital code signal, the vocal control VCR accesses the vocal ROM R and makes it produce the instructed vocal digital data. 
     The vocal digital data is introduced into a digital-to-analog converter DA which converts the digital data into an analog form. The converted data is then introduced into a low-pass filter LPF to pass the analog audio signals. After being amplified by an amplifier AMP, the audio signals are applied to a loud speaker SP. Thus, a voice of the selected words is uttered through the speaker SP. 
     On the other hand, the output from the vocal ROM R is put into the vocal control VCR as E1 signal informing of the end of the vocal digital data of one word or group of words. Thus, the E1 signal serves also as an end signal for ending the utterance of voice of one word group. The vocal control VCR detects this signal E1 to terminate the utterance of one word group. At the same time, VCR transfers a signal E2 to the processor CPU to inform it of the end of one word group. 
     In accordance with the present invention the above a computer is arranged as described above. 
     The operation of the above described apparatus will be explained hereinafter with reference to the processing sequences shown in FIGS. 2A to 4B. These processing sequences are all stored in the read-only memory A. 
     As previously noted, according to the invention, unnecessary information about a decimal point is not generated when the result of an operation is a whole number. At first, this processing will be described with reference to FIGS. 2A and 2B. 
     In FIGS. 2A and 2B there is shown the register AR included in the above-described operation CPU. The register AR has storage capacity to store operational results in ten digit positions. The position indicated by DP is a point position alloted for indication of a decimal point and positions D1 to D10 are for registering digits. Position X is an overflow position used in operation. 
     In the case shown in FIG. 2A, there is digit &#34;2&#34; in the position DP and therefore the result of operation stored in the register represents &#34;120. 45&#34; which is not a whole number. In contrast, in the case shown in FIG. 2B there is &#34;0&#34; in the position DP and therefore the result of operation stored therein represents &#34;12045.&#34; which is a whole number. 
     The operation in the case of FIG. 2A where the result of operation is not a whole number will be discussed below. 
     When the operator operates an operation result computing key such as the [=] key on the keyboard KB, the control circuitry CC detects it and ROM A issues an instruction to execute the operation the sequences of which are shown in FIG. 2C. Thereby an operation is executed in the processor CPU. The step of &#34;Execute Operation&#34; involves ordinary addition, subtraction, multiplication and division. The technique necessary therefore is well known in the art of computers and therefore need not be further described. The result obtained by the operation is, in this case, such as shown in FIG. 2A which is not a whole number. 
     At the next step, an instruction &#34;Reset F1, F2&#34; is executed to store the state of the computer. Flags F1 and F2 are reset to &#34;0&#34; by the processor CPU. Then, at the step of &#34;DP=0&#34;, determination is made of whether the register AR has &#34;0&#34; in its point position or not. In the example now being described, there is &#34;2&#34; in the position DP and the answer is &#34;No&#34;. Therefore, the instruction &#34;SET F2&#34; is not executed but the next instruction &#34;10-DP→DP&#34; is executed. Namely, &#34;2&#34; appearing in the DP position in the register AR is subtracted from 10 and the answer &#34;8&#34; is stored in DP. 
     At the step of &#34;10--X&#34;, numeral &#34;10&#34; is stored in the position X of the register. At the next step, &#34;Ax·SEN=0&#34;, it is checked whether the register AR has &#34;0&#34; or not in the position corresponding to the content in the position X of the register. Namely, since the content in the position X is now &#34;10&#34;, a decision is made to check whether the content in 10th position of the register AR is &#34;0&#34; or not. In the case now being discussed, the content in the 10th position of AR is &#34;0&#34; and therefore the answer is &#34;Yes&#34;. The sound of the number is not uttered for this position and the step is advanced to &#34;F1=0&#34; where it is checked whether flag F1 is &#34;0&#34; or not. Since the answer is &#34;Yes&#34; and therfore the step is advanced to &#34;DP-1=0&#34;. By this instruction, &#34;8-1=7&#34; is executed and the result &#34;7&#34; is registered in the position DP. Since it is not &#34;0&#34; and the answer is &#34;No&#34;, the sequence flows in the direction of the branch &#34;No&#34; toward the step of &#34;X-1=0&#34;. At this step, &#34;10-1=9&#34; is executed and &#34;9&#34; is registered in the position X. Since the position X is not &#34;0&#34; but &#34;9&#34;, the answer is &#34;No&#34;. Therefore, the next step is transferred to &#34;Ax·SEN=0&#34;. There is now &#34;9&#34; in the position X and therefore decision is made as to the 9th position of AR this time in the same manner as above. Since the figure in this position is &#34;0&#34;, the same operation as above is carried out thereafter without utterance of sound. 
     The above procedure is repeated until the figure in the X position of the register becomes &#34;5&#34;. For &#34;5&#34; in the X position of the register the instruction &#34;Ax·SEN=0&#34; is executed and the data in the 5th position of the register AR, that is, &#34;1&#34; is detected. Now, the sequence turns to the direction of &#34;No&#34; and the step is jumped to &#34;UTTER SOUND OF Ax&#34;. Thereby an instruction is applied to ROM decoder C from ROM A for utterance of the sound of the data &#34;1&#34;. ROM decoder C decodes the instruction and produces a digital code signal to make the vocal control VCR generate the sound of &#34;one&#34;. The vocal control VCR discriminates the digital code signal and has access to ROM R to make it produce a vocal digital data of &#34;one&#34;. The output is introduced into the D/A converter DA. The converted output signal passes through the low-pass filter LPF and the amplifier AMP. Finally the speaker SP utters the sound &#34;one&#34; . 
     During the utterance of &#34;one&#34;, the instruction &#34;E2=0&#34; is executed. However, during the sound &#34;one&#34; being uttered, the vocal control VCR issues a signal indicative of the utterance of the sound being on, that is, E2 is &#34;1&#34;. Therefore, the answer to the question whether E2=0 continues to be &#34;No&#34;  during the utterance of the sound. Consequently, the step is jumped to &#34;No&#34; and the instruction &#34;E2=0&#34; is repeated until the utterance of the sound &#34;one&#34; is completed. Upon the completion of the utterance E2 becomes &#34;0&#34;. Since E2=0, the step is advanced to &#34;SET F1&#34; where the flag F1 is set to &#34;1&#34;. 
     After Flag 1 has once been set to &#34;1&#34; in this manner, the sound of &#34;zero&#34; is uttered for numeral &#34;0&#34; in any of the subsequent positions of the register AR where a zero appears. The same routine as described above is repeated for the subsequent positions of the register AR. Namely, &#34;two&#34; is uttered for &#34;2&#34; in the fourth position of AR. The content in the X position is changed to &#34;3&#34; and that in the position DP to &#34;1&#34;. Since the content in the third position of AR is &#34;0&#34;, the answer to &#34;Ax·SEN=0&#34; is &#34;Yes&#34; this time. Therefore, &#34;F1=0&#34; is executed. Since F1 was set at the previous time, a transfer to &#34;No&#34; takes place and &#34;zero&#34; is uttered. At the next step, &#34;DP-1=0&#34; is executed. This time it is &#34;0&#34; and therefore the answer is &#34;Yes&#34;. The step is advanced to &#34;F2=0&#34;. In this case, the number stored in the register AR is not a whole number and therefore stored in the register AR is not a whole number and therefore Flag 2 remains reset. Consequently, the sequence flows in the direction of &#34;Yes&#34; and &#34;UTTER SOUND OF POINT&#34; is executed. Thus, the sound &#34;point&#34; is uttered through the speaker SP. After completing the utterance of &#34;point&#34;, flag F1 is set and then &#34;X-1=0&#34; is executed. Thereafter, processing is carried out similarly and &#34;four&#34; and &#34;five&#34; are uttered in accordance with the procedure described above. After the utterance of &#34;five&#34;, the answer to &#34;X-1=0?&#34; becomes &#34;Yes&#34; and the sequence comes to end. 
     As described in detail in the above, the utterance of &#34;point&#34; takes place when the result of operation is not a whole number. 
     In case that the result of operation is a whole number as shown in FIG. 2B, the processing proceeds in the following manner: 
     Operation of the [=] key initiates the execution of an operation which gives the result shown in FIG. 2B. Then, the instruction &#34;RESET F1, F2&#34; is executed. At the next step, &#34;DP=0 ?&#34; is executed. In the example now being described, the register AR has &#34;0&#34; in its position DP and therefore the answer is &#34;Yes&#34;. Consequently, F2 is set to &#34;1&#34; in accordance with the instruction &#34;SET F2&#34;. This setting of F2 to &#34;1&#34; produces the result to inhibit the utterance of &#34;point&#34; (decimal point) in the subsequent control sequence. 
     The manner of operation in this case is essentially the same as in the above case. 
     Since figures in positions from 10th to 6th of AR are all &#34;0&#34;, no sound is uttered for these positions. For the fifth to first position, &#34;one&#34;, &#34;two&#34;, &#34;zero&#34;, &#34;four&#34; and &#34;five&#34; are uttered respectively. At the time point when &#34;five&#34;  is uttered, the content in the position X is &#34;1&#34; and that in the position DP is also &#34;1&#34;. After the utterance of &#34;five&#34;, the sequence proceeds along the branch of &#34;Yes&#34; toward the routine of &#34;UTTER SOUND OF POINT&#34; because 1--1=0 at &#34;DP-1=0&#34;. At &#34;F2=0 ?&#34;, determination is made as to whether the number in the register is a whole number or not. Since in this case the number is a whole number and F2 has already been set to &#34;1&#34;, the sequence proceeds in the direction of &#34;No&#34; and therefore the utterance of the sound &#34;point&#34; is inhibited. Thus, after the execution of &#34;X-1=0&#34;, the sequence of operation comes to end in this case. 
     As understood from the above description, according to the invention the sound &#34;point&#34; is uttered only when the result of operation is not a whole number. When it is a whole number, the sound &#34;point&#34; is not uttered. The sound audibly informing of the point data is not limited to &#34;point&#34; only. It is of course possible to use other words such as &#34;TEN&#34; which means &#34;point&#34; in Japanese. 
     As aforementioned, according to the invention the utterance of voice is also inhibited when an ineffective key operation is made. The manner of control operation in such a case will be described hereinafter with reference to FIGS. 3A, 3B and 3C. 
     At first, description will be made with reference to FIG. 3A as for the case where a number overflowing the maximum number of positons in the computer is keyed in by the &#34;0&#34; through &#34;9&#34; keys and the [·] key. 
     In the embodiment now being discussed, the maximum number of positions which the register AR has is 10 and the maximum number registerable in the decimal point position DP is &#34;9&#34;. 
     Under these conditions it is assumed that a number beyond the capacity of the register AR is loaded. 
     Upon the operation of a numeral key, for example, &#34;1&#34;, the first instruction &#34;A 10  =0 ?&#34; is executed. Namely, a determination is made as to whether any numeral data is present in the 10th position of the register AR or not. Since this is the first loading of a number, the answer is &#34;Yes&#34;. Therefore, the step is advanced to &#34;DP=9 ?&#34;. At this step it is checked whether the content in the point position DP is &#34;9&#34; or not. Namely, it is checked whether the decimal point has overflowed or not. Since there is &#34;0&#34; in DP at present, the answer is &#34;No&#34; and the next operation &#34;UTTER VOICE&#34; is carried out. Thus, the sound of &#34;one&#34; is uttered in the manner previously described. Then an ordinary number entry processing is carried out which is well known in the art of computers. Now, the digit &#34;1&#34; is stored in the register AR. In the same manner, operations are carried out sequentially for the remaining nine positions of the register. Voice is uttered and load processing is carried out every time according to a load key then operated. Now, numeral data are stored in all of ten positions of the register AR. Under this condition if a further key entry is made as an input to the 11th position, then the answer to &#34;A 10  =0 ?&#34; becomes &#34;No&#34; because the content in the 10th position of the register AR is no longer &#34;0&#34;. Consequently, the sequence of operation jumps to END without utterance of voice and without execution of load processing. 
     In the above, description has been made as to the case where the key first operated was a numeral key. However, in another case where the key first operated is the [·] key and the content in the point position overflows, utterance of voice is also inhibited. Namely, in this case, the utterance of voice can be inhibited by the decision of &#34;DP=9&#34;. 
     From the foregoing it can be understood that the present invention provides a computer which does not utter voice when the numeral key entires overflow the maximum positions set in the computer. 
     As previously noted, the [C E] key is a key for clearing only the loaded data. Now, description will be made of this key with reference to FIG. 3B. 
     In general, when numeral keys including the point key are operated, at first load processing is carried out and then flag FN is set to &#34;1&#34;. Furthermore, this flag FN is reset to &#34;0&#34; by operating any key other than the numeral keys including the point key. For example, if the [C E] key is pushed after key operations of the [1], [2] and [3] keys to register the data of 1, 2 and 3 in the register AR, then &#34;FN=0&#34; is at first executed. However, since in this case, loading of number has already been done and FN has been set to &#34;1&#34; thereby, the sequence proceeds in the direction of 37 No&#34;. Therefore, &#34;UTTER VOICE&#34; is executed and the voice &#34;clear entry&#34; is uttered. Subsequently, the register AR is cleared by &#34;EXECUTE OPERATIONS&#34; as the function of the [C E] key. 
     On the contrary, when any key other than a numeral key is operated, the sequence is turned to &#34;Yes&#34; at &#34;FN=0&#34; because FN has been reset to &#34;0&#34;. Therefore, neither utterance of voice nor execution of operation is done in this case. 
     FIG. 3C illustrates the control operations in the case where the computer is placed in the overflow state. In this case, utterance of voice of inhibited for keys other than the [C] key. 
     In FIG. 3C, OVF designates a flag which is set to &#34;1&#34; when an overflow of operational results occurs. The instruction &#34;OVF=0&#34; to check the presence or absence of OVF is introduced into the rountine for keys other than the [C] key as shown in FIG. 3C. By doing so, it is made possible to prevent utterance of voice of other keys than the [C] key when the computer is placed in the overflow state. 
     In this manner, in the case of ineffective key operation, the utterance of voice corresponding to the key is inhibited according to the invention. 
     According to another feature of the invention, utterance of voice is inhibited also in the case of too quick key operations. The control operations in such a case will be described hereinafter with reference to FIG. 4A. 
     In a desk calculator equipped with a printer there is provided an input buffer register IR. When keys are operated too quickly in the desk calculator, the operation and printing sometimes cannot follow the speed of the key operation. To make it possible for the calculator to correctly execute operations and processing of keys then operated in such a case, it is necessary to temporarily store the codes indicative of the operated key. The input buffer register IR is provided for this purpose. 
     According to the invention, the content stored in this IR is discriminated and if there are one or more key codes stored in IR then the utterance of voice is inhibited. 
     In FIG. 4A, when any key other than operation result computing keys, for example, the [+] key is operated, at first the content of the input buffer register IR is discriminated by the instruction &#34;IR=0&#34;. If the content is &#34;0&#34; which means that the key operation now in progress is relatively slow and no key code is stored within IR, then the sequence proceeds in the direction of &#34;Yes&#34; and the voice &#34;plus&#34; is uttered by the instruction &#34;UTTER VOICE&#34;. However, if there is any key code stored within IR as a result of too quick key operation, then the sequence is turned toward &#34;No&#34; and jumps to END without utterance of voice. 
     Even when keys are operated too quickly, the voice will be uttered without fail so long as operation result computing keys are concerned. The manner of control in this case is illustrated in FIG. 4B. 
     For this kind of control, determination of &#34;IR=0&#34; is not carried out. After &#34;EXECUTE OPERATIONS&#34;, the next instruction &#34;UTTER VOICE&#34; is executed. Further progress through the routine is delayed until the utterance of voice is completed. 
     In this manner, there can be provided a computer which does not utter voice in the case of too quick key operations and which utters voice even in the case of too quick key operations so far as operation result computing keys are concerned. 
     As well understood from the foregoing, the present invention provides a computer which informs the operation by voice of only such data necessary to the operator while detecting the state of operation of the computer and which automatically judges which data should be output as voice and which data should be inhibited from being output as voice. 
     While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details can be made therein without departing from the spirit and scope of the invention.