1. Field of the Invention
The invention relates to voice recognition, and in particular to a communication system providing voice recognition and a method thereof.
2. Description of the Related Art
A voice recognition controller is a device with the ability to recognize keywords provided by a user and generate corresponding outputs, for example, commands or text-strings, for use by an application device, such as DVD/MP3 players, mobile phones, car radio, and car controllers.
The voice recognition controller may be a Bluetooth speakerphone for use with a mobile telephone provided with Bluetooth functionality in a communication system, in which the voice controller speakerphone and mobile telephone are paired. A voice recognition engine on the voice controller is implemented to recognize a name with reference to a user-defined name list and output a corresponding telephone number. A dialing function on the mobile telephone will then dial the number, and the user is able carry on a conversation through the mobile telephone via the speakerphone.
There is a need for a communication system employing a voice recognition controller with improved voice recognition rate.
A detailed description is given in the following embodiments with reference to the accompanying drawings.
According to the invention, a communication system comprises a setup controller, a voice recognition controller, and an application controller. The setup controller receives a voice keyword table including a voice recognizable keyword and a corresponding application instruction. The voice recognition controller, coupled to the setup controller, receives the voice keyword table from the setup controller, receives a first voice input, and matches a first voice input to the voice recognizable keyword to determine the corresponding application instruction. The application controller, coupled to the voice recognition controller, receives and performs the corresponding application instruction. The setup controller, the voice recognition controller, and the application controller communicate through wireless communication.
A method of voice recognition in a communication system is also disclosed, comprising a setup controller receiving a voice keyword table including a voice recognizable keyword and a corresponding application instruction, a voice recognition controller receiving the voice keyword table and matching a first voice input thereto to determine the corresponding application instruction, and an application controller receiving and performing the corresponding application instruction.
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
a, b and c illustrate exemplary voice keyword tables incorporated in the communication system of
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
Setup controller 10 may be a personal computer or personal digital assistant (PDA). Setup controller 10 comprises voice keyword table VKT 100, comprising voice recognizable keywords and corresponding application instructions. Voice keyword table VKT 100 may contain at least 1 set of voice keyword Vi and application instruction Ai pair. Voice recognition is performed by searching an input voice data from all voice keywords Vi. Voice recognition is classified by three general classes, namely speaker independent (SI), speaker dependent (SD) and speaker adapted (SA). In the SI system, a voice recognition engine identifies utterances according to universal acoustic models generated from samples obtained from a large training population. An example of commercial software application using SI models is Microsoft Speech Recognizer. As no individual training by the user is required, such systems are convenient. However, these systems generally have low recognition performance, especially when used by speakers with heavy accents or whose speech patterns otherwise diverge from the training population. On the other hand, SD systems require users to provide samples for every keyword, which can become burdensome and memory intensive for large lists of keywords. Voice keyword table VKT 100 may be edited by input such as a keyboard or a keypad, or imported from an established database such as a phonebook in an application such as Outlook, Skype, MSN, or Yahoo Messenger.
a illustrates the exemplary voice keyword table incorporated in the communication system in
Referring to
Voice recognition controller 12 transmits first voice input V1 to application controller 14 if no match is found for the first voice input in the voice keyword table. Application controller 14 further performs second layer voice recognition, i.e., determining a corresponding application instruction based on first voice input V1, and transmits first voice input V1 and the corresponding application instruction to voice recognition controller 12. The second layer voice recognition may be implemented by a local voice keyword table comprising other voice keywords and the corresponding applications in application controller 14, such that first voice input V1 is matched to one of the other voice keywords, thereby finding and performing the corresponding application A1. Application controller 14 then executes the corresponding application A1. The second layer voice reorganization recognizes more voice keywords than the first in voice reorganization controller 12. Application controller 14 may further feed first voice input V1 the corresponding application A1 back to voice recognition controller 12 so that voice recognition controller 12 can recognize first voice input V1, thereby improving voice reorganization rate.
Setup controller 10, voice recognition controller 12, and application controller 14 communicate through wired or wireless communication. The wireless communication may be, for example, Bluetooth, Wireless LAN, WiFi, or equivalent.
Setup controller 10, comprising self diagnostic function, receives second voice input V2 for comparison with a voice recognizable keyword in voice keyword table VKT 120, and validates the voice recognizable keyword if second voice input V2 matches the voice recognizable keyword, allowing the user to change the voice recognizable keyword in setup controller 10.
Voice keyword table VKT may be a phonebook, voice recognizable keyword is a pronunciation of a name entry, and the corresponding application instruction dialing a predetermined number.
Voice keyword table VKT may be a voice command table, the voice recognizable keyword pronunciation of a voice command entry, and the corresponding application instruction of a built-in command or a user-defined command.
In step S310, setup controller 10 receives text stream “Home” from S300 for example, the label field 20a in
In step 320, Text-to-Speech module generates speech waveform S322 for “Home” according to phoneme string S312.
In step S330, setup controller 10 receives the phonemes S312 to generate a voice data based on the full set built-in speaker independent models S332. For example, system controller 126 fetches “h” “o” “m” models in S332 according to S312 in to generate the corresponding voice recognition models. S334 for “Home”.
In step S340, setup controller 10 employs the speaker dependent speech data S342 and the speaker dependent models S334 to generate speaker dependent voice recognition models S344. Since speaker dependent models accommodates habitual pronunciation of the user, therefore the voice recognition rate is improved.
First wireless transceiver 120 downloads VKT 100 from setup controller 10 to store in memory 125. Second wireless transceiver 121 transmits the corresponding application instruction Ai to and receives requested voice recognition keyword Vi and the corresponding application Ai from application controller 14, added into VKT 120 subsequently. Voice input device 122 may be a microphone, receiving first voice input V1. Voice output device 123 may be a speaker playing voice data. Analog to digital converter (ADC) 124 converts first voice input V1 from analog to digital. Memory 125 stores voice keyword table VKT 120, built-in speech models and parameters, and first voice input V1. System controller (voice recognition module) 126 matches first voice input V1 to voice keywords Vi in table VKT to determine the corresponding application instruction Ai.
In step S500, noise in first voice input V1 is suppressed in time domain to provide good signal quality.
In step S502, first voice input V1 is converted to frequency domain to further reduce noise and extract speaker specific models therein.
In step S504, system controller 126 uses first voice input V1, speaker independent and speaker dependent speech models to search the voice recognizable keywords in table VKT.
In step S506, system controller 126 performs post-processes on first voice input V1, such as, for example, execution of corresponding application instructions, first layer rejection, or generation of the success rate of voice recognition. If system controller 126 determines a first voice input V1 match with a voice recognition keyword in table VKT, the corresponding application instruction is transmitted to application controller 14 for execution. If not, system controller 126 transmits first voice input V1 to application controller 14 for second layer voice recognition. System controller 126 may establish a score system based on success rate of the first layer voice recognition.
This application claims the benefit of U.S. Provisional Application Ser. No. 60/842,693, the entire disclosure of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
4870686 | Gerson et al. | Sep 1989 | A |
5355433 | Yasuda et al. | Oct 1994 | A |
5715369 | Spoltman et al. | Feb 1998 | A |
5732190 | Hamasaki et al. | Mar 1998 | A |
5835570 | Wattenbarger | Nov 1998 | A |
5933775 | Peters | Aug 1999 | A |
5974382 | Fado et al. | Oct 1999 | A |
6049594 | Furman et al. | Apr 2000 | A |
6078568 | Wright et al. | Jun 2000 | A |
6249759 | Oda | Jun 2001 | B1 |
6366882 | Bijl et al. | Apr 2002 | B1 |
6732078 | Luomi et al. | May 2004 | B1 |
7216082 | Okubo et al. | May 2007 | B2 |
7328157 | Chu et al. | Feb 2008 | B1 |
7590538 | St. John | Sep 2009 | B2 |
7676363 | Chengalvarayan et al. | Mar 2010 | B2 |
7689417 | Huang et al. | Mar 2010 | B2 |
20070032225 | Konicek et al. | Feb 2007 | A1 |
20080059191 | Huang et al. | Mar 2008 | A1 |
20080103781 | Wasson et al. | May 2008 | A1 |
Number | Date | Country |
---|---|---|
1391210 | Jan 2003 | CN |
2001-51694 | Feb 2001 | JP |
2003-319070 | Nov 2003 | JP |
Number | Date | Country | |
---|---|---|---|
20080059193 A1 | Mar 2008 | US |
Number | Date | Country | |
---|---|---|---|
60842693 | Sep 2006 | US |