A speech recognition method, apparatus and electronic device
By using multiple speech recognition engines to process audio data in parallel and combining speech rate range and audio length to determine the actual recognition result, the problem of inaccurate speech recognition on TVs is solved, thus improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HISENSE VISUAL TECH CO LTD
- Filing Date
- 2023-03-10
- Publication Date
- 2026-06-09
AI Technical Summary
Televisions sometimes fail to recognize voice messages accurately due to differences in users' language habits, resulting in an inability to respond to user voice information in a timely manner and impacting user experience.
The system sends the audio data to be recognized to a server containing at least two speech recognition engines, receives the theoretical recognition results processed in parallel, and determines the actual recognition result based on the target speech rate range, audio length, and speech recognition results.
It improves the accuracy of voice recognition on televisions, reduces the problem of not being able to respond to user voice information in a timely manner, and enhances the user experience.
Smart Images

Figure CN116504240B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of speech recognition technology, and in particular to a speech recognition method, apparatus and electronic device. Background Technology
[0002] With the development of voice recognition technology, intelligent voice interaction technology is gradually becoming a standard feature of terminal devices (such as mobile phones, tablets, and smart home products). In intelligent voice interaction scenarios, users can control smart home appliances via voice. Taking a television as an example, users can control the television with their voice to perform a series of television control operations such as watching videos, listening to music, or checking the weather. However, due to the different language habits of each user, televisions often fail to accurately recognize the user's voice input, resulting in an inability to respond to the user's voice information in a timely manner and a poor user experience.
[0003] Therefore, improving the accuracy of voice recognition on televisions has become an urgent problem to be solved. Summary of the Invention
[0004] To address the aforementioned technical problems, this disclosure provides a speech recognition method, apparatus, and electronic device.
[0005] The technical solution disclosed herein is as follows:
[0006] In a first aspect, this disclosure provides a speech recognition method, comprising: receiving audio data to be recognized and the audio length of the audio data to be recognized; sending the audio data to be recognized to a server containing at least two speech recognition engines; receiving the theoretical recognition result of each speech recognition engine sent by the server; and determining the actual recognition result corresponding to the speech information based on the target speech rate range, the audio length, and the speech recognition result.
[0007] Secondly, this disclosure provides a speech recognition device, comprising: a receiving unit for receiving audio data to be recognized and the audio length of the audio data to be recognized; a processing unit for controlling a sending unit to send the audio data to be recognized received by the receiving unit to a server containing at least two speech recognition engines; the receiving unit for receiving the theoretical recognition result of each speech recognition engine sent by the server; and the processing unit for determining the actual recognition result corresponding to the speech information based on a target speech rate range, the audio length, and the speech recognition result received by the receiving unit.
[0008] Thirdly, this disclosure provides an electronic device, including: a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to cause the electronic device to implement the speech recognition method as provided in any of the first aspects when executing the computer program.
[0009] Fourthly, the present invention provides a computer-readable storage medium, comprising: storing a computer program on the computer-readable storage medium, the computer program being executed by a processor of a speech recognition method as provided in any of the first aspects.
[0010] Fifthly, the present invention provides a computer program product that, when run on a computer, causes the computer to perform a speech recognition method as provided in any of the first aspects.
[0011] It should be noted that the aforementioned computer instructions may be stored, in whole or in part, on the first computer-readable storage medium. The first computer-readable storage medium may be packaged together with the processor of the speech recognition device, or it may be packaged separately from the processor of the speech recognition device; this disclosure does not impose any limitations on this.
[0012] The descriptions of the second, third, fourth, and fifth aspects in this disclosure can be referenced to the detailed description of the first aspect; and the beneficial effects of the descriptions of the second, third, fourth, and fifth aspects can be referenced to the analysis of the beneficial effects of the first aspect, which will not be repeated here.
[0013] In this disclosure, the names of the aforementioned voice recognition devices do not limit the devices or functional modules themselves. In actual implementation, these devices or functional modules may appear under other names. As long as the functions of each device or functional module are similar to those of this disclosure, they fall within the scope of the claims of this disclosure and their equivalents.
[0014] These or other aspects of this disclosure will become more readily apparent in the following description.
[0015] The technical solution provided in this disclosure has the following advantages compared with the prior art:
[0016] The system receives the audio data to be recognized, along with its length. Then, it sends the audio data to a server containing at least two speech recognition engines for recognition, receiving the theoretical recognition results from each engine. Finally, based on the target speech rate range, audio length, and the speech recognition results, the actual recognition result corresponding to the speech information is determined.
[0017] Furthermore, when the image recognition method provided in this disclosure is applied to a television set, the television set can recognize the audio data to be recognized through multiple speech recognition engines, thereby avoiding the problem of a single speech recognition engine being unable to recognize the audio data to be recognized, resulting in an inability to respond to the user's voice information in a timely manner. Since the number of times the problem of being unable to respond to the user's voice information is reduced, the accuracy of speech recognition can be improved, thus solving the problem of how to improve the accuracy of speech recognition in television sets. Attached Figure Description
[0018] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0019] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 A schematic diagram illustrating a scenario for the speech recognition method provided in an embodiment of this application;
[0021] Figure 2 This is one of the structural schematic diagrams of the display device in the speech recognition method provided in the embodiments of this application;
[0022] Figure 3 This is a second schematic diagram of the structure of the display device in the speech recognition method provided in the embodiments of this application;
[0023] Figure 4 One of the flowcharts of the speech recognition method provided in the embodiments of this application;
[0024] Figure 5 A second schematic flowchart illustrating the speech recognition method provided in this application embodiment;
[0025] Figure 6 The third schematic flowchart of the speech recognition method provided in the embodiments of this application;
[0026] Figure 7 The fourth flowchart illustrating the speech recognition method provided in this application embodiment;
[0027] Figure 8 Fifth schematic flowchart of the speech recognition method provided in the embodiments of this application;
[0028] Figure 9 A flowchart illustrating the speech recognition method provided in this application embodiment is shown in Figure 6.
[0029] Figure 10 This is a schematic diagram of the structure of a display device provided in an embodiment of this application;
[0030] Figure 11 This is a schematic diagram of a chip system provided in an embodiment of this application. Detailed Implementation
[0031] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0032] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.
[0033] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0034] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device according to one or more embodiments of this application, such as... Figure 1 As shown, a user can operate the display device 200 via a mobile terminal 300 and a control device 100. The control device 100 can be a remote control, and communication between the remote control and the display device includes infrared protocol communication, Bluetooth protocol communication, wireless or other wired methods to control the display device 200. The user can input user commands through buttons on the remote control, voice input, control panel input, etc., to control the display device 200. In some embodiments, a mobile terminal, tablet computer, computer, laptop computer, and other smart devices can also be used to control the display device 200.
[0035] In some embodiments, the electronic device provided in this application can be the aforementioned display device 200. When a user needs to use voice control to perform corresponding operations on the display device 200, the user can input corresponding voice information through a mobile phone or control device 100 that has established a communication connection with the display device 200. For example, the user can use the microphone sensor of the mobile phone to pick up the voice information input, or the user can use the microphone sensor of the control device 100 to pick up the voice information input. After receiving the voice information sent by the mobile phone or the control device 100, the display device 200 preprocesses the voice information to obtain the audio data to be recognized and its audio length. Then, the display device 200 uploads the audio data to be recognized to the server 400 for processing. After receiving the audio data to be recognized from the display device 200, the server 400 inputs the audio data to be recognized into at least two speech recognition engines for recognition, obtaining the theoretical recognition result of each speech recognition engine. Then, the server 400 sends the theoretical recognition result back to the display device 200. After receiving the theoretical recognition result from the server 400, the display device 200 determines the actual recognition result corresponding to the speech information based on the target speech rate range, audio length, and speech recognition result. Then, the display device 200 can display this actual recognition result in the target manner, which may include text, speech, etc.
[0036] In some embodiments, the electronic device provided in this application can be the server 400 described above. When a user needs to use voice control to perform corresponding operations on the display device 200, the user can input corresponding voice information through a mobile phone or control device 100 that has established a communication connection with the display device 200. For example, the user can use the microphone sensor of the mobile phone to pick up the voice information input, or the user can use the microphone sensor of the control device 100 to pick up the voice information input. After receiving the voice information sent by the mobile phone or the control device 100, the display device 200 sends the voice information to the server 400 for processing. After receiving the voice information sent by the display device 200, the server 400 performs preprocessing on the voice to obtain the audio data to be recognized and the audio length of the audio data to be recognized. Then, the server 400 inputs the audio data to be recognized into at least two speech recognition engines for recognition, obtaining the theoretical recognition result of each speech recognition engine. Based on the target speech rate range, audio length, and speech recognition result, the server 400 determines the actual recognition result corresponding to the voice information. Server 400 sends the actual recognition result to display device 200. After receiving the actual recognition result sent by server 400, display device 200 displays the actual recognition result in a targeted manner.
[0037] Figure 2 A hardware configuration block diagram of a display device 200 according to an exemplary embodiment is shown. For example... Figure 2 The display device 200 shown includes at least one of the following: a tuner / demodulator 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a display 260, an audio output interface 270, a memory, a power supply, and a user interface 280. The controller includes a central processing unit, a video processor, an audio processor, a graphics processor, RAM, ROM, and a first to nth interface for input / output. The display 260 may be a touch-enabled display, such as a touch screen display. The tuner / demodulator 210 receives broadcast television signals via wired or wireless reception and demodulates audio and video signals, such as EPG data signals, from multiple wireless or wired broadcast television signals. The detector 230 is used to collect signals from the external environment or signals interacting with the external environment. The controller 250 and the tuner / demodulator 210 may be located in different separate devices; that is, the tuner / demodulator 210 may also be located in an external device of the main device containing the controller 250, such as an external set-top box.
[0038] In some embodiments, the controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in memory. The controller 250 controls the overall operation of the display device 200.
[0039] In some examples, the display device 200 of one or more embodiments is a television set 1, and the operating system of the television set 1 is the Android system, for example... Figure 3 As shown, TV 1 can be logically divided into an application layer (referred to as "application layer") 21, an application framework layer (referred to as "framework layer") 22, an Android runtime and system library layer (referred to as "system runtime library layer") 23, and a kernel layer 24.
[0040] The application layer 21 includes one or more applications. These applications can be system applications or third-party applications. For example, application layer 21 may include a first application that provides voice control functionality. The framework layer 22 provides application programming interfaces (APIs) and programming frameworks for the applications in application layer 21. The system runtime library layer 23 provides support for the upper layer, namely the framework layer 22. When the framework layer 22 is used, the Android operating system runs the C / C++ libraries contained in the system runtime library layer 23 to implement the functions required by the framework layer 22. The kernel layer 24 acts as software middleware between the hardware layer and application layer 21, managing and controlling hardware and software resources.
[0041] In some examples, after the TV 1 is turned on, the first application starts. Then, when the user needs to use voice control to perform corresponding operations on the TV 1, the user can input corresponding voice information through a mobile phone or control device 100 that has established a communication connection with the TV 1. For example, the user can use the microphone sensor of the mobile phone to pick up the voice information input, or the user can use the microphone sensor of the control device 100 to pick up the voice information input. Afterwards, the processing unit 202 of the TV 1 determines that after the receiving unit 201 receives the voice information sent by the mobile phone or the control device 100, it preprocesses the voice information received by the receiving unit 201 to obtain the audio data to be recognized and the audio length of the audio data to be recognized. Then, the processing unit 202 of the display device 200 controls the sending unit 203 to upload the audio data to be recognized to the server 400 for processing. After receiving unit 401 of server 400 receives the audio data to be recognized sent by display device 200, processing unit 402 inputs the audio data to be recognized into at least two speech recognition engines for recognition, obtaining the theoretical recognition result of each speech recognition engine. Then, processing unit 102 of server 400 controls sending unit 403 to send the theoretical recognition result to display device 200. After receiving unit 201 of display device 200 receives the theoretical recognition result sent by server 400, processing unit 202 determines the actual recognition result corresponding to the speech information based on the target speech rate range, audio length, and the speech recognition result received by receiving unit 401.
[0042] Specifically, the storage unit 204 of the television set 1 is used to store the packaging format of each voice recognition engine, as well as data such as the operating system of the television set 1.
[0043] In the following embodiments, the television set 1 described above is used as the execution subject for the speech recognition method provided in the embodiments of this disclosure to illustrate the method of this application.
[0044] This application provides a speech recognition method, such as... Figure 4 As shown, the speech recognition method may include S11-S14.
[0045] S11. Receive the audio data to be identified, and the audio length of the audio data to be identified.
[0046] S12. Send the audio data to be recognized to a server 400 containing at least two speech recognition engines.
[0047] In some examples, the speech recognition method provided in this disclosure, through the mutual redundancy of multiple speech recognition engines, allows other speech recognition engines to continue analyzing the audio data to be recognized even when one speech recognition engine malfunctions, such as when the recognition result returns a timeout or the recognition result returns slowly. This enables the speech recognition method to respond to user voice information quickly and accurately, thereby improving the user experience.
[0048] In some examples, different speech recognition engines have different configuration parameters. After receiving the audio data to be recognized, server 400 inputs the audio data to each speech recognition engine in parallel, so that multiple speech recognition engines can process the audio data to be recognized simultaneously. In practical applications, different speech recognition engines have different processing speeds when processing the same audio data to be recognized. Therefore, TV 1 will receive the theoretical recognition results sent by server 400 sequentially.
[0049] Then, based on the target speech rate range, audio length, and the currently received speech recognition result, television set 1 determines the actual recognition result corresponding to the speech information. For example, television set 1 obtains the total number of characters contained in the current speech recognition result. Then, based on the relationship between the total number of characters and a target threshold (e.g., the target threshold equals 0), television set 1 determines the actual recognition result corresponding to the speech information. For example:
[0050] If the total number of characters is less than or equal to the target threshold, and no other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, the speech information recognition is determined to have failed, that is, the actual recognition result corresponding to the speech information is speech information recognition failure.
[0051] Alternatively, if the total number of characters is less than or equal to the target threshold, and other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, the total number of characters contained in the other speech recognition results is re-acquired, and the actual recognition result corresponding to the speech information is determined based on the relationship between the re-acquired total number of characters and the target threshold (e.g., the target threshold is equal to 0).
[0052] Alternatively, if the total number of characters exceeds the target threshold, the actual number of characters corresponding to the speech information is determined based on the target speech rate range and audio length. The actual recognition result corresponding to the speech information is then determined based on the actual number of characters and the total number of characters contained in the speech recognition result. For example, if the total number of characters exceeds the target threshold, and the total number of characters contained in the speech recognition result falls within the actual number of characters, the actual recognition result corresponding to the speech information is determined to be the speech recognition result corresponding to the total number of characters.
[0053] Alternatively, if the total number of characters exceeds the target threshold, the total number of characters in the speech recognition result does not fall within the actual number of characters, and no other speech recognition result is received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, then the speech information recognition is determined to have failed, that is, the actual recognition result corresponding to the speech information is considered to have failed to recognize the speech information.
[0054] Alternatively, if the total number of characters is greater than the target threshold, and the total number of characters in the speech recognition result does not fall within the actual number of characters, and other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, the total number of characters in the other speech recognition results is obtained, and the actual recognition result corresponding to the speech information is determined based on the relationship between the newly obtained total number of characters and the target threshold (e.g., the target threshold is equal to 0).
[0055] For example, taking a target threshold of 0, a preset duration of 3 seconds, an audio length of 16 seconds, a target speech rate range of [1, 4], and a total number of characters in the current speech recognition result of 0 as an example, the speech recognition method provided in this embodiment of the disclosure is described, and the specific implementation process is as follows:
[0056] If television set 1 determines that the total number of characters in the current speech recognition result (e.g., speech recognition result 1) is equal to the target threshold of 0, and no other speech recognition results are received within a preset time period starting from the generation time of speech recognition result 1, then the television set 1 determines that the speech recognition has failed; that is, the actual recognition result corresponding to the speech information is a speech recognition failure. Afterward, television set 1 displays the speech recognition failure in a target-oriented manner. Simultaneously, television set 1 discards any subsequent speech recognition results (e.g., speech recognition result 2, speech recognition result 3, etc.) and waits for new speech information.
[0057] Alternatively, if TV 1 determines that the total number of characters in the current speech recognition result (e.g., speech recognition result 1) is equal to the target threshold of 0, and other speech recognition results (e.g., speech recognition result 2) are received within a preset time period starting from the generation time of speech recognition result 1, then the total number of characters in speech recognition result 2 is obtained. For example, if the total number of characters in speech recognition result 2 is 12, then TV 1 determines that the total number of characters in speech recognition result 2 is greater than the target threshold of 0, and the total number of characters in speech recognition result 2 is within the actual number of characters [4, 16]. Therefore, TV 1 determines that the actual recognition result corresponding to the speech information is the speech recognition result corresponding to the total number of characters 12, i.e., it determines that the actual recognition result corresponding to the speech information is speech recognition result 2. Afterwards, TV 1 displays speech recognition result 2 in the target manner. Simultaneously, TV 1 discards other received speech recognition results (e.g., speech recognition result 3, speech recognition result 4, etc.) and waits for new speech information.
[0058] For example, taking a target threshold of 0, a preset duration of 3 seconds, an audio length of 16 seconds, a target speech rate range of [1, 4], and a total number of characters in the current speech recognition result of 12 as an example, the speech recognition method provided in this embodiment of the disclosure is described, and the specific implementation process is as follows:
[0059] Television 1 determines that the total number of characters 12 in the current speech recognition result (e.g., speech recognition result 1) is greater than the target threshold 0, and that the total number of characters 12 in speech recognition result 1 falls within the actual number of characters [4, 16]. Therefore, it determines that the actual recognition result corresponding to the speech information is the speech recognition result corresponding to this total number of characters 12, i.e., it determines that the actual recognition result corresponding to the speech information is speech recognition result 1. Then, television 1 displays speech recognition result 1 in the target manner. Simultaneously, television 1 discards other speech recognition results received subsequently (e.g., speech recognition result 2, speech recognition result 3, etc.) and waits for new speech information.
[0060] For example, taking a target threshold of 0, a preset duration of 3 seconds, an audio length of 16 seconds, a target speech rate range of [1, 4], and a total number of characters in the current speech recognition result of 18 as an example, the speech recognition method provided in this embodiment of the disclosure is described, and the specific implementation process is as follows:
[0061] Television 1 determines that the total number of characters 18 in the current speech recognition result (e.g., speech recognition result 1) is greater than the target threshold 0, and the total number of characters 18 in speech recognition result 1 does not fall within the actual number of characters range [4, 16]. If other speech recognition results (e.g., speech recognition result 2) are received within a preset time period starting from the generation time of speech recognition result 1, then the total number of characters in speech recognition result 2 is obtained. For example, if the total number of characters in speech recognition result 2 is 12, then television 1 determines that the total number of characters 12 in speech recognition result 2 is greater than the target threshold 0, and the total number of characters 12 in speech recognition result 2 falls within the actual number of characters range [4, 16]. It then determines that the actual recognition result corresponding to the speech information is the speech recognition result corresponding to this total number of characters 12, i.e., it determines that the actual recognition result corresponding to the speech information is speech recognition result 2. Afterwards, television 1 displays speech recognition result 2 in the target manner. Simultaneously, television 1 discards other speech recognition results received subsequently (e.g., speech recognition result 3, speech recognition result 4, etc.) and waits for new speech information.
[0062] Alternatively, if television 1 determines that the total number of characters 18 in the current speech recognition result (e.g., speech recognition result 1) is greater than the target threshold 0, and the total number of characters 18 in speech recognition result 1 does not fall within the actual number of characters [4, 16], and no other speech recognition results are received within a preset time period starting from the generation time of speech recognition result 1, then it determines that the speech information recognition has failed, that is, the actual recognition result corresponding to the speech information is a speech information recognition failure. Afterwards, television 1 displays the speech information recognition failure in a target manner. Simultaneously, television 1 discards other speech recognition results received subsequently (e.g., speech recognition result 2, speech recognition result 3, etc.) and waits for new speech information.
[0063] In some examples, the audio length is equal to the difference between the VAD start time and the VAD end time of the audio data to be identified.
[0064] In some examples, television 1 can communicate with server 400 via Hypertext Transfer Protocol (HTTP) or other methods.
[0065] S13, Receive the theoretical recognition results of each speech recognition engine sent by server 400.
[0066] S14. Based on the target speech rate range, audio length, and speech recognition results, determine the actual recognition result corresponding to the speech information.
[0067] In some examples, the normal speaking speed of a person is about 1 to 4 words per second, so the target speaking speed range can be determined as [1, 4].
[0068] As described above, a television can use multiple speech recognition engines to recognize the audio data to be recognized, thus avoiding the problem of a single speech recognition engine being unable to recognize the audio data, resulting in an inability to respond to the user's voice information in a timely manner. Because the number of times the inability to respond to the user's voice information is reduced, the accuracy of speech recognition can be improved.
[0069] In some feasible examples, combining Figure 4 ,like Figure 5 As shown, the above S11 can be implemented by the following S110 and S111.
[0070] S110, Receive voice information.
[0071] In some examples, when processing the speech information, it is necessary to preprocess the speech information first, so as to remove useless information (such as noise) from the speech information and improve the accuracy of identifying the semantics corresponding to the user input speech information.
[0072] S111. Preprocess the speech information to obtain the audio data to be recognized and the audio length of the audio data to be recognized. The preprocessing includes one or more of the following: Acoustic Echo Cancellation (AEC), BeamForming (BF), Noise Suppression (NS), Automatic Gain Control (AGC), and Voice Activity Detection (VAD).
[0073] In some feasible examples, combining Figure 4 ,like Figure 6 As shown, the above S12 can be implemented by the following S120 and S121.
[0074] S120. Encapsulate the audio data to be recognized according to the encapsulation format of each of the at least two speech recognition engines, and generate encapsulation data corresponding to each speech recognition engine.
[0075] S121. Send encapsulated data to server 400, which contains at least two speech recognition engines.
[0076] In some examples, different speech recognition engines use different encapsulation formats. Therefore, it is necessary to encapsulate the audio data to be recognized for each speech recognition engine, thereby obtaining encapsulated data corresponding to each speech recognition engine. Then, the server 400 inputs the encapsulated data into the speech recognition engine corresponding to the encapsulated data in parallel for recognition, and obtains the speech recognition result of each speech recognition engine for the encapsulated data.
[0077] In some feasible examples, combining Figure 4 ,like Figure 7 As shown, the above S14 can be implemented in the following S140.
[0078] S140. According to the order of the generation time of the speech recognition results, perform the following operations on each speech recognition result in sequence: obtain the total number of characters contained in the speech recognition result; if the total number of characters is greater than the target threshold, obtain the actual number range of characters corresponding to the speech information based on the target speech rate range and the audio length; determine the actual recognition result corresponding to the speech information based on the actual number range of characters and the total number of characters contained in the speech recognition result.
[0079] In some examples, the actual word count range is equal to the ratio of the audio length to the target speech rate range. For example, if the audio length is 16 and the target speech rate range is [1, 4], then the user can say a maximum of 16 words and a minimum of 4 words in the speech data to be recognized with an audio length of 16, that is, the actual word count range is [4, 16].
[0080] In some feasible examples, combining Figure 7 ,like Figure 8 As shown, the above S14 can be specifically implemented through the following S141.
[0081] S141. If the total number of characters is less than or equal to the target threshold, and no other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, it is determined that the speech information recognition has failed.
[0082] In some feasible examples, combining Figure 7 ,like Figure 8 As shown, the above S14 can be specifically implemented through the following S142.
[0083] S142. If the total number of characters is less than or equal to the target threshold, and other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, obtain the total number of characters contained in the other speech recognition results.
[0084] In some feasible examples, combining Figure 8 ,like Figure 9As shown, the above S140 can be specifically implemented through the following S1400.
[0085] S1400. If the total number of characters is less than or equal to the target threshold, and the total number of characters contained in the speech recognition result falls within the actual number of characters, determine the actual recognition result corresponding to the speech information as the speech recognition result corresponding to the total number of characters.
[0086] In some feasible examples, combining Figure 8 ,like Figure 9 As shown, the above S140 can be specifically implemented through the following S1401.
[0087] S1401. If the total number of characters is less than or equal to the target threshold, and the total number of characters contained in the speech recognition result does not fall within the actual number of characters, and other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, obtain the total number of characters contained in the other speech recognition results.
[0088] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, it includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0089] This application embodiment can divide the speech recognition device into functional modules according to the above method example. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing unit. The integrated modules can be implemented in hardware or as software functional modules. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.
[0090] like Figure 10 As shown in the diagram, an embodiment of this application provides a schematic diagram of the structure of a display device 200. It includes a communicator 101 and a processor 102.
[0091] The communicator 101 is configured to receive audio data to be recognized and the audio length of the audio data to be recognized. The processor 102 is configured to control the communicator 101 to send the audio data to be recognized received by the communicator 101 to a server containing at least two speech recognition engines; the communicator 101 is also configured to receive the theoretical recognition results of each speech recognition engine sent by the server; the communicator 101 is also configured to determine the actual recognition result corresponding to the speech information based on the target speech rate range, the audio length, and the speech recognition results received by the communicator 101.
[0092] In some implementable examples, the communicator 101 is further configured to receive voice information; the processor 102 is further configured to preprocess the voice information received by the communicator 101 to obtain audio data to be identified and the audio length of the audio data to be identified. The preprocessing includes one or more of echo cancellation, beamforming, noise reduction, gain compensation, and silence suppression.
[0093] In some implementable examples, processor 102 is further configured to encapsulate the audio data to be recognized according to the encapsulation format of each of the at least two speech recognition engines, generating encapsulated data corresponding to each speech recognition engine; processor 102 is further configured to control communicator 101 to send the encapsulated data to a server containing at least two speech recognition engines.
[0094] In some implementable examples, processor 102 is further configured to perform the following operations on each speech recognition result in the order of their generation times: obtain the total number of characters contained in the speech recognition result; if the total number of characters is greater than a target threshold, obtain the actual number range of characters corresponding to the speech information based on the target speech rate range and the audio length; and determine the actual recognition result corresponding to the speech information based on the actual number range of characters and the total number of characters contained in the speech recognition result.
[0095] In some implementable examples, processor 102 is also configured to determine that speech recognition has failed if the total number of words is less than or equal to a target threshold and no other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of words.
[0096] In some implementable examples, processor 102 is also configured to obtain the total number of characters contained in other speech recognition results when the total number of characters is less than or equal to a target threshold and other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters.
[0097] In some implementable examples, processor 102 is also configured to determine the actual recognition result corresponding to the speech information as the speech recognition result corresponding to the total number of words if the total number of words contained in the speech recognition result falls within the range of the actual number of words.
[0098] In some implementable examples, the processor 102 is also configured to obtain the total number of characters contained in other speech recognition results when the total number of characters contained in the speech recognition result does not fall within the actual number of characters and other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters.
[0099] All relevant content of each step involved in the above method embodiments can be referenced from the functional description of the corresponding functional module, and their functions will not be repeated here.
[0100] Of course, the display device 200 provided in this application embodiment includes, but is not limited to, the modules described above. For example, the display device 200 may also include a memory 103. The memory 103 may be used to store the program code of the display device 200, and may also be used to store data generated by the display device 200 during operation, such as data in write requests.
[0101] As an example, combined Figure 3 The receiving unit 201 and the transmitting unit 203 in the display device 200 perform the same function as the communicator 101, the processing unit 202 performs the same function as the processor 102, and the storage unit 204 performs the same function as the memory 103.
[0102] like Figure 11 As shown, this application embodiment also provides a chip system that can be applied to the display device 200 in the foregoing embodiments. The chip system includes at least one processor 1501 and at least one interface circuit 1502. The processor 1501 may be the processor in the display device 200. The processor 1501 and the interface circuit 1502 are interconnected via a circuit. The processor 1501 can receive and execute computer instructions from the memory of the display device 200 through the interface circuit 1502. When the computer instructions are executed by the processor 1501, the display device 200 can perform the various steps performed by the display device 200 in the foregoing embodiments. Of course, the chip system may also include other discrete devices, which are not specifically limited in this application embodiment.
[0103] This application also provides a computer-readable storage medium for storing computer instructions executed by the display device 200.
[0104] The above are merely specific embodiments of this disclosure, enabling those skilled in the art to understand or implement this disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A speech recognition method, characterized in that, include: Receive the audio data to be identified, and the audio length of the audio data to be identified; The audio data to be recognized is sent to a server containing at least two speech recognition engines; Receive the speech recognition results of each of the speech recognition engines sent by the server; Based on the target speech rate range, the audio length, and the speech recognition result, the actual recognition result corresponding to the speech information is determined; The step of determining the actual recognition result corresponding to the speech information based on the target speech rate range, the audio length, and the speech recognition result includes: According to the order of the generation time of the speech recognition results, the following operations are performed on each speech recognition result in sequence: obtain the total number of characters contained in the speech recognition result; if the total number of characters is greater than the target threshold, obtain the actual number range of characters corresponding to the speech information based on the target speech rate range and the audio length; determine the actual recognition result corresponding to the speech information based on the actual number range of characters and the total number of characters contained in the speech recognition result. The determination of the actual recognition result corresponding to the speech information, based on the actual word count range and the total number of words contained in the speech recognition result, includes: If the total number of characters in the speech recognition result is greater than the target threshold, and the total number of characters in the speech recognition result falls within the actual number of characters, then the actual recognition result corresponding to the speech information is determined to be the speech recognition result corresponding to the total number of characters. If the total number of characters in the speech recognition result is greater than the target threshold, and the total number of characters in the speech recognition result is not within the actual number of characters, and no other speech recognition result is received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, then the actual recognition result corresponding to the speech information is determined to be a failure to recognize the speech information. If the total number of characters is less than or equal to the target threshold, and no other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, the actual recognition result corresponding to the speech information is determined to be a failure to recognize the speech information.
2. The speech recognition method according to claim 1, characterized in that, Sending the audio data to be recognized to a server containing at least two speech recognition engines includes: The audio data to be recognized is encapsulated according to the encapsulation format of each of the at least two speech recognition engines to generate encapsulation data corresponding to each speech recognition engine; The encapsulated data is sent to a server containing at least two speech recognition engines.
3. The speech recognition method according to claim 1, characterized in that, The method further includes: If the total number of characters is less than or equal to the target threshold, and no other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, it is determined that the speech information recognition has failed.
4. The speech recognition method according to claim 1, characterized in that, The method further includes: If the total number of characters is less than or equal to the target threshold, and other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, the total number of characters contained in the other speech recognition results is obtained.
5. The speech recognition method according to claim 1, characterized in that, The receiving of the audio data to be identified, and the audio length of the audio data to be identified, includes: Receive voice messages; The speech information is preprocessed to obtain the audio data to be identified and the audio length of the audio data to be identified; wherein the preprocessing includes one or more of echo cancellation, beamforming, noise reduction, gain compensation and silence suppression.
6. A voice recognition device, characterized in that, include: A receiving unit is used for the audio data to be identified, and the audio length of the audio data to be identified; The processing unit is used to control the sending unit to send the audio data to be recognized received by the receiving unit to a server containing at least two speech recognition engines; The receiving unit is also configured to receive the speech recognition results of each of the speech recognition engines sent by the server; The processing unit is further configured to determine the actual recognition result corresponding to the speech information based on the target speech rate range, the audio length, and the speech recognition result received by the receiving unit; Specifically, the processing unit is configured to perform the following operations on each speech recognition result in chronological order of their generation times: obtain the total number of characters contained in the speech recognition result; if the total number of characters is greater than a target threshold, obtain the actual number of characters corresponding to the speech information based on the target speech rate range and the audio length; and determine the actual recognition result corresponding to the speech information based on the actual number of characters range and the total number of characters contained in the speech recognition result. The determination of the actual recognition result corresponding to the speech information, based on the actual word count range and the total number of words contained in the speech recognition result, includes: If the total number of characters in the speech recognition result is greater than the target threshold, and the total number of characters in the speech recognition result falls within the actual number of characters, then the actual recognition result corresponding to the speech information is determined to be the speech recognition result corresponding to the total number of characters. If the total number of characters in the speech recognition result is greater than the target threshold, and the total number of characters in the speech recognition result is not within the actual number of characters, and no other speech recognition result is received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, then the actual recognition result corresponding to the speech information is determined to be a failure to recognize the speech information. If the total number of characters is less than or equal to the target threshold, and no other speech recognition results are received within a preset time period starting from the generation time of the speech recognition result corresponding to the total number of characters, the actual recognition result corresponding to the speech information is determined to be a failure to recognize the speech information.
7. An electronic device, characterized in that, include: A memory and a processor, the memory being used to store a computer program; the processor being used to cause the electronic device to implement the speech recognition method according to any one of claims 1-5 when executing the computer program.