Interactive voice recognition digital clock

Information

  • Patent Grant
  • 6310833
  • Patent Number
    6,310,833
  • Date Filed
    Tuesday, November 30, 1999
    25 years ago
  • Date Issued
    Tuesday, October 30, 2001
    23 years ago
Abstract
An Interactive Voice Recognition and Speech Synthesis Clock Radio wherein the voice recognition circuitry is trained to recognize a number of predetermined phrases spoken by one or more specific users. The speech synthesis circuitry includes a number of predetermined phrases generated in response to verbal utterances by a user.
Description




BACKGROUND OF THE INVENTION




1. Field of the Invention




The present invention relates to clocks and clock radios, and more specifically to interactive voice controlled clocks and clock radios. The methods and apparatus of the invention provide for setting substantially all initial parameters for a clock or clock radio, including the time, alarm, radio frequency, etc., by voice command, and also provides for synthesized speech to indicate the present time, alarm set time, radio frequency, etc., to the user.




2. Description of Related Art Including Information Disclosed Under 37 CFR 1.97 and 1.98




Over the years the modem world has required higher and higher levels of interaction and interdependence of mankind. In addition, people seem to be performing many more of their activities or tasks during both the day and night. To be able to get all of these tasks and activities accomplished, a greater and greater premium has been placed on punctuality. For example, most activities start at a preset time and tardiness with respect to the activity may have little effect or sometimes disastrous effects. In addition, because of the international element of business, some business meetings such as teleconferencing may take place at any time during the 24 hour day, and travel or transportation for meetings, vacations, etc., may also start and/or terminate at almost any hour.




In any event, time awareness cannot be avoided and the problem of being awakened from a sound sleep has become more and more critical. At the same time, since being awakened artificially almost every morning has become commonplace, clocks used for awakening someone have evolved from the strident sound of the “alarm clock” to the more acceptable and less traumatic wakening to music, news or other pleasant sounds. Modem digital alarm clocks or clock radios also provide LED's (light emitting diodes) for visual indication even at night. Also, of course, energy conservation in every field is encouraged and some types of clocks such as analog quartz clocks or electronic digital clocks are specifically desirable as they typically have long life and require very little energy to function. Unfortunately, even though the total amount used is small, they do require a constant supply of electrical power to run, and an uninterrupted source of power if they are to remain accurate. Such power sources simply do not exist. Batteries in battery powered devices or clocks run out or “die” and commercially available line AC power supplied to the home and business are occasionally interrupted by a myriad of causes. In addition, techniques for improving the efficiency and dependability of time keeping systems such as alarm clocks, clock radios, etc., are always being sought.




For example, U.S. Pat. No. 4,697,930 to Roberts et al. and entitled “Transformerless Clock Circuit With Duplex Optoelectronic Display” discloses a transformerless power supply and display energizing circuit for a clock circuit with a duplex optoelectronic display driven by low voltage integrated clock circuit having positive and negative voltage input terminals and the duplex display having a first terminal connected to a first common cathode and a second terminal connected to a second common cathode of the display. The transformerless circuit is powered from an AC source. An impedance, which may be either resistive or reactive, reduces the AC voltage to a level suitable for the integrated clock circuit. The transformerless circuit also generates synchronous DC level-shifted pulse trains for driving the positive input terminal of the integrated clock circuit alternately between a first voltage and a reference voltage while synchronously driving the display first terminal between the first voltage and a voltage of equal amplitude and opposite polarity.




U.S. Pat. No. 4,595,861, issued to Simopoulos et al. and entitled “Power Supplies for Electroluminescent Panels” discloses circuitry for converting a DC power supply to an AC power supply for electroluminescent lamps which are self-inhibited from further oscillations and are current limited in the event that a failure occurs in an EL (electroluminescent) lamp which results in the EL lamp being shorted. According to one embodiment of this patent, a single ended and push/pull transformer power supply is disclosed and according to a second embodiment, a transformerless solid state power supply is disclosed. The solid state power supply uses a voltage multiplier to increase the AC or square wave voltage to a level of almost 140 volts for powering the EL lamp. Thus, it is seen that the circuitry in this patent discloses techniques for converting from DC power to AC power, not AC power to DC power and further provides circuitry to inhibit oscillations and operations of the circuitry in the event of a shorting of the EL lamp or a substantial voltage drop.




U.S. Pat. No. 4,201,039, to Roland M. Marion and entitled “Numerical Display Using Plural Light Sources and Having a Reduced and Substantially Constant Current Requirement” discloses a numerical digital display having a reduced DC current requirement per character display site. The circuitry is useful for powering a digital display in an AC powered clock or clock radio in which it is desirable to keep the DC current requirement of the display to a substantially constant minimum suitable for use with a low cost transformerless power supply conventional with radio receivers. The current requirements of the digital character display site is reduced over that of full parallel operation by selectively serializing certain light sources in a manner leaving the display control circuitry uncomplicated by permitting each light source state to be controlled by a shunt control switch sharing a common bus. The shunt control, which diverts rather than prevents current flow in the display, allows the display current to remain substantially constant irrespective of the digital numbers displayed.




U.S. Pat. No. 4,109,180 to Ogle et al., and entitled “AC-Powered Display System With Voltage Limitation” discloses an AC-powered display system which includes a gas discharge display panel, an integrated circuit, and a limiting network. The integrated circuit is provided as a display pattern controller and may also comprise a digital alarm clock circuitry which provides outputs for controlling the gas discharge display panel. The circuitry also includes a limiting network which reduces the current through the system in response to an excessive voltage across the controller.




U.S. Pat. No. 4,063,234 to Arn et al. and entitled “Incandescent, Flat Screen, Video Display” discloses a flat screen video display comprising a plurality of incandescent lamps arranged in an addressable X-Y matrix. The circuitry also provides a memory and driver circuit for each individual incandescent lamp for use in a flat screen video display apparatus.




U.S. Pat. No. 3,602,795 to John B. Gunn and entitled “Transformerless Power Supply” discloses circuits for converting an input voltage from a high amplitude to a lower amplitude DC voltage.




As electronic devices, including devices such as clocks and clock radios and radios, have included more and more features, controlling them has become more and more complex. Therefore, a simple and direct method of control would be advantageous. In addition, modern society now also recognizes that many people who may be blind or physically handicapped by missing, crippled, or otherwise non-functioning hands still have much to give to society. Therefore, methods and apparatus for providing these people more control of their daily life activities is certainly desirable. The simple act of being able to set an alarm or a radio station, may become difficult for someone without the use of hands. Likewise, although some braille watches and other timekeeping devices are available for the blind, the ability to audibly hear the present time to the minute would also be desirable.




The use of presently available speech synthesis clocks are a start to this problem, however, they simply are not sufficient. More elaborate real-time voice recognition and synthesized speech requires huge amounts of computational power and memory such that presently available synthesis and recognition systems have been far too expensive to consider for clocks, clock radios and the like.




Some examples of new technology include four U.S. Pat. Nos. (4,214,125; 4,314,103; 4,384,169; and 4,384,170) to Forrest S. Mozer alone or with Richard P. Stauduhur as co-inventor all based on the same specification which is set out in full in the 4,214,125 patent, and is incorporated by reference in its entirety herein. These patents disclose methods and apparatus for analyzing and synthesizing speech information in which a predetermined vocabulary is spoken into a microphone. The resulting electrical signals are differentiated with respect to time, digitized, and a digitized waveform is appropriately expanded or contracted by linear interpretation so that the pitch periods of all such waveforms have a uniform number of digitizations and the amplitudes are normalized with respect to a reference signal. These “standardized” speech information digital signals are then compressed in the computer by subjectively removing and discarding redundant speech information such as redundant pitch periods, portions of pitch periods, redundant phonemes and portions or phonemes, redundant amplitude information (delta modulation) and phase information (Fourier transformation). The compression techniques are selectively applied to certain of the speech information signals by listening to the reproduced, compressed information. The resulting compressed digital information and associated compression instruction signals produced in the computer are thereafter injected into the digital memories of a digital speech synthesizer where they can be selectively retrieved and audibly reproduced to recreate the original vocabulary words and sentences from them.




U.S. Pat. No. 5,790,754 issued to Mozer et al. and entitled “Speech Recognition Apparatus For Consumer Electronic Applications” discloses a spoken word or phrase recognition device which does not require a digital signal processor, large RAM, or extensive analog circuitry. The input audio signal is digitized and passed recursively through a digital difference filter to produce a multiplicity of filtered output waveforms. These waveforms are processed in real time by a microprocessor to generate a pattern that is recognized by a neural network pattern classifier that operates in software in the microprocessor.




U.S. Pat. No. 5,657,380 issued to Todd F. Mozer and entitled “Interactive Door Answering and Messaging Device With Speech Synthesis” discloses an automatic door answering and message system having an interior unit and an exterior unit that communicate via an RF link. The system uses voice recognition and synthesis to interact with visitors. In addition to playing messages to and recording messages from visitors, the system broadcasts to the inside the responses to predetermined queries, thereby permitting a resident to screen visitors in secret. Programmed dialog scripts control the automated interaction between the machine and visitors. The system also has an intercom feature that enables the resident to talk with a visitor without opening the door. When the intercom is turned on any automatic dialog script is interrupted. The system also includes a sensing means for sensing the open/closed state of the door so that any automated dialog script is interrupted by the opening of the door.




U.S. Pat. No. 5,022,071 issued to Mozer et al. and entitled “Two-Way Voice and Digital Data Analyzer for Telephones” discloses methods and apparatus which allow the sending or receiving of either speech or digital data calls over a phone line by correctly connecting either a digital data machine or a voice phone with the line without human involvement. An analyzer connected to the phone line interrogates each incoming call to determine if it is a voice call or a digital data call. If it is a voice call, the analyzer rings the phone and connects it to the line when the phone is answered. If the incoming call is a digital data call, the data machine, such as a fax, is connected to the phone line. The distinction between voice and digital data calls is based in part on analysis of incoming response to an interrogation of the caller with messages from a speech synthesizer. For outgoing calls, the analyzer determines which of the phone and the data machines becomes active and connects the active one with the phone line while it blocks access to the line by the other one until the outgoing call is complete. A line manager is employed for the voice phones connected to the line upstream of the analyzer so it too is connected or disconnected from the line during the appropriate times.




U.S. Pat. No. 4,435,831 issued to Forrest S. Mozer and entitled “Method and Apparatus For Time Domain Compression and Synthesis of Unvoiced Audible Signals” discloses compression and synthesis techniques and related apparatus for time domain signals. It is specifically related to signals whose information content resides in the power spectrum such as speech and more particularly signals whose amplitude is aperiodic, such as unvoiced speech sounds. Compression techniques include eliminating serially redundant segments of information. Synthesis particularly of unvoiced sounds which are sensitive to injected artificial periodicity, involves repeating sequential portions of the same segment representative of the sound signal, including commencing and terminating at different points of each repetition, varying the length of the portion and reproducing the portion forward and backward in time.




U.S. Pat. No. 4,433,434 issued to Forrest S. Mozer and entitled “Method and Apparatus For Time Domain Compression and Synthesis of Audible Signals” discloses compression and synthesis techniques and related apparatus for time domain signals, particularly signals whose information content resides in the power spectrum such as speech. Compression techniques include adjusting the phase of harmonic components of a signal unit to obtain an equivalent power spectrum signal of a minimum number of discreet levels.




U.S. Pat. No. 5,008,865 issued to Shaffer et al., discloses a method of awaking a sleeper by increasing the intensity or light level of a lamp slowly and smoothly over a period of time selected by the user. The circuitry incorporates an optocoupler to control the firing angle of a triac.




SUMMARY OF THE INVENTION




The present invention discloses methods and apparatus for providing an interactive voice recognition and voice synthesis digital clock comprising a DC power source for converting AC power to DC power for powering a variety of electronic components. A microphone is included for converting audible human speech into electrical signals representing such human speech. There is also included a source of periodic pulse signals for use as clocking signals for both the digital clock and for clocking signals for a microprocessor. The microprocessor is connected to the microphone, the clocking pulse signals and the DC power source and includes the clocking circuitry for providing electrical output signals for controlling the digital clock output. The microprocessor further includes speech receiving circuitry for receiving electrical signals representative of the human speech from the microphone and for recognizing predetermined input speech phrases contained in the speech from the microphone. The recognized speech phrases are converted by the microprocessor into input electrical signals which control the selected functions of the clocking circuitry. The microprocessor also includes speech synthesis circuitry for generating electrical signals representative of selected output speech phrases in response to the received electrical signals from the microphone which represented human speech. There is also included a first memory means connected to the microprocessor which stores data required by the microprocessor to process the received speech and to determine if at least a part of the received speech represents at least one of the predetermined input speech phrases. A second memory connected to the speech synthesized circuitry of the microprocessor stores data required by the microprocessor to generate the electrical signals representative of the output speech phrases. A sound producing device such as a loudspeaker connected to the microprocessor for receiving the electrical signals from the speech synthesis and representative of the selected output speech phrases converts the electrical signals into audible sounds representative of a chosen output phrase. Finally, there is included a digital display for receiving the electrical output signals from the clocking circuit and for providing a clock display. In a preferred embodiment, the clocking circuitry of the device also generates at least one “on” signal at a selected time for use to trigger an alarm. Thus, the circuitry further comprises an alarm device connected to the microprocessor for generating electrical alarm signals in response to the “on” control signal which electrical alarm signals are connected to the speaker system so as to provide an audible sound alarm. It will be appreciated of course that the audible sound or alarm is preferably a radio, a CD player or any other pleasant source of sound. In an even further embodiment of the present invention, the microprocessor also includes radio control circuitry for generating control signals for turning the radio on and off and for tuning the radio to selected stations in response to the microprocessor receiving selected ones of the predetermined input speaker speech phrases. Also a common household electrical outlet can be provided for connecting a lamp. The lamp may then be controlled to turn on at a low level and continuously increase in brightness to a maximum.











BRIEF DESCRIPTION OF THE DRAWINGS




These and other features of the present invention will be more fully disclosed when taken in conjunction with the following Detailed Description of the Invention in which like numerals represent like elements and in which:





FIG. 1

is a block diagram of an interactive alarm clock incorporating the teachings of the present invention;





FIG. 2

is an electrical schematic of the embodiment of

FIG. 1

;





FIG. 3

is a block diagram of an interactive clock radio incorporating the teachings of the present invention;





FIG. 4

is an electrical schematic of the embodiment of

FIG. 3

;





FIG. 5

is a simplified flow diagram showing a process for operating the clock radio of

FIGS. 1 through 4

; and




FIG.


6


-

FIG. 14

shows a detailed flow diagram for performing the processes illustrated in FIG.


5


.











DESCRIPTION OF THE INVENTION




Referring now to

FIG. 1

, there is shown a block diagram of the interactive voice recognition digital alarm clock incorporating the teachings of the present invention. As shown, the interactive alarm clock includes a microprocessor


10


such as a high performance microprocessor available from Sensory Circuit Corp. of Sunnyvale, Calif. Microprocessor


10


receives a regulated squrce of DC power from power supply


12


. As shown, power supply


12


includes a pair of line terminals


14


and


16


for receiving standard commercially available 115VAC power. It will be appreciated, of course, that the designation of 115VAC is for convenience only. As is well known in the art, the AC voltage into a home or other building may easily vary between 110 to 120 volts and sometimes even less than 110 volts or even slightly more than 120 volts. The 115VAC power is converted to a suitable DC power level by the power circuitry


18


and has a power output


20


. It will be appreciated that the conversion of the power may take place by a transformer


22


along with rectifying circuitry (not shown) in power circuitry


18


. In the embodiment shown, there is also a battery backup


24


which assures power to the microprocessor in the event of the failure of the 115VAC input power. Other types of power conversion techniques may equally be suitable for the present invention including the power supply technique described in the co-pending application entitled “Transformerless Quartz Analog Clock” and having inventors Tom Guyett, Mike Reaves and Brantley Hobbs and assigned to the same Assignee as the present invention. The teachings of this co-pending application are incorporated in their entirety herein. Preferably, the battery


24


used for a backup source of power is a NiCad (Nickel Cadmium) battery which can withstand overcharging without overheating and even destruction of the battery and damage to the clock audio circuitry. For purposes that will be discussed in detail hereinafter, there is also provided a microphone


26


for converting audible human speech into electrical signals representing such human speech. In addition, there is included a crystal oscillator


28


for providing a frequency of about 32.7 kHz for providing timing pulse to clocking circuit


34


. Another crystal oscillator


30


is shown connected to microprocessor


10


and generates a pulse input having a frequency of 14.32 mHz. Oscillator


30


provides the necessary pulsing clock signals used by the microprocessor for its basic clock cycles. Microprocessor


10


is selected and programmed to provide many of the functions of the present invention and in particular includes a speech receiving circuitry


32


which receives signals from the microphone


26


and then analyzes this received speech to determine the presence of any predetermined input speech phrases which represent commands or instructions to the interactive clock system of this invention. In the event the audible human speech picked up by microphone


26


includes one of the predetermined input speech phrases, input speech circuitry


32


then generates appropriate electrical output signals for controlling selected functions of a clocking circuit


34


. Clocking circuitry


34


provides the electrical signals for controlling a digital clock display


36


. In the embodiment shown in

FIG. 1

, clocking circuitry is shown as a separate unit outside of microprocessor


10


. However, it will be appreciated that clocking circuitry


34


could be a portion of microprocessor


10


programmed to generate the necessary clocking signal. Digital clock display


36


may typically be an LED (light emitting diode) or LCD (liquid crystal display) digital clock display. The digital clock display will provide a 4-digit, 24 hour or alternately, an AM/PM 12 hour display which uses 2 digits for showing hours and 2 digits for showing minutes. The display will also provide other sources of information such as, for example, whether or not one or more alarm functions are set, a separator between hours and minutes, and an indicator of AM or PM in the event a 12 hour display is used. As will be appreciated by those skilled in the art, clocking circuitry


34


will not typically provide its output signals directly to the clock display


36


but will provide signals to the display drivers


38


which amplify and/or condition the signal for controlling the display


36


.




Microprocessor


10


further includes a speech synthesis circuitry portion


40


which generates electrical signals representative of selected output speech phrases which phrases are generated in response primarily to audible human speech signals received at microphone


26


. Alternately, the output signals from speech synthesizer


40


may be in response to the manual activation of controls or switches on the interactive clock. The speech synthesizer


40


may also provide notice when the system is approaching a malfunction threshold associated with various circuits of the interactive clock. As shown, speech synthesizer


40


provides its output signals to a sound producing device such as, for example, a speaker or speaker system


42


.




In one preferred embodiment, the interactive clock of this invention will include the capability of functioning as an alarm clock. Consequently, the microprocessor


10


will further include an audible alarm generation circuitry


44


for generating, as an example only, an intermittent 400 Hz signal having an output also provided to speaker


42


. In one embodiment, the audible alarm generator


44


will provide three levels of an output signal which makes sounds over selected periods of time such that if the user does not acknowledge the alarm by either hitting the snooze button or turning the alarm off, the volume output from speaker


42


will increase to at least two additional levels. In still another preferred embodiment, the audible alarm generator


44


will interact with the clocking circuit


34


and include additional circuitry for providing at least two separate alarms which can occur at different selected times. Thus, there is also shown a switch circuit


46


for selecting alarm


1


, alarm


2


, or both alarms


1


and


2


. Switch


46


will also include an “off” position for disabling the alarm. It will be appreciated that there is also included a “snooze” button


48


connected to the microprocessor


10


for interrupting the audible alarm from speaker


42


produced by audible alarm generator


44


for a short selected period of time in a manner well recognized by those skilled in the art. Preferably, the snooze button


48


may be activated up to a selected number of times, such as three, so that the user may avoid falling back into a deep sleep.




Activation of the “snooze” button


48


at times other than to interrupt the alarm, is recognized by the interactive clock radio system of this invention as a signal to initiate a “training routine” or a routine to set the time of day or the “wake-up” times for the two alarms. The use of the “snooze” button


48


for this purpose is for convenience only and it will certainly be understood that other buttons and switches could be used to initiate the training and/or time set routines.




Also shown electrically connected to microprocessor


10


, is a memory


50


which in one embodiment may be an EEPROM (electrically erasable programmable read-only memory) and is used for storing at least some speaker dependent data required by the microprocessor to determine if at least a part of the received audible human speech represents at least one of a number of predetermined input speech phrases. Although shown as a memory unit separate from microprocessor


10


, it will be appreciated that additional memory may be integral to the microprocessor


10


and may include data for recognizing specific speech phrases which data may not be speaker dependent. It is also possible, of course, that all of the recognition data could be stored in the memory


50


.




A second memory


52


is a ROM (read-only memory) which stores data required by the microprocessor


10


to synthesize specific output phrases upon demand. As was the case with the memory


50


, memory


52


may also be an integral part of the microprocessor or may be a separate memory unit as shown in FIG.


1


.




There is also included a standard 115VAC outlet unit


53


which is connected directly to the 115VAC line power. Outlet unit


53


is also connected to light control circuitry


55


in microprocessor


10


. Outlet unit


53


includes electrical circuitry responsive to control signals from light control circuitry


55


for switching power “ON” and “OFF” to the plug


57


and to vary the percentage of each half of the AC input sine wave power applied to plug


57


. A standard light unit


59


having a plug


61


is connected to the plug


59


of outlet unit


53


so as to be turned “ON” and “OFF” and the light level set in response to the control signals from light control circuitry


55


. Thus, the level of light can be set to gradually decrease the “OFF” over a selected power of time in a go-to-sleep mode. Alternately, the light can operate in conjunction with an alarm “ON” signal so as to gradually increase to a maximum over a selected period of time. The use of a triac circuit for these purposes is well recognized in the art. For example, refer to U.S. Pat. No. 5,008,865 issued to Shaffer et al. There are, of course, many other types of electronic circuits available using triacs for turning lights on and off and for controlling the brightness level.




Referring now to

FIG. 2

, there is shown an electrical schematic of the embodiment of FIG.


1


. As shown, common elements of circuitry discussed in

FIG. 1

bear the same reference numbers in the schematic of FIG.


2


. Some of the components of the elements discussed in

FIG. 1

are further discussed with respect to FIG.


2


and the figure also includes a few elements not mentioned in the block diagram. As shown, the power supply


12


illustrated in this schematic is shown with only the low side of transformer


22


being illustrated. As shown, the output of transformer


22


is provided to a first rectifier or rectifying circuitry


60


which includes a pair of diodes


62


and


64


. The rectified sine wave output of rectifier


60


on line


66


is provided to a voltage clamping circuit


68


which includes a current-limiting resistor


70


and a pair of diodes


72


and


74


. The cathode of diode


72


is connected to the power bus


20


and the anode of diode


74


is connected to ground


26


. The node


78


is between the anode of diode


72


and the cathode of diode


74


and provides a clamped rectified sine wave signal to circuitry


80


by line


82


which circuitry


80


then provides a square wave output at 120 Hz. The 120 Hz square wave is then provided to the microprocessor


10


and to the memory circuit


52


. The two outputs of the circuitry


80


may be produced by any suitable technique. However, a particularly suitable circuit comprises four “Nand” gates, two for each output and which act as a schmidtt trigger. There is also included a resistor


84


connected to line


66


which assures a positive voltage is always maintained at line


66


. In the event there is a loss of line power and consequently a loss of the 120 Hz square wave pulse train to the microprocessor in the ROM


52


, the microprocessor switches to the watch crystal circuitry oscillator


30


for its pulse train. At this time, the oscillator


28


will also be disabled.




The main power bus


20


is provided by a second rectifying circuitry


86


which includes, for example, a pair of rectifying diodes


88


and


90


. The rectified sine wave output of rectifying circuitry


86


on line


92


is filtered by capacitor


94


and provided to a 6 volt voltage regulator


96


having an output on line


98


to blocking diode


100


. As will be discussed later, blocking diode


100


prevents backup power from battery


24


from being routed through the rectifying circuit which would result in the battery being rapidly discharged. The 6 volt regulator


96


may typically be chosen to be Item No. LM78LO6 regulator manufactured by the Fairchild Semiconductor company. As shown, blocking diode


100


is connected with its anode to the regulator and its cathode to power bus


20


. Also as shown battery


24


is connected to power bus


20


through a second blocking diode


102


so as to provide backup power to power bus


20


. Blocking diode


102


prevents battery


24


from receiving a charging voltage which may tend to overheat and cause damage to the battery and the circuitry. It will be appreciated, however, by those skilled in the art, if battery


24


is chosen to be a rechargeable NiCad (Nickel Cadmium) battery, diode


102


may be eliminated.




ROM


52


, as shown in the schematic of

FIG. 2

, is selected as a one meg. read-only memory (i.e., 128 k×8). The EEPROM


50


is a serial EEPROM that has a 32 k byte by 8 structure.




The two NPN bipolar transistors


104


and


106


of the cathode circuitry


107


alternately provide a ground


26


for the two separate ground inputs for the two cathode terminals of a standard duplex clock digital display. Such a duplex clock display is well known by those skilled in the art and will not be discussed further. The circuitry of

FIG. 2

also includes reset circuitry


108


comprised of a resistor


110


and a diode


112


connected in parallel between power bus


20


and a node


114


. A capacitor


116


is connected between node


114


and ground


26


. The circuitry provides a reset signal from node


114


to microprocessor


10


in the event of a power failure and a subsequent reapplication of power.




Referring now to

FIG. 3

, there is shown a block diagram of an interactive voice recognition digital alarm clock radio. Most of the circuitry shown in

FIG. 3

is substantially the same as that shown in FIG.


1


and like elements carry like reference numbers. However, in addition to the circuitry and items shown in

FIG. 1

, there is also included a digital radio receiver


120


having an antenna


122


for receiving radio waves


123


, a standard volume control


124


and means for manual tuning


126


. The digital radio receiver


120


may be an AM receiver, an FM receiver, or both and AM and FM receiver. The audio output electrical signals from receiver


120


on line


128


are provided to the microprocessor


10


and eventually provided to the speaker


42


. Microprocessor


10


, in addition to its input speech circuitry


32


, its speech synthesis circuitry


40


and its audio alarm generator circuitry


44


, also includes radio control signal circuitry


130


for providing digital control signals to the digital radio receiver


120


for turning the radio on and off, tuning to selected stations, and the like. The radio control signal circuitry is responsive to selected one of the predetermined speech phrases generated by speech synthesis circuitry


40


. As shown, the circuits of

FIG. 3

further includes wake-up selection circuitry


132


for providing signals to microprocessor


10


which then controls whether the audible alarm generator


44


produces signals to speaker


42


and/or whether or not the radio receiver


120


provides signals to speaker


42


. According to still another possible feature, the radio may come on first followed by the alarm buzzer if the user does not acknowledge he or she is awake after a selected period of time.




Finally, microprocessor


10


also includes circuitry used for training the voice recognition portion of the device to be receptive to one or more specific human voices. Although some of the predetermined speech phrases to be recognized may be independent of the particular individual speaking the phrase (i.e., speaker independent), preferably the circuitry is “trained” by the voices of one or two users so as to recognize the commands, and thus are “speaker dependent.” Although the training circuitry requires memory, the memory requirements are not nearly as large for the training process as the memory would be if all of the predetermined speech phrases were speaker independent of accent, gender, etc. Furthermore, the recognition accuracy is substantially improved by the training process. Although other techniques for voice recognition and speech synthesis are suitable for use with the present invention, some specific effective techniques for storing data related to speaker dependent voice recognition and speech synthesis are described in U.S. Pat. No. 4,214,125 issued to Forrest S. Mozer and Richard P. Stauduhur. The techniques of U.S. Pat. No. 4,214,125 are incorporated in their entirety herein.




Referring to

FIG. 4

, there is shown the electrical schematic of the interactive voice recognition clock radio circuitry of FIG.


3


. The circuitry of

FIG. 4

is substantially similar to that of FIG.


2


and the only variations and added circuits are the Digital Radio Receiver


120


, which includes the antenna


122


, the manual volume control


124


and the manual tuning control


126


. It will be appreciated that since the Radio Receiver


120


is a digital receiver, turning the radio “on” and “off,” tuning to a station and setting the volume level is controlled by digital input signals provided by the radio control portion


130


of microprocessor


10


. Thus, it will be appreciated that the manual volume control


124


and tuning control


126


will not typically be a potentiometer and tuning capacitor, as indicated for convenience in

FIG. 3

, but are digital circuits which provide the proper input digital signals.




Referring now to

FIG. 5

, there is shown a simplified block diagram of the voice interaction used by the radio clock configuration of

FIGS. 3 and 4

. There is shown a starting block


140


from which all other activities follow. The block


142


represents the simplest of the requests and interactions and assumes that the microprocessor of the clock radio has already been “trained” to recognize the voice of a user and that the clock has been set to the proper time and the alarm functions have been selected. As shown and as will be discussed in more detail hereinafter, there is a voice request of the time such as “what time is it?” and if the clock recognizes the voice of the speaker, the clock will provide the actual time such as by stating “the time is 10:45 PM.” Once the time has been stated the program will then return to the starting block


140


.




However, as was stated, although it is possible that the voice interactive radio be speaker independent, such independence requires huge amounts of memory. Therefore, there is included in the invention a training program which is run by the microprocessor and which is initiated by pressing the snooze button


48


as was described with respect to

FIGS. 1 and 2

. If this is the first use of the clock radio after its purchase, as is indicated by the logic block


144


, then the program is directed directly to the training portion


146


of the program. That is, the microprocessor computer chip will recognize that there has not been any training of the system and that the first thing that must occur at this point is the training process. However, if the answer to the query whether this is the first time the clock has been used in logic block


144


is “no,” then the program branches to the logic block


148


which determines whether the button was held for two seconds or more. In the event the button was held for two seconds or more, then the program is again directed by line


150


to the training program


146


as indicated. However, if the answer is “no” that is, the button was not held for two seconds, then the program is directed to the “set” portion


152


of the program as indicated by the “Go To” block


154


. As will be discussed hereinafter, when the program is branched to the “set” subprogram


152


, the time and the alarms will be set by the interactive voice recognition circuitry of this invention. As shown in the training block


146


, the interactive clock, or more specifically the microprocessor and memory portions of the interactive clock, are trained to recognize specific words and/or phrases spoken by a specific user. The phrases that the program is trained to recognize includes a list of phrases such as the following, which examples are provided as examples only. Depending on use, etc., other words or phrases may be appropriate.



















“What time is it?”




“Yes” and “No”




The individual numbers








between 0 and 24






“AM” and “PM”




“Alarm”




“Buzzer”






“Radio”




“On” and “Off”




“Volume Up”






“Volume Down”




“FM,” “Weather” and




“Point”







“Short Wave”






Optional Phrase for




“Stop”




“Bright” and “Dim”






CALL LETTERS (e.g.






PEACH, WPBS, etc.)






“Light”














Once the training has been completed, it will be appreciated that the clock is now capable of recognizing a voice request of the time as was requested with respect to block


142


discussed heretofore. The system is also now ready to have the clock set to the correct time, the alarms set to a wake-up time and whether they should be on or off, the radio tuned to a correct station and the volume of the radio set. For example, it will be recalled that when the output of the logic block


148


inquired whether or not the button had been held in a depressed state for two or more seconds, as discussed heretofore the decision was “no,” and the program was directed to the “set” subroutine of the program as indicated by block


152


. Once directed to the “set” routine of the program, the interactive clock radio will then proceed to direct the user to provide information for setting the time and the wake-up time on the alarms. It will be appreciated, of course, that all of the responses needed by the computer for setting the time on the alarms can be made up from the combination of phrases and/or words included in the list of words used to train the clock radio as is shown in block


146


. Also as shown at block


156


, it is necessary to “set the slide switch


46


” which typically is a manual switch which is set to one of the positions of “no alarm” (or off), “alarm


1


,” “alarm


2


,” or both alarms. This is a manual technique for setting an alarm, and whether there should be two different alarms at different times. This manual process could also be accomplished during a sub-routing for setting the time and setting the alarms.




According to block


157


there is then a request that the alarm sound be set by speaking the predetermined phrase “alarm.” The program is then directed to a subprogram


159


by which the alarm is selected to be the radio only, a buzzer only, or both the radio and the buzzer.




It will be appreciated, of course, that the user may wish to turn the radio on other than having it come on automatically as a wake-up device in the morning as indicated at block


158


. Thus, according to the logic block at


160


, the program will listen for the phrases “radio on” or “radio off.” Assuming the radio is on and the “radio off” phrase is detected then, as indicated by block


162


, the radio will be turned off. Of course, if the radio is already off this command would have no affect. However, if the radio is off, the voice recognition system recognizes the phrase “radio on,” as indicated on line


164


, then the main program branches to a subprogram


166


indicated by line


168


which turns the radio on and, if necessary, will also allow someone to tune the radio to the proper station and set the volume to the desired level.




Also, as shown, there is included an independent path


169


for turning a lamp “ON” and “OFF” and setting the brightness level. As shown, a user will request “Light On” or “Light Off” and, if the phrase “light on” is spoken, the light is turned on and the brightness level set as indicated in step


171


.




It will be recalled that originally the radio was trained to recognize one or perhaps two or three specific voices. However, it will be appreciated that the radio could be sold, given away, or made available for other users other than the original two users. In this event, as indicated by block


170


, there is a procedure for erasing the memory which holds the specific data recorded during the training process of the specific voices such that the radio can be retrained to new users. This process is initiated by unplugging the clock radio and then holding the snooze button


48


down while plugging in the clock radio and continue to hold the snooze button


48


down for at least three seconds. This process will affect the erasure of the memory and allow the retraining as will be discussed with respect to circuitry


170


of FIG.


12


.




Referring now to

FIGS. 6 through 12

, there are shown the flow diagrams representing the operation of the microprocessor


10


and other circuitry of the invention. Some of the blocks in the following flow diagrams will be common to

FIGS. 6 through 12

and the same as those used in the very simplified flow diagram of FIG.


5


. As shown in the “main” routine shown in

FIG. 6

, there is a start location or step


140


labeled as “main” to which the program typically returns after finishing one of the subroutines so it can be redirected to other subroutines. For example, as was discussed briefly above and as shown in

FIG. 6

, if someone speaks the phrase “what time is it?” as indicated by block


172


, the system will analyze the sound and phrase and determine if there is recognition of the phrase as shown in block


174


. That is, was it spoken by someone who has trained the program to recognize that individual's voice? If there is no recognition, the program simply returns back to the main program block


140


as indicated. However, if the system recognizes the voice and the phrase “what time is it?” the computer then sees this recognition as a command and will then, using its voice speech synthesis circuit, pronounce the phrase “the time is 10:45 PM” (or whatever the time is) as indicated by block


176


. The program is then directed back to the main starting point


140


as indicated. However, as was indicated, before the system can recognize a voice, it must be trained and as was discussed briefly before, if the snooze button


48


is pressed, the program immediately determines at logic block


178


if this is the first time since purchase that the clock radio has been attempted to be used. If the answer is yes, that is, it has not been trained, then the clock moves directly to the training program or routine


146


. If the interactive clock radio of this invention has been trained and the answer is no as indicated by line


180


, the logic circuitry of the clock radio then determines whether the snooze button


48


was held down more than two seconds as indicated by logic block


182


. If the button was held down less than two seconds, then the clock program is directed to the set routine


152


shown in FIG.


8


. If the button was held down two seconds or more, then the program is directed to the training routine


146


shown in FIG.


7


.




Referring now to

FIG. 7

, the subroutine for the training program is discussed. As shown at the starting block


146


, the program progresses to a logic block


184


to determine whether two users have trained the program. In other words, is the memory full. If the answer is yes, that is, two other people have already trained the program, then the speech synthesis circuitry of the system will deliver the phrase “memory full, two users trained” as indicated by block


186


and the program will return to the main block


140


. However, if the decision represented by block


184


is “no,” then the computer will state the phrase “say your name” as indicated in block


188


. At this point, the new user will state their name as indicated in block


190


and the computer system will receive, analyze and compress and store data related to the spoken name as indicated in block


190


. Once the data has been processed and stored, the computer will then state the phrase “please repeat” as indicated by block


192


. At that time the user must repeat his name substantially the same as he said it at step


190


and, as indicated at block


194


, the computer will again analyze, compress and store data related to the speaker's name at step


196


. The computer system or program will then progress to a logic block


198


and determine whether the two spoken versions of the name match within accepted limitations. If the two spoken names do not match sufficiently, then as indicated by the return line


200


, the program starts over and the user must again say their name as indicated in block


188


. However, if there is a match (i.e., the speaker's name was substantially the same) the computer will evaluate the user's name as indicated at logic block


202


and determine whether or not the name is similar or has similar characteristics to a template or name already existing. Of course, if there has been no other user or previous training, the answer would be no. However, in the event there are some similarities, the answer is yes then the computer will do further analysis and evaluations to determine if the similarities are too similar or not substantially similar to the other entry. For example, perhaps the two users have the names “Carol” and “Carolyn.” In such an event, the voice recognition could have difficulty. If the limitations are substantially the same, the computer will first state the phrase “Similar to another entry. Try again.” as indicated in block


204


and the program will be directed back to the start of the training program at block


146


and loop limit or counter


205


will increment to “1” (one). On the second try, if the detailed analysis determines that the similarities are still excessive, loop counter


205


will increment and be at its maximum of “2” and direct the program to state the phrase “Similar to another entry. Start over.” as indicated in block


206


and the program will then be directed back to the start of the main program block


140


. At this point, the user should consider using another version of his or her name.




However, in most cases, the output of the logic block


202


will be “no” as indicated on line


208


. That is, the spoken word or name is not similar or too similar to another template or speaker and the speech synthesis circuitry of the computer will, as indicated at step


210


, state the phrase “repeat the following words.” The words include those indicated in block


146


and as were discussed heretofore. The speech synthesis circuitry will then state each of the words and/or phrases as was discussed in

FIG. 5

such as “what time is it?”, “yes,” “no,” all of the numbers between 0 and 24 (i.e., zero, one, two . . . twenty-four), etc., etc. as shown at block


212


. After the computer has stated each word or phrase once, the user will repeat the phrase or number at which time the information will be stored by the user's name template and the speech synthesis of the computer will again repeat the word which is to be followed again by the user repeating the word and again the user's words will be stored by user's template as is also indicated in block


212


. This process will be repeated for all of the words and numbers as was discussed above after which the program progresses to a logic element


214


to determine if there were errors in the training process. That is, was each of the versions of the words spoken twice within a satisfactory limit. If there were no errors, then the computer will state “training complete” as indicated by block


216


and the program will be redirected back to the main block


140


. On the other hand, if there were errors, the computer is directed to loop limit evaluation block


218


to determine if the error existed for two tries and thereby exceeded acceptable limits as indicated in loop limit block


218


. If the answer is no, that is the error was not greater than the set limit, then the computer will advance to block


220


where the words or digits which were not sufficiently close in content will be repeated again by the computer and the user will again say the words to get a match. However, if the analysis of block


218


determines after a predetermined number of attempts that some errors still exist, then the speech synthesis of the computer will state “training error” as indicated in block


222


and the program will be directed back to the main program start at


140


. If the training error occurs, the user must decide whether to repeat the training process since he is starting over.




Once the training of the system is complete, it will be necessary to set the time of day and the alarm at a desired wake-up time. Therefore, referring now to

FIG. 8

, the process for setting the clock's time will be discussed. Once the process has moved to the set routine program as indicated in block


152


, the program logic will determine at logic block


224


if only one user has trained the system. If the answer is no, that is two users have trained the system, the speech synthesis will state the phrase “say name” as indicated in block


226


. If the answer is yes, there will be only one template set to use with respect to words and phrases trained into the program so the program will advance to the block


228


which will pick the only set of templates available. However, in the event the answer was no and the name is stated at block


226


, the computer will analyze the spoken name as indicated in block


230


and then determine whether the recording is sufficient to continue as indicated in the “good recording” logic block


232


. If the recording is a good recording as indicated by the yes output of logic block


232


, the computer advances to another logic block


234


to determine if the spoken name is a match with one of the other names recorded. If so, the program advances again to block


228


and the appropriate template set is used for further operation. However, if no name is found that matches and the output of “name found” block


234


is no, then the computer will state the phrase “Not recognized. Try Again” as indicated at step


236


. The computer will then advance to a loop limit and logic determination block


238


, that is, is this the second time that the name has been spoken as indicated in block


238


and not recognized. If the answer is yes, the program then makes the statement “Not recognized. Start Over” as shown in block


240


and returns the program to the main starting point


140


. However, if the answer is no, the program loops again to the recognition block


230


to determine a good recording. There is a similar loop to evaluate errors as indicated at the “no” output of block


232


which sends the program to the go-to block


240


for evaluating errors. After the error evaluation is complete, the errors subroutine returns the program to the loop limit decision block


238


to determine if this process has been repeated at least twice. If “no,” the program returns to the recognition block


230


and if yes, the program goes to the statement “Not recognized. Start Over” block


242


as discussed above. However, assuming that the name was found and the appropriate template set has been set, the program then makes the statement “set time, first alarm, second alarm or both” as indicated by statement block


244


. The user then proceeds to speak one of the appropriate phrases “time, set time, first alarm, second alarm, or both” one phrase at a time as indicated in block


246


. If the individual phrases are recognized as indicated by logic block


248


, the program then advances to the next appropriate subroutine as indicated by block


250


such as the go to time routine


252


, go to alarm


1


(block


254


), go to alarm


2


(block


256


) or go to both alarms (block


258


). However, if there is no good recognition the program is again directed to the errors subroutine


242


. Once the errors have been evaluated, the loop limit decision block


260


then determines if this is the second time errors have occurred in this process. If the answer is yes, the speech synthesis will state “Not recognized. Start Over” as indicated in block


262


. At that point, the program will be directed to back to the starting point of the main program block


140


. If the limit of two has not been passed then the program is directed back to the “set time first” statement


244


as indicated by the “no” line


264


.




Referring now to

FIG. 9

, the subroutine


252


for setting the time of day will be discussed. Although it will be appreciated the clock could be designed to use a 24 hour clock and the terms AM and PM would not be necessary, since the preferred usage in the United States is to use AM and PM with a 12 hour clock, that version of setting time will be discussed. It will be appreciated, of course, by those skilled in the art that setting the time for a 24 hour clock is substantially similar but somewhat simpler. Therefore, once the time routine has been entered at block


252


, the program progresses to block


266


and the speech synthesis makes the statement “Say time in single digits followed by AM or PM.” The computer then receives these sounds and determines whether they recognize any of the numbers 0 through 9, oh, or AM or PM as indicated in block


268


. If there is good recognition as indicated in block


270


, the digital display


36


shown in

FIGS. 1

,


2


,


3


and


4


, will provide a one digit display or one of the terms AM or PM as appropriate and as indicated in block


272


. If the decision of block


274


, whether or not it is AM or PM, is no, that is, the output was a digit not one of the words “AM or PM,” then, the computer progresses to block


276


and makes a “beep” sound. The display


36


will then flash the location of the next digit to be entered in the clock as indicated by block


278


. The program then returns to block


266


for setting a second digit as indicated in block


266


and the process is repeated until all four digits of the clock display are complete. After the four digits phrases are complete, the speaker will then speak the phrase either AM or PM which, once recognized as indicated in block


270


, will be displayed in the digital display as indicated in block


272


. Logic block


274


upon receiving this output will then provide a “yes” output from block


274


to the decision block


276


. Referring back to the good recognition block


270


, there is another errors loop


278


similar to that discussed with the errors loop on

FIG. 8

as indicated by the similar block indications


238


and


240


. Referring again to the logic block


276


, the computer determines whether or not the stated time is a “real time.” That is, are the hours between 1 and 12 and are the minutes between 1 and 60. It will be appreciated of course, if the clock were to be running as a 24 hour clock, the computer would determine whether or not the hours are between 1 and 24. If the answer is yes, that is it is a real time, then the speech synthesis will make the statement, “The time is 10:45 PM” or any other time entered by the user, with the following statement “Is this correct? Yes or No.” This series of statements is shown in block


280


. The user then must provide the word “yes” or “no” as indicated in block


282


. The computer then receives the statement made by the user and determines if it can recognize the phrase “yes” or the phrase “no” as indicated in block


284


. If the computer recognizes the word “no” then the program is provided to the loop limit block


286


to determine if this is the second time an incorrect time has been entered. If this is not the second time then the programmer turns to the top of the clock routine at block


252


to restart. If this is the second time an improper time has been entered, the speech synthesis will make the statement “error” as indicated in block


288


and the program will then be directed back to the main starting point block


140


. However, if at logic block


284


the computer recognizes the word “yes” as indicated by output


290


, a beeping sound will be made indicated in block


292


and the computer program will be directed back to the main starting point


140


. If this has occurred, the time has been set and the clock will be running. Referring back to block


276


, if the real time logic block has determined that the spoken time was not a valid time, that is, was not between the range of 12:00 and 11:59, then the program will make the statement “time not valid” as indicated in block


294


, the display will be cleared as indicated in block


296


and the program will then progress to a loop limit check set for three as indicated in block


298


. If this is only the first or second time that the display has been cleared and the time has not been found valid then the speech synthesis states “Time not valid. Start over” as indicated in block


300


. At this point, the computer will return to the main menu


140


. However, if the display has not been cleared three times, then the computer will return to the starting block


266


for another attempt.




Referring again to

FIG. 8

, the circuitry for setting the alarms will be discussed. It will be recalled that the speaker may set either the time or the alarms or both alarms as indicated in blocks


252


,


254


,


256


and


258


. If the user has decided to set the alarm


1


, as indicated in block


254


and shown in

FIG. 10

, the computer program will make the following statement, “First alarm is set for 8:10 AM (or some other chosen time). Change? Yes or No” as shown in step


302


. The 8:10 AM will indicate a previously set alarm time or if this is the initial setting, will likely indicate all zeros. This is indicated in block


302


. The computer will then evaluate the response of the user to see if it recognizes a yes or no response shown in step


304


. If the response is no, then the program will be directed back to the start of the main program block


140


. That is, there is no desire to change the first alarm setting so no further action is required. However, if the response is a yes and is recognized by block


304


and shown in line


306


, then the program will advance to the time setting portion of the program


308


which is the same as the time setting portion in FIG.


5


. Consequently, the reference numerals on the blocks are also the same and since the operation is the same, this portion will not be discussed again. However, if the output of the real time block


276


in

FIG. 10

is a yes, then, unlike the statement made by the time setting portion in

FIG. 9

, the speech synthesis portion of the computer program will make the statement, “First alarm is set for 8:10 AM. Is this correct? Yes or No” as indicated in block


308


. The speaker or user will then make the statement “yes” or “no” as indicated in block


310


which phrase will be evaluated by the voice recognition portion of the computer (step


312


) and if the circuitry recognizes that the speaker has spoken the word no then the subroutine will be directed back to the start of the program at start block


254


. However, if the recognition block


312


determines that the response was a “yes” the program advances to another logic decision block


314


to determine whether the first alarm is on or off. If the first alarm is off, then the computer will make the statement “First alarm off” as indicated in block


316


and the program will then be directed to light control logic block


317


which responds to a spoken “yes” or “no.” If the spoken response is “no,” the program will proceed back to the main start block


140


of the main program. If the computer determines that the switch


46


of

FIGS. 1

,


2


,


3


and


4


is set for the first alarm to be on, then the speech synthesis circuitry of the system will state “First alarm on” as indicated in block


318


and then be directed to the light control logic block


317


.




Light control logic block


317


determines whether the user wants the light or lamp


59


to come on with the alarm and start gradual increase in brightness. If the output is a “no,” the program proceeds to the main program start point


140


. If the output is a “yes,” the light control circuitry is activated as indicated by action block


319


so as to turn on the light and gradually increases its brightness. The program then proceeds to the main start point


140


.




Referring now to

FIG. 11

, there is shown the subroutine for setting alarm


2


. It will be appreciated that the process for setting alarm


2


is exactly the same as that used for setting alarm


1


. The only difference being with respect to statements made by the speech synthesis portion of the system where the second alarm is identified rather than the first alarm. Blocks


320


,


322


,


324


,


326


and


328


represent these differences. In addition, the “light control” branch logic


317


is not included with alarm


2


but, as will be appreciated, could be included just as it was with alarm


1


.




Referring now to

FIGS. 5

,


6


and


12


, it will be recalled that one of the options was to turn the radio on by a verbal command as indicated in block


123


of

FIGS. 5 and 6

. As shown in

FIG. 12

, to enter the start point


158


of this subroutine, the user speaks one of the phrases “radio on” or “radio off” as indicated by block


320


. If the speaker speaks the phrase “radio off” the logic block


322


will actuate circuitry to provide a digital signal to turn the radio off as indicated in block


324


and was discussed with respect to FIG.


5


. However, if the program subroutine in

FIG. 12

recognizes the phrase “radio on” then the program proceeds to tune the radio to the desired station as to set the volume. Therefore, the “radio on” output goes to logic block


326


which determines if the radio is “on” or “off.” If the radio is already “on,” the program progresses to the statement made by the voice synthesizer, “Radio is set for 101.1 FM. Is this correct?” as indicated in block


328


. However, if the output of logic step


326


is “no,” the radio will be turned on as shown at step


330


and the program will then be directed to step


328


. The user will then state “yes” or “no” to indicate whether or not the station should be changed as shown in step


332


. Logic step


334


will recognize a “yes” or “no” and, if “yes,” the program goes to a recognize “CALL LETTERS” logic block


336


. If the answer is “no,” the user will be instructed by the speech synthesis circuitry at step


338


to “Say station, four digit frequency in single digits with “point” followed by “AM,” “FM,” “WPBS,” “Weather” or “Short Wave”. The user will then state the digits one at a time and indicate whether the station should be an AM, FM, weather or short wave station as indicated at step


340


. It will be appreciated that steps


338


and


340


are actually several steps which progress and operate very similar to the steps included by dashed lines


308


for setting the time and alarm in

FIGS. 9

,


10


and


11


. Once the station is properly set, the program will advance to the recognize “CALL LETTERS” step


336


. If the response is “no,” the program progresses to the “Volume Correct?” step


337


. If the answer is “yes,” the user identifies the station by its call letters, or any other coded name, such as, for example, “Peach,” “Weather,” “Sports,” etc., for which the voice recognition circuitry has been trained as an optional phrase such as shown in step


339


. The program then advances to the “Volume Correct?” step


337


. As shown in step


337


, the speech synthesis states, “Is volume correct?” Then, at step


342


, the user will say “yes” or “no.” Logic block


344


will recognize a “yes” or “no” and, if “yes,” the program will return to the main point


140


. If the answer is “no,” the user states either “Volume up” or “Volume down” as shown in step


346


. If logic block


348


recognizes “volume up,” the speech synthesis circuitry will state “Say stop when correct,” as shown in step


349


, and then the digital radio control circuitry will increase the radio volume a small but selected increment as shown at step


350


. After the increase, the speech recognition program will determine at block


352


if the user has spoken the word “stop” as indicated in the dashed line block


354


. If the user has spoken the word “stop,” the program returns to the main point


140


. If the user has not spoken the word “stop,” the program loops back to step


350


as indicated by line


356


, and the volume will be incrementally increased until the user speaks the word “stop” or the volume goes to maximum.




If logic block


348


determines the radio volume is to be decreased, the program progresses substantially the same as for a volume increase except step


358


will incrementally decrease the volume, the rest of the program for detecting whether the word “stop” has been spoken is the same as indicated by the steps


357


,


360


,


362


and


364


.




The present invention further includes circuitry for allowing a light to be turned “ON” or “OFF” and for controlling the brightness independent of the go-to-sleep mode or clock alarm as discussed above. As shown in

FIG. 13

, a user may verbally request that a light be turned “on” or “off” as indicated in step


366


. Logic block


368


will recognize a phrase “light on” or “light off.” If the phrase “light off” is recognized and the lamp is “on,” the lamp will be turned off as indicated at step


370


. Of course, if the light is already off, no action is taken. However, if logic recognizes a “light on” phrase, the program progresses to logic block


372


to determine if the light is already “on.” If it is already “on,” the program progresses to the speech synthesis statement block


374


, if the light is off, the program branches to action step


376


and the lamp is turned “on” and then returns to statement block


374


. Statement block


374


asks whether or not the brightness level is correct and instructs the user to say “yes” or “no” as indicated by step


378


. If logic block


380


recognizes a “yes,” the program returns to the main starting point


140


. If logic block recognizes a “no” response, the program proceeds to statement block


382


which instructs the user to say “up” or “down” (“bright” or “dim” or other similar terms could of course be used).




If logic block


384


recognizes “up,” the program goes to a statement block


386


which instructs the user to say “stop” when the brightness level is correct. The light level is then increased a small selected increment as indicated by action block


388


. The program then listens for the spoken command “stop” as indicated in the dashed block


390


and if it recognizes “stop” at logic block


392


, the program returns to main start point


140


. If “stop” is not spoken, the program loops back to block


388


for another incremental increase of the brightness level. This loop continues until the command “stop” is spoken or the light is turned full on.




If logic block


384


recognizes a spoken “down” command, the light proceeds in the same manner as indicated by program step


394


,


396


,


398


and


400


except the light is incrementally decreased until the “stop” command is spoken or the light level is decreased to the “off” level.




It will also be recalled from

FIGS. 5 and 6

that it is possible to completely retrain the system in the event the clock radio is sold, given away or just to be used by different users.




Referring now to

FIG. 14

, the logic diagram for retraining is discussed. As was indicated by the dotted line to the retrain block


170


of

FIG. 5

, according to one embodiment, this process is not initiated by a verbal command nor by a normal press selection of a switch, etc. As was discussed, to retrain the system and as is shown in

FIG. 13

at block


402


, the user unplugs the clock and then holds down the snooze button


48


while plugging in the clock and continues to hold down the snooze button for at least three seconds as indicated by block


402


. The speech synthesis portion of the computer will then make the statement “Erase all templates? Yes or No” as indicated by block


402


. The user will then make the statement “yes” or “no” as indicated by block


406


and the program will progress to the decision block


408


after evaluating the user's phrase. If the user has made the statement “no” the program will simply go back to the main menu at


140


with no changes in the data stored in memory. However, if the phrase “yes” is recognized, the computer will then proceed to erase all of the speaker dependent memory templates as indicated in block


410


, and will make a distinct recognizable sound such as four beeps in a row as indicated in block


412


and then proceed to the training subroutine


146


as was discussed with respect to FIG.


7


. Of course, rather than unplugging, replugging and using the snooze button


48


, a dedicated button (preferably located in an obscured location) could be used to direct the program to block


402


.




The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed.



Claims
  • 1. An interactive voice recognition and voice synthesis digital clock, comprising:a DC source of power; a microphone for converting audible human speech into first electrical signals representing said human speech; a source of periodic pulse signals for use as clocking signals; a microprocessor connected to said microphone, said DC source of power, and connected to receive said clocking signals, said microprocessor including: clocking circuitry for providing second electrical signals for controlling at least the time indicated by a digital clock display, speech synthesis circuitry for generating third electrical signals representative of selected output speech phrases in response to receiving selected control signals, input speech circuitry for receiving and analyzing said first electrical signals, and said microprocessor generating said selected control signals for controlling outputs of said clocking circuitry and said speech synthesis circuitry in response to said analyzing of said first electrical signals, said microprocessor providing first ones of said selected control signals if said speech circuitry failed to recognize said first electrical signals as representing a predetermined input speech phrases and providing second ones of said selected control signals if said speech circuitry recognizes said first electrical signals as representing a predetermined input speech phrase, first memory cooperating with said microprocessor for storing data required by said microprocessor to process said first electrical signals and to determine if at least a part of said first electrical signals represents at least one of said predetermined input speech phrases; second memory cooperating with said speech synthesis circuitry of said microprocessor for storing data required to generate said third electrical signals in response to receiving said first ones of said selected control signals; a sound producing device connected to said microprocessor for receiving said third electrical signals from said speech synthesis circuitry and for converting said electrical signals into audible sounds representative of said output phrases; and a digital display for receiving said second electrical signals from said clocking circuit and for providing a clock display.
  • 2. The device of claim 1 wherein said sound producing device is an audio speaker system and wherein at least one of said second electrical signals generated by said clocking circuitry is an “on” control signal which occurs at a selected time, and further comprising a sound or alarm device connected to said microprocessor for generating electrical sound or alarm signals in response to said “on” control signal, said electrical sound or alarm signals connected to said speaker system so as to provide an audible sound or alarm.
  • 3. The device of claim 2 wherein said clocking circuitry generates at least two “on” signals, each “on” signal generated at a different time.
  • 4. The device of claim 2 wherein said alarm device is a radio and said microprocessor further includes radio control circuitry for generating control signals for turning said radio on and off, and for tuning said radio to selected stations in response to said microprocessor receiving selected ones of said predetermined input speech phrases.
  • 5. The device of claim 4 wherein said clocking circuitry generates a signal to turn said radio “off” after a selected period of time.
  • 6. The device of claim 2 wherein said alarm device generates an intermittent 400 Hz tone with three ascending output levels.
  • 7. The device of claim 5 wherein said signal to turn said radio “off” is generated at a selected time period after being turned on in response to a recognized input speech phrase to provide a “go-to-sleep” mode.
  • 8. The device of claim 5 wherein said signal to turn said radio “off” is generated at a selected time period after being turned on in response to the “on” signal from said clocking circuitry.
  • 9. The device of claim 1 wherein said microprocessor further includes training circuitry for receiving selected spoken phrases and for providing a portion of the data stored in said first memory.
  • 10. The device of claim 1 wherein said digital display includes display drivers for a four digit clock display.
  • 11. The device of claim 1 wherein at least one of said first and second memories are integral with said microprocessor.
  • 12. The device of claim 1 wherein said DC power source receives AC line power and converts said line power to DC power and further including an output unit connected to said AC line power, said output unit further connected to said microprocessor for receiving control signals, and wherein said microprocessor includes light control circuitry for providing said control signals to said output unit so as to turn power on and/or off at said output unit and to control the available power for use at said output unit.
  • 13. The device of claim 1 wherein said selected output speech phrase in response to said first ones of said selected control signals indicates that said audible human speech converted by said microphone was not recognized as a predetermined input speech phrase.
  • 14. The device of claim 1 wherein a portion of said predetermined input speech phrases are multiword phrases.
  • 15. The device of claim 1 wherein said input speech circuitry is speaker dependent with respect to selected ones of said predetermined input speech phrases such that said circuitry only recognizes the speech of a selected number of specific individuals saying said selected ones of said predetermined input speech phrase.
  • 16. An interactive voice recognition and voice synthesis digital clock, comprising:a DC source of power; a microphone for converting audible human speech into first electrical signals representing said human speech; a source of periodic pulse signals for use as clocking signals; a microprocessor connected to said microphone, said DC source of power, and connected to receive said clocking signals, said microprocessor including: clocking circuitry for providing second electrical signals for controlling at least the time indicated by a digital clock display, speaker dependent input speech circuitry for receiving said first electrical signals and for recognizing predetermined input speech phrases contained in said audible human speech only from a limited number of specific individuals and upon recognizing a predetermined phrase spoken by one of said specific individuals, said speech circuitry generating third electrical signals for controlling selected functions of said clocking circuitry, speech synthesis circuitry for generating fourth electrical signals representative of selected output speech phrases in response to said received first electrical signals not being recognized as one of said predetermined input speech phrases; first memory for storing data required by said input speech circuitry to process said first electrical signals and to determine if at least a part of said first electrical signals represents at least one of said predetermined input speech phrases; second memory cooperating with said speech synthesis circuitry of said microprocessor for storing data required by said speech synthesis circuitry to generate said fourth electrical signals; a sound producing device connected to said microprocessor for receiving said fourth electrical signals from said speech synthesis circuitry and for converting said electrical signals into audible sounds representative of said output phrases; and a digital display for receiving said second electrical signals from said clocking circuit and for providing a clock display.
  • 17. The device of claim 16 wherein said sound producing device is an audio speaker system and wherein at least one of said second electrical signals generated by said clocking circuitry is an “on” control signal which occurs at a selected time, and further comprising a sound or alarm device connected to said microprocessor for generating electrical sound or alarm signals in response to said “on” control signal, said electrical sound or alarm signals connected to said speaker system so as to provide an audible sound or alarm.
  • 18. The device of claim 17 wherein said clocking circuitry generates at least two “on” signals, each “on” signal generated at a different time.
  • 19. The device of claim 17 wherein said alarm device is a radio and said microprocessor further includes radio control circuitry for generating control signals for turning said radio on and off, and for tuning said radio to selected stations in response to said microprocessor receiving selected ones of said predetermined input speech phrases.
  • 20. The device of claim 19 wherein said clocking circuitry generates a signal to turn said radio “off” after a selected period of time.
  • 21. The device of claim 20 wherein said signal to turn said radio off is generated at a selected time period after said radio is turned on in response to a recognized input speech phrase to provide a “go-to-sleep” mode.
  • 22. The device of claim 20 wherein said signal to turn said radio off is generated at a selected time period after said radio is turned on in response to the “on” signal from said clocking circuitry.
  • 23. The device of claim 16 wherein said microprocessor further includes training circuitry for receiving selected spoken phrases and for providing a portion of the data stored in said first memory.
  • 24. The device of claim 16 wherein said digital display includes display drivers for a four digit clock display.
  • 25. The device of claim 16 wherein at least one of said first and second memories are integral with said microprocessor.
  • 26. The device of claim 16 wherein said DC power source receives AC line power and converts said line power to DC power and further including an output unit connected to said AC line power, said output unit further connected to said microprocessor for receiving control signals, and wherein said microprocessor includes light control circuitry for providing said control signals to said output unit so as to turn power on and/off at said output unit and to control the available power for use at said output unit.
US Referenced Citations (11)
Number Name Date Kind
2856751 Preiser Oct 1958
3681916 Itoyama Aug 1972
3855574 Welty Dec 1974
4038561 Lorenz Jul 1977
4205517 Murakami Jun 1980
4419770 Yagi Dec 1983
4426733 Brenig Jan 1984
4470706 Nishimura Sep 1984
4635286 Bui Jan 1987
5666331 Kollin Sep 1997
5794205 Walters et al. Aug 1998