METHOD AND APPARATUS FOR PROGRAMMING DEVICES TO RECOGNIZE VOICE COMMANDS

Abstract: To program a communication device (14) to respond to voice commands (16, 32, 34), an individual desiring to operate the communication device sends a message (38) to a repository of voice recognition codebooks. The repository device(s) respond by transmitting the codebook of that individual to at least one communication device, which stores the codebook therein (26). Thereafter, the communication device may respond to the voice commands of the individual.

Description: METHOD AND APPARATUS FOR PROGRAMMING DEVICES TO RECOGNIZE VOICE COMMANDS Technical Field This invention relates generally to voice recognition, and more particularly to speaker dependent voice recognition applied to information communication systems, and is more specifically directed toward a method for programming communication devices to recognize and respond to voice commands. Background Art Voice recognition technology has been recognized as an advantageous feature for many product applications. Such technology may be employed to render a product partially or entirely controllable by voice commands in situations where hands-on control is impossible or impracticable. Presently, however, voice recognition technology has not found wide use due to the complexity of its implementation, and requirements for a large amount of electronic storage (memory). Speaker dependent voice recognition devices are designed to respond to a particular individual. Stored within such devices are speaker specific parameters, such as, for example, variations in the vocal tract response, pitch period, short-term speech power, and amplitude of the short-term speech spectra. In order for a speaker dependent device to respond to more than one person, the voice recognition information (commonly referred to as a "codebook") for each person must be stored within the device. However, mass codebook storage in each subscriber unit (radio) may prove impractical due to space or cost considerations. An alternative may be to use speaker independent technology, however, speaker independent devices are typically more complex and costly. When applied to information communication devices, voice recognition technology raises several concerns. One major concern comprises the recognition that communication devices are typically used by more than one individual. For example, police vehicles are generally in service for three eight-hour shifts, during which at least three officers use the vehicle. Moreover, the officers using the vehicle (radio) may be anyone on the entire police force. Therefore, each radio must contain a codebook for each officer on the force. This would significantly increase the cost of the radios. Additionally, codebook maintenance costs would be significant since the radios must be updated with each change in personnel. Another concern is the increase in radio size. Contemporary state-of-the-art communication devices are designed so as to minimize their physical size. The addition of several memory devices, or a memory printed circuit board, may increase the size of the device beyond that desired by the consuming public. This is a particular concern in the personal pager and handheld radio products. One solution may be to store the codebooks of only a few individuals thereby reducing the amount of required memory. However, this approach is inflexible to changing circumstances such as variations in personnel working hours or in the event that the radio itself should fail. Another approach may be to have each radio contain only enough memory for a single codebook, which must be retrained for each person. Speaker dependent voice recognition devices must be "trained" to respond to each individual. Training is accomplished by having an individual repeat control words several times until the device has been "trained" to recognize that word as spoken by that individual. However, training is a time consuming process and may be very inefficient in certain markets, such as police and fire protection, where rapid activity is ordinarily required. Accordingly, a need exists in the art to permit information communication devices to be programmed to respond to the voice commands of several individuals in an efficient and organized manner. Summary of the Invention Briefly, according to the invention, a communication device.may be programmed to recognize voice commands via a portable programming apparatus. An identification code is employed to access particular voice recognition information (codebook) from a repository containing one or more voice recognition codebooks within the portable programming device. The programming device responds by transmitting the identified codebook to at least one communication device, which stores the codebook therein. Thereafter, the courunication device may respond to the voice commands of that individual. In this way, the communication device may be rapidly reprogrammed to accommodate changing operators. Brief Description of the Drawings Figure 1 is an illustration of a programming device in accordance with the present invention, and a vehicle having a mobile subscriber unit installed there; - 4 - Figure 2 is an illustration of an alternate programming device in accordance with the present invention, and a mobile subscriber unit; Figure 3 is a block diagram of the programming device of Figure 1 or Figure 2; Figure 4 is a block diagram of a subscriber unit according to the present invention. Detailed Description of the Preferred Embodiment Referring now to Figure 1, there is shown a radio frequency programming device (10) communicating with a vehicle (12) having a mobile subscriber unit installed therein. Preferably, the programming device (10) operates as a repository of all of the codebooks for individuals that may operate the subscriber unit. Alternately, the total collection (or library) of codebooks may be apportioned between two or more programming devices. The subscriber units may be mobile units, portable units, or control stations. Generally, a portable subscriber unit is designed to be carried on or about the person, a mobile subscriber unit is designed to be mounted into vehicles, and control stations are permanent or semi-permanent installations installed in buildings or other fixed locations. As used herein, the ten subscribers collectively refers to portable units, mobile units or control stations. As mentioned above, preferably all required codebooks for all personnel using a communication system are centrally contained in the programming device (10) . The programming device thus becomes a central repository (library) of the several codebooks. Preferably, a separate facility may be used to provide "training" of the subscriber units. For example, all codebooks for an entire police force may be created by training a subscriber unit (or its simulated equivalent) at the police station, after which the newly created codebooks may be transferred to the programming device via any convenient means. In this way, the codebook library may be maintained. Alternately, the programming device may allow for creation of codebooks by having subscriber operators train the programming device itself. Each of the subscriber units contain enough codebook memory to store the codebook for at least one individual. Thus, before an individual may use the subscriber unit, his or her codebook must be transferred from the programming device (10) to the subscriber unit. Preferably, codebook transfer is accomplished by entering a codebook identification code on a keypad (14) and depressing a transfer activation button (or switch) (16) . The present invention also contemplates several alternatives to effect codebook transfer. One alternate comprises providing each operator with an identification card (or module) that may be inserted into the programming device, which causes an automatic transfer of the appropriate codebook from the programming device (10) to the subscriber unit. In another embodiment, the programming device may itself be voice controlled (speaker dependent) to transfer an identified codebook. In this way, codebook transfer could be controlled since the programming device would only respond to a limited number of speakers. In a further embodiment, the programing device may employ a limited version of speaker independent voice recognition technology, which aay lorn used to effect codebook transfer. In several circumstances, the operator of the mobile subscriber unit also carries an associated portable subscriber unit, which may be used to maintain communication when the operator is out of the vehicle. Accordingly, the present invention contemplates that the programming device (10) may simultaneously transfer a codebook to a mobile subscriber unit and its associated portable unit. Once the codebook has been stored in a subscriber unit, the operator may partially (or entirely) control the operation of the subscriber unit by voice commands. Alternately, voice commands may be used in conjunction with manually entered commands (or vice versa) to execute a desired function. Whenever another individual desires to use that subscriber unit (for example, at a change in a working shift) , the codebook for the new operator may be rapidly transferred as described above. Optionally, the memory in the subscriber may be expanded (within size and cost constraints) to retain a limited number of the last used codebooks in a first-in-last-out manner. For example, the codebook of the current user and the prior two operators may be retained in the subscriber unit. In this way, if the same three individuals operating the subscriber during the three operating shifts were ordinarily repeated day to day, no reprogramming of the subscriber unit would be required. Referring now to Figure 2, there is shown a programming device (20) communicating via modulated light waves (optics) with a subscriber unit (22) . For example, infrared scattering light may be used to transfer the codebook from the programming device to the subscriber unit. As discussed in conjunction with Figure 1, a codebook transfer is preferably accomplished by entering a codebook identification code on a keypad (14) and depressing a transfer activation button (or switch) (16) . Alternately, identification cards (or modules) may be used to cause an automatic transfer of the appropriate codebook from the programming device (10) to the subscriber unit. Also, the programming device may itsel be voice controlled (using speaker dependent or independent technology) to transfer an identified codebook. Lastly, as an alternative to either radio frequency or light wave communication, codebook transfer may be effected via an interface cable (either conductiv wire or fiber optic link) between a programming port (24) on the subscriber unit (22), and a programming port (24') on the programming device (10 or 20) . Referring now to Figure 3, there is shown a block diagram of the programing unit (10 or 20) . The programming unit operates under the control of a microprocessor (30) , which communicates via an address bus (32) and a data bus (34) with read-only memory (ROM) (36) and random access memory (RAM) (38) . The codebook for each individual resides in mass codebook storage (40) , which preferably comprises electronically erasable programmable read-only memory (EEPROM) . Alternately, battery backed-up RAM may be used. The operator may enter manual commands via the keyboard (42) , and receive status or information updates by the display (44) . Preferably, in a voice controlled programmer embodiment, voice commands are entered via the microphone (46) , which are digitized (48) and processed by the microprocessor (30) . Codebook transfer is accomplished via a transmitter (50) , which is of a type in accord with the particular communication media employed. That is, an optics transmitter for fiber optic cable or infrared scattered transmission, a radio frequency transmitter for RF communication, or merely a modulator amplifier for wireline transmission. Optionally, the programming device (10) may include a receiver section (52) comprising a receiver (54) , which aay forward data messages, such as acknowledge messages, to the Bicrσprocessor (30) , while routing analog messages (such as a programming complete or error signal) to any suitable audio processing stages (56) , which may provide an alert tone to the operator via the speaker (58) . Referring now to Figure 4, there is shown a block diagram of a subscriber unit (22) according to the invention. The subscriber unit also operates under the control of a microprocessor (30) , which communicates via an address bus (32) and a data bus (34) with read-only memory (ROM) (36) and random access memory (RAM) (38) . The codebook for at least one individual resides in the codebook storage (40'), which preferably comprises electronically erasable programmable read-only memory (EEPROM) . Alternately, battery backed-up RAM may be used. The operator may enter manual commands via the keyboard (42) , and receive status or information updates by the display (44) . Preferably, voice commands are entered via the handheld microphone (60) , which are digitized (48) and processed by the microprocessor (30) . Optionally, a condenser microphone (or equivalent) (46) may be mounted on the subscriber unit, to receive voice commands without the necessity of picking up the handheld microphone (60) . Voice messages are transmitted via the handheld microphone (60) and a radio frequency transmitter (50 1 ), which may also transmit data messages from the microprocessor (30). The transmitter (50') is selectively coupled to the antenna (62) via the antenna switch (64) , which is controlled via the antenna control line (66) from the microprocessor (30) . The subscriber unit (14) may also receive data or voice messages via a radio frequency receiver (54'), which forwards data messages to the microprocessor (30) , while routing voice messages to any suitable audio processing stages (56) , which may provide the voice messages or signalling tones to the operator via the speaker (58) . The subscriber unit (22) may accept a codebook or storage in a variety of ways. In a radio .frequency programmer eabodiment, a subscriber unit (22) may receive a codebook transmitted from a programming device (10) via the antenna (62) , which is coupled (64) to a receiver (54'). The receiver (54') routes the received codebook information to the microprocessor (30) , which may store the codebook in the codebook storage (40'). Optionally, an acknowledge message may be transmitted (50') to the programming device (10) to confirm receipt of the codebook. In a optic programmer embodiment, the subscriber unit (22) is equipped with an optical receiver (or transceiver) (68) to enable the subscriber unit to receiver a codebook transmitted by a programmer (20) via, such as, infrared scattering. Lastly, a subscriber may be provided a programming port (70) , which may accommodate a wireline or fiber optic cable to enable the subscriber to receive a codebook. According to the invention, a significant level of voice control, may be accomplished by a limited word set. While total voice control may require several additional words, the present invention contemplates that the subscriber unit may be at least partially controlled by the word set as represented in Table 1 below. Table 1 EMERGENCY LIGHTS SIREN ON OFF MONITOR CANCEL STATUS TRANSMIT RECEIVE DISPLAY SCAN DIAL CALL CHANNEL ACKNOWLEDGE MESSAGE NUMBER ZERO ONE TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE In summary, the present invention provides that a communication device may be programmed to recognize voice commands via the portable programming apparatus described above. To effect codebook transfer, the programming device receives an identification code, which is used to access particular voice recognition information from a repository of codebooks contained within the " portable programming device. The identified codebook is transferred to at least one communication device by modulated radio waves, modulated light waves, or other suitable modulated electronic signals. Upon receipt and storage of the codebook, the communication device may respond to the voice commands of that individual. In this way, the communication device may be rapidly reprogrammed to accommodate changing operators. What is claimed is:

Claims: Cl aims 1. In a communication system having at least one subscriber unit being at least partially controlled by voice commands, and at least one repository station having a data base comprising at least voice recognition information for said at least one subscriber unit, a method for programming said at least one subscriber unit to recognize said voice commands, comprising the subscriber unit steps of: receiving data representing voice recognition information from said repository station. 2. The method of claim 1, which includes the subscriber unit step of: transmitting a message comprising a request for particular voice recognition information to said repository station prior to receiving said data representing voice recognition information from said repository station. 3. In a communication system having at least one subscriber unit being at least partially controlled by voice commands, and at least one repository station having a data base comprising at least voice recognition information for at said least one subscriber unit, a method for programming said at least one subscriber unit to recognize said voice commands, comprising the subscriber unit steps of: (a) transmitting a message comprising a request for particular voice recognition information to said repository station; (b) receiving data representing voice recognition information from said repository station; (c) processing voice commands at said subscriber unit in accordance with said data representing voice recognition information to at least partially control operation of said subscriber unit in response to said voice commands. 4. The method of claim 3, wherein said transmitting step comprises: inserting an identification card containing at least an identification code into said subscriber unit, and transmitting a data packet representing at least said identification code as at least a portion of said message. 5. The method of claim 3, wherein said transmitting step comprises: (a) receiving a voice signal comprising a command to retrieve said data representing voice recognition information; (b) processing said voice signal in a speaker independent voice recognition means to provide a data packet; (c) transmitting at least said data packet as at least a portion of said message representing a request for particular voice recognition information. 6. the method of claim 3, wherein said processing step comprises: (i) processing, in the absence of manually entered commands, voice commands in accordance with said data representing voice recognition information to at least partially control operation of said subscriber unit in response to said voice commands; (ii) processing, when said manually entered commands are present, said manually entered commands in cooperation with said voice commands processed in accordance with said data representing voice recognition information to at least partially control operation of said subscriber unit in response to said manually entered commands and said voice commands. 7. In a communication system having at least one subscriber unit being at least partially controlled by voice commands, and at least one repository station having a data base comprising at least voice recognition information for at said least one subscriber unit, a method for programming said at least one subscriber unit to recognize said voice commands, comprising the steps of: at said at least one repository station: (a) transmitting, automatically, data representing voice recognition information to at least one subscriber unit in response to a predetermined event; at said at least one subscriber unit: (b) information from said repository station. 8. In a communication system having at least one subscriber unit being at least partially controlled by voice commands, and at least one repository station having a data base comprising at least voice recognition information for at said least one subscriber unit, a method for maintaining said data base, comprising the subscriber unit steps of: (a) creating data representing voice recognition information; (b) transmitting said data representing voice recognition information to said at least one central repository. 9. In a communication system having at least one subscriber unit being at least partially controlled by voice commands, and at least one repository station having a data base comprising at least voice recognition information for at said least one subscriber unit, a method for maintaining said data base, comprising the steps of: at a first subscriber unit : (a) creating data representing voice recognition information; (b) transmitting at least said data representing voice recognition information to said at least one central repository; at said at least one repository station: (a) receiving at least said data representing voice recognition information from said first subscriber unit; (b) storing at least said data representing voice recognition information; (c) transmitting, upon command, at least said data representing voice recognition information to any of said at least one subscriber unit.

Inventors: ROHANI KAMYAR, SMITH PAUL FIELDING, ROHANI, KAMYAR, SMITH, PAUL, FIELDING
Applicants: MOTOROLA INC, MOTOROLA, INC.
Application year: 1989
Main classification: G10L7
IPC codes: G10L15, H04M1