Voiceprint recognition method and device

By setting up a voiceprint blacklist library in the terminal device and judging the effectiveness of voiceprint data based on specific threshold conditions, the problem of high error rate of existing voiceprint recognition methods is solved, and more accurate and safe voiceprint recognition is achieved .

CN115019806BActive Publication Date: 2025-02-25BEIJING HONOR DEVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111627924.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-28
Publication Date
2025-02-25
Estimated Expiration
2041-12-28

AI Technical Summary

Technical Problem

The existing voiceprint recognition methods have a high error rate, which may pose a threat to user's privacy.

Method used

The terminal device is equipped with a voiceprint blacklist library. When the received voiceprint data in the voiceprint data of the registered user is greater than the first threshold, and the voiceprint data in the voiceprint blacklist library is less than the second When the threshold is used, the terminal device is awakened.

Benefits of technology

It realizes accurate recognition of user voices, reduces the rate of errors, and improves the security of voiceprint recognition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115019806B_ABST
    Figure CN115019806B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a voiceprint recognition method and device, which relates to the field of terminal technology and is applied to terminal devices. The method includes: the terminal device collects a first voice; if the terminal device determines that the first voice is a preset voice, the terminal device obtains the similarity score between the first voiceprint vector and the preset voiceprint vector to obtain a first value; the terminal device obtains the highest score of the similarity scores between the first voiceprint vector and each voiceprint vector in the preset database to obtain a second value; when the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, the terminal device determines that the voiceprint recognition of the first user is successful; the second threshold is greater than the first threshold. In this way, the terminal device wakes up the terminal device based on the first threshold and the second threshold, so that the terminal device can realize accurate recognition of the user's voice, while reducing the false intrusion rate and improving the security of voiceprint recognition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to a voiceprint recognition method and device. Background Art

[0002] With the popularization and development of the Internet, people's functional requirements for terminal devices are becoming more and more diverse. For example, in order to simplify the way users use terminal devices, terminal devices can support users to wake up the device or wake up certain functions in the device by voice. Due to the uniqueness of the voiceprint data of different users, the terminal device can use the voiceprint data to determine whether the received voice is the voice of the registered user (or the owner of the terminal device).

[0003] Typically, the terminal device can score the registered user's voiceprint data and the received speaker's voiceprint data based on the voiceprint model. When the score exceeds a preset threshold, the terminal device can be awakened, or when the score is less than the preset threshold, the terminal device cannot be awakened.

[0004] However, the above-mentioned voiceprint recognition method has a high false-intrusion rate, which may pose a threat to the privacy of users. Summary of the invention

[0005] The embodiments of the present application provide a voiceprint recognition method and apparatus. A terminal device may be provided with a voiceprint blacklist library. When the score of the received speaker's voiceprint data in the registered user's voiceprint data is greater than a first threshold, and the score of the speaker's voiceprint data in the voiceprint blacklist library is less than a second threshold, the terminal device is awakened, so that the terminal device can realize accurate recognition of the user's voice, thereby reducing the false-entry rate and improving the security of voiceprint recognition.

[0006] In the first aspect, the embodiment of the present application provides a voiceprint recognition method, which is applied to a terminal device, wherein the terminal device is provided with a preset database, and the preset database includes at least one voiceprint vector of a second user; the voiceprint vector is used to characterize the voice characteristics of the user, and the method includes: the terminal device collects a first voice, and the first voice corresponds to a first voiceprint vector; if the terminal device determines that the first voice is a preset voice, the terminal device obtains a similarity score between the first voiceprint vector and the preset voiceprint vector, and obtains a first value; the preset voiceprint vector is the voiceprint vector of the first user; the terminal device obtains the highest score of the similarity scores between the first voiceprint vector and each voiceprint vector in the preset database, and obtains a second value; when the terminal device determines that the first value is greater than a first threshold value, and the second value is less than a second threshold value, the terminal device determines that the voiceprint recognition of the first user is successful; the second threshold value is greater than the first threshold value. In this way, the terminal device can be provided with a voiceprint blacklist library, and when the score of the received speaker's voiceprint data in the registered user's voiceprint data is greater than the first threshold value, and the score of the speaker's voiceprint data in the voiceprint blacklist library is less than the second threshold value, the terminal device is awakened, so that the terminal device can realize accurate recognition of the user's voice, and improve the security of voiceprint recognition while reducing the false entry rate.

[0007] Among them, the preset database can be the voiceprint blacklist library in the embodiment of the present application; the first numerical value can be the registration template score in the embodiment of the present application; the second numerical value can be the blacklist score in the embodiment of the present application; the first threshold can be T2 in the embodiment of the present application; the second threshold can be T1 in the embodiment of the present application; the first user can be a registered user in the embodiment of the present application.

[0008] In a possible implementation, the method further includes: when the terminal device determines that the first value is greater than the third threshold value and the second value is less than the first threshold value, the terminal device adds the first voiceprint vector to a preset database; the first threshold value is greater than the third threshold value. In this way, the terminal device can add voiceprint vectors that are threatening to the system and have a low similarity with the voiceprint blacklist in the voiceprint blacklist library to the voiceprint blacklist library. The third threshold value may be T3 in the embodiment of the present application.

[0009] In a possible implementation, when the terminal device determines that the first value is greater than the third threshold value, and the second value is less than the first threshold value, the terminal device adds the first voiceprint vector to the preset database, including: when the terminal device determines that the first value is greater than the third threshold value, the second value is less than the first threshold value, and the signal-to-noise ratio value corresponding to the first voiceprint vector is greater than the fourth threshold value, the terminal device adds the first voiceprint vector to the preset database. In this way, the terminal device can extract a higher-quality voiceprint vector by judging the signal-to-noise ratio, and avoid misjudging the user's voice in a noisy environment as the voice of an imposter. Among them, the fourth threshold value can be the signal-to-noise ratio threshold value N in the embodiment of the present application.

[0010] In a possible implementation, the voiceprint vector in the preset database records the storage time in the preset database and the number of times used, where the number of times the second value is calculated, and the terminal device adds the first voiceprint vector to the preset database, including: the terminal device removes the voiceprint vector with the longest storage time in the preset database, and / or removes the voiceprint vector with the least number of times used in the preset database; the terminal device adds the first voiceprint vector to the preset database. In this way, the terminal device can ensure the validity of the voiceprint blacklist library by dynamically adjusting the voiceprint blacklist in the voiceprint blacklist library, and can avoid the influence of too much data stored in the voiceprint blacklist library on the speed of the voiceprint recognition method.

[0011] In a possible implementation, when the terminal device determines that the first value is greater than the third threshold value and the second value is less than the first threshold value, the terminal device adds the first voiceprint vector to the preset database, including: when the terminal device determines that the first value is greater than the third threshold value and the second value is less than the first threshold value, the terminal device displays a first interface; wherein the first interface includes: prompt information for prompting whether to add the first voiceprint vector to the preset database, a first control for adding the first voiceprint vector to the preset database, and a second control for refusing to add the first voiceprint vector to the preset database; when the terminal device receives a trigger for the first control, or does not receive a trigger for any control in the first interface within a preset time threshold, the terminal device adds the first voiceprint vector to the preset database. In this way, when the sound is different due to the user's voice state or the scene in which it is located, the terminal device can avoid the erroneous operation of directly adding the sound to the voiceprint blacklist library.

[0012] In a possible implementation, the method further includes: when the terminal device receives an operation for setting the voiceprint recognition mode, the terminal device displays a second interface; the second interface includes a third control for opening the first recognition mode; when the terminal device receives an operation for the third control, the terminal device displays a third interface; the third interface includes: a fourth control for opening the prompt information; when the terminal device determines that the first value is greater than the third threshold and the second value is less than the first threshold, the terminal device displays the first interface, including: when the terminal device determines that the first value is greater than the third threshold, the second value is less than the first threshold, and the fourth control is in the on state, the terminal device displays the first interface. In this way, the user can flexibly set the addition of the voiceprint blacklist library according to their own needs, which improves the user's experience of using the voice wake-up function.

[0013] In a possible implementation, the method further includes: the terminal device obtains the similarity score between the first voiceprint vector and each voiceprint vector in the preset database to obtain a third value; the terminal device deletes the voiceprint vector in the preset database corresponding to the first voiceprint vector when the first value is greater than the second threshold and the third value is greater than the first threshold. In this way, the terminal device can delete the voiceprint blacklist that is mistakenly entered into the voiceprint blacklist library due to some reasons, thereby improving the accuracy of the voiceprint recognition method.

[0014] In a possible implementation, the method further includes: when the terminal device determines that the first value is greater than the second threshold, the terminal device obtains the similarity score between the first voiceprint vector and each voiceprint vector in the preset database to obtain a third value; when the third value is greater than the first threshold, the terminal device deletes the voiceprint vector in the preset database corresponding to the first voiceprint vector. In this way, the terminal device can delete the voiceprint blacklist that is mistakenly entered into the voiceprint blacklist library for some reason, thereby improving the accuracy of the voiceprint recognition method.

[0015] In a possible implementation, when the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, the terminal device determines that the voiceprint recognition of the first user is successful, including: when the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, or the terminal device determines that the first value is greater than the second threshold, the terminal device determines that the voiceprint recognition of the first user is successful. In this way, the terminal device can set a higher threshold to ensure that only voices with a high similarity to the voice of the registered user, such as the voice of the registered user himself, can pass the voiceprint recognition, so that the terminal device can accurately recognize the user's voice and reduce the system's false entry rate.

[0016] In a possible implementation, the method further includes: when the terminal device determines that the first value is less than or equal to the first threshold, and / or the second value is greater than or equal to the second threshold, the terminal device determines that the voiceprint recognition of the first user fails. In this way, the terminal device can avoid waking up the terminal device when the voice of an unregistered user is recognized, thereby ensuring the security of the device.

[0017] In a second aspect, an embodiment of the present application provides a voiceprint recognition device, in which a preset database is provided, and the preset database includes a voiceprint vector of at least one second user; the voiceprint vector is used to characterize the voice characteristics of the user, including: a processing unit, used to collect a first voice, and the first voice corresponds to a first voiceprint vector; if the terminal device determines that the first voice is a preset voice, the processing unit is further used to obtain a similarity score between the first voiceprint vector and the preset voiceprint vector, and obtain a first value; the preset voiceprint vector is the voiceprint vector of the first user; the processing unit is further used to obtain the highest score of the similarity scores between the first voiceprint vector and each voiceprint vector in the preset database, and obtain a second value; when the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, the processing unit is further used to determine that the voiceprint recognition of the first user is successful; the second threshold is greater than the first threshold.

[0018] In a possible implementation, when the terminal device determines that the first value is greater than the third threshold and the second value is less than the first threshold, the processing unit is further used to add the first voiceprint vector to a preset database; the first threshold is greater than the third threshold.

[0019] In one possible implementation, when the terminal device determines that the first value is greater than the third threshold, the second value is less than the first threshold, and the signal-to-noise ratio value corresponding to the first voiceprint vector is greater than the fourth threshold, the processing unit is specifically used to add the first voiceprint vector to a preset database.

[0020] In one possible implementation, the voiceprint vector in the preset database records the storage time in the preset database and the number of times it is used, where the number of times the second value is calculated. The processing unit is specifically used to eliminate the voiceprint vector with the longest storage time in the preset database, and / or eliminate the voiceprint vector with the least number of times in the preset database; the processing unit is also specifically used to add the first voiceprint vector to the preset database.

[0021] In one possible implementation, when the terminal device determines that the first value is greater than the third threshold and the second value is less than the first threshold, the display unit is used to display a first interface; wherein the first interface includes: prompt information for prompting whether to add the first voiceprint vector to the preset database, a first control for adding the first voiceprint vector to the preset database, and a second control for refusing to add the first voiceprint vector to the preset database; when the terminal device receives a trigger for the first control, or does not receive a trigger for any control in the first interface within a preset time threshold, the processing unit is specifically used to add the first voiceprint vector to the preset database.

[0022] In one possible implementation, when the terminal device receives an operation for setting a voiceprint recognition mode, the display unit is further used to display a second interface; the second interface includes a third control for turning on a first recognition mode; when the terminal device receives an operation for the third control, the display unit is further used to display a third interface; the third interface includes: a fourth control for turning on prompt information; when the terminal device determines that the first value is greater than a third threshold, the second value is less than the first threshold, and the fourth control is in the turned-on state, the processing unit is further used to display the first interface.

[0023] In one possible implementation, the processing unit is further used to obtain the similarity scores between the first voiceprint vector and each voiceprint vector in a preset database to obtain a third value; the processing unit is further used to delete the voiceprint vector in the preset database corresponding to the first voiceprint vector when the first value is greater than the second threshold and the third value is greater than the first threshold.

[0024] In one possible implementation, when the terminal device determines that the first value is greater than the second threshold, the processing unit is further used to obtain the similarity scores between the first voiceprint vector and each voiceprint vector in the preset database to obtain a third value; the processing unit is also used to delete the voiceprint vector in the preset database corresponding to the first voiceprint vector when the third value is greater than the first threshold.

[0025] In a possible implementation, when the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, or when the terminal device determines that the first value is greater than the second threshold, the processing unit is specifically used to determine that the voiceprint recognition of the first user is successful.

[0026] In a possible implementation, when the terminal device determines that the first value is less than or equal to the first threshold, and / or the second value is greater than or equal to the second threshold, the processing unit is further used to determine that the voiceprint recognition of the first user fails.

[0027] In a third aspect, an embodiment of the present application provides a voiceprint recognition device, including a processor and a memory, the memory being used to store code instructions; the processor being used to run the code instructions so that the electronic device executes the voiceprint recognition method described in the first aspect or any one of the implementations of the first aspect.

[0028] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores instructions. When the instructions are executed, the computer executes the voiceprint recognition method described in the first aspect or any implementation of the first aspect.

[0029] In a fifth aspect, a computer program product includes a computer program, which, when executed, enables a computer to execute the voiceprint recognition method as described in the first aspect or any one of the implementations of the first aspect.

[0030] It should be understood that the second to fifth aspects of the present application correspond to the technical solutions of the first aspect of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 A schematic diagram of a scenario provided for an embodiment of the present application;

[0032] Figure 2 A flow chart of a voiceprint recognition method is shown;

[0033] Figure 3 A schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application;

[0034] Figure 4 A schematic diagram of a flow chart of another voiceprint recognition method provided in an embodiment of the present application;

[0035] Figure 5 A schematic diagram of a process for determining a registration template score provided in an embodiment of the present application;

[0036] Figure 6 A schematic diagram of a process for obtaining a first voiceprint blacklist provided in an embodiment of the present application;

[0037] Figure 7 A schematic diagram of an interface for setting a voiceprint recognition mode provided in an embodiment of the present application;

[0038] Figure 8 A schematic diagram of another interface for setting a voiceprint recognition mode provided in an embodiment of the present application;

[0039] Fig. 9 A schematic diagram of an interface for displaying prompt information provided in an embodiment of the present application;

[0040] Fig.10 A schematic diagram of the structure of a voiceprint recognition device provided in an embodiment of the present application;

[0041] Fig.11 A schematic diagram of the hardware structure of a control device provided in an embodiment of the present application;

[0042] Fig.12 A schematic diagram of the structure of a chip provided in an embodiment of the present application. DETAILED DESCRIPTION

[0043] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. For example, the first value and the second value are only used to distinguish different values, and their order is not limited. Those skilled in the art can understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.

[0044] It should be noted that, in this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0045] In the present application, "at least one" means one or more, and "plurality" means two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, a and b, a and c, b and c, or a, b and c, where a, b, c can be single or multiple.

[0046] A voiceprint can be a sound wave spectrum that carries speech information displayed by an electroacoustic instrument. A voiceprint can be used to characterize the voice characteristics of a speaker. Voiceprints are not only specific, but also relatively stable. It is understandable that no matter whether the speaker deliberately imitates the voice and tone of others, or whispers, even if the imitation is very lifelike, the voiceprint is always different from the real voiceprint of the person being imitated. Therefore, voiceprint recognition can be widely used in speaker recognition scenarios. In an embodiment of the present application, the terminal device can use the voiceprint to determine whether the received sound is the voice of a registered user, and wake up the terminal device when it is determined that the received sound is the voice of a registered user.

[0047] For example, Figure 1 A schematic diagram of a scenario provided in an embodiment of the present application. Figure 1 In the corresponding embodiments, a mobile phone as the terminal device is used as an example for illustration, and this example does not constitute a limitation on the embodiments of the present application.

[0048] like Figure 1 As shown, the scenario may include user 101, user 102 and mobile phone 103. User 101 and user 102 may be twins with extremely similar voices, and user 101 may be a registered user of mobile phone 103 (or user 101 may be the owner of mobile phone 103).

[0049] exist Figure 1 In the corresponding scenario, user 101 is a registered user of mobile phone 103, and the voiceprint data of user 101 may be registered in mobile phone 103, so user 101 can use Figure 2 The voiceprint recognition method shown wakes up the mobile phone 103 and uses other voice commands to instruct the mobile phone 103 to implement various functions.

[0050] For example, Figure 2 FIG. 1 is a flow chart of a voiceprint recognition method. Figure 2 As shown, the voiceprint recognition method may include the following steps:

[0051] S201. The terminal device obtains microphone (MIC) data.

[0052] In the embodiment of the present application, the MIC data may be collected by a microphone of a terminal device. For example, the MIC data may be an electrical signal corresponding to the user's voice data. The MIC data may also be referred to as speaker voiceprint data, and the speaker voiceprint data will be used as an example for illustration below.

[0053] S202: The terminal device performs wake-up word detection.

[0054] In an embodiment of the present application, the wake-up word (or command word) may be an instruction for instructing the terminal device to perform a corresponding function. For example, the wake-up word may be an instruction for waking up a terminal device in a sleep state (or a low power consumption state).

[0055] S203: The terminal device calculates the speaker's voiceprint vector and the registration template score based on the voiceprint model.

[0056] In an embodiment of the present application, the speaker voiceprint vector can be used to characterize the voice characteristics of the speaker. For example, the speaker voiceprint vector is obtained by extracting and calculating the acoustic characteristics of the speaker voiceprint data in step S201. The registration template score is used to indicate the similarity between the speaker's voice and the registered user's voice. For example, the higher the registration template score, the higher the similarity between the speaker's voice and the registered user's voice.

[0057] S204: The terminal device determines whether the registration template score is greater than T2.

[0058] In an embodiment of the present application, when the terminal device determines that the registration template score is greater than (or greater than or equal to) T2, the terminal device can execute the steps shown in S205; or, when the terminal device determines that the registration template score is less than or equal to (or less than) T2, the terminal device can execute the steps shown in S206.

[0059] It is understandable that the threshold T2 can be used to determine whether the speaker's voice belongs to the registered user's voice. For example, when the maximum value of the registered template score is 100 points, the value of T2 can be 80 points.

[0060] S205: The terminal device determines that the judgment is successful, and wakes up the terminal device.

[0061] S206: The terminal device determines that the judgment fails.

[0062] It can be understood that in the above-mentioned voiceprint recognition method, in order to enable the user to wake up the terminal device by voice in various scenarios, the terminal device usually sets a more relaxed judgment condition, for example, by setting a lower threshold T2, for example, T2 is set to 80 points, to ensure a higher wake-up rate.

[0063] Combination Figure 1 as well as Figure 2 In the corresponding embodiment, user 101 can Figure 2 The voiceprint recognition method in the corresponding embodiment successfully wakes up the mobile phone 103. Figure 2 In the voiceprint recognition method in the corresponding embodiment, when the mobile phone 103 is voice-awakened, since the user 102 and the user 101 are twins and their voices are very similar, the mobile phone 103 may recognize that the voices of the user 102 and the user 101 are different, but under the influence of the relatively loose judgment conditions, the mobile phone 103 is still awakened. For example, the registration template score corresponding to the user 102 may be 81 points, which exceeds the 80 points corresponding to the threshold T2, causing the user 102 to wake up the mobile phone 103, resulting in a high false-entry rate and possibly threatening the device privacy of the user 101.

[0064] In view of this, the embodiment of the present application provides a voiceprint recognition method, and the terminal device can be provided with a voiceprint blacklist library. When the score of the received speaker's voiceprint data in the registered user's voiceprint data is greater than the first threshold, and the score of the speaker's voiceprint data in the voiceprint blacklist library is less than the second threshold, the terminal device is awakened, so that the terminal device can accurately recognize the user's voice, reduce the false intrusion rate and improve the security of voiceprint recognition. Among them, the first threshold can be T2 described in the embodiment of the present application, and the second threshold can be T1 described in the embodiment of the present application.

[0065] It is understandable that the voiceprint recognition method provided in the embodiment of the present application can be used not only for Figure 1 The device wake-up scenario shown can also be used in other scenarios for identity authentication such as payment scenarios, which is not specifically limited in the embodiments of the present application.

[0066] It is understandable that the above terminal devices may also be referred to as terminals, user equipment (UE), mobile stations (MS), mobile terminals (MT), etc. The terminal device may be a mobile phone with a microphone, a smart TV, a wearable device, a tablet computer (Pad), a computer with wireless transceiver function, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc. The embodiments of the present application do not limit the specific technology and specific device form adopted by the terminal device.

[0067] Therefore, in order to better understand the embodiment of the present application, the structure of the terminal device of the embodiment of the present application is introduced below. Figure 3 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application.

[0068] The terminal device may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, an indicator 192, a camera 193, and a display screen 194, etc.

[0069] It is to be understood that the structure illustrated in the embodiments of the present application does not constitute a specific limitation on the terminal device. In other embodiments of the present application, the terminal device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0070] The processor 110 may include one or more processing units. Different processing units may be independent devices or integrated into one or more processors. The processor 110 may also be provided with a memory for storing instructions and data.

[0071] The USB interface 130 is an interface that complies with the USB standard specification, and can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the terminal device, and can also be used to transfer data between the terminal device and peripheral devices. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other electronic devices, such as AR devices, etc.

[0072] The charging management module 140 is used to receive charging input from a charger, which may be a wireless charger or a wired charger. The power management module 141 is used to connect the charging management module 140 to the processor 110 .

[0073] The wireless communication function of the terminal device can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor.

[0074] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. The antenna in the terminal device can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of the antenna.

[0075] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to terminal devices. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation.

[0076] The wireless communication module 160 can provide wireless communication solutions applied to terminal devices, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), etc.

[0077] The terminal device realizes the display function through the GPU, the display screen 194, and the application processor. The GPU is a microprocessor for image processing, connecting the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering.

[0078] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. In some embodiments, the terminal device may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0079] The terminal device can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0080] The camera 193 is used to capture static images or videos. In some embodiments, the terminal device may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0081] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos can be stored in the external memory card.

[0082] The internal memory 121 can be used to store computer executable program codes, and the executable program codes include instructions. The internal memory 121 can include a program storage area and a data storage area.

[0083] The terminal device can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor.

[0084] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The speaker 170A, also known as the "speaker", is used to convert audio electrical signals into sound signals. The terminal device can listen to music or listen to hands-free calls through the speaker 170A. The receiver 170B, also known as the "earpiece", is used to convert audio electrical signals into sound signals. When the terminal device answers a call or voice message, the voice can be answered by placing the receiver 170B close to the human ear. The headphone interface 170D is used to connect wired headphones.

[0085] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. In the embodiment of the present application, the terminal device can receive a sound signal for waking up the terminal device based on microphone 170C, and convert the sound signal into an electrical signal that can be subsequently processed. The terminal device can have at least one microphone 170C.

[0086] The sensor module 180 may include one or more of the following sensors, for example: a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, or a bone conduction sensor, etc. ( Figure 3 not shown).

[0087] The button 190 includes a power button, a volume button, etc. The button 190 may be a mechanical button. It may also be a touch button. The terminal device may receive the button input and generate a key signal input related to the user settings and function control of the terminal device. The indicator 192 may be an indicator light, which may be used to indicate the charging status, power change, message, missed call, notification, etc.

[0088] The software system of the terminal device can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture, etc., which will not be elaborated here.

[0089] The following specific embodiments are used to describe in detail the technical solution of the present application and how the technical solution of the present application solves the above technical problems. The following specific embodiments can be implemented independently or in combination with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0090] For example, Figure 4 A flow chart of another voiceprint recognition method provided in an embodiment of the present application. Figure 4 In a corresponding embodiment, a voiceprint blacklist library for voiceprint verification of impostors (or unfamiliar users or unregistered users) may be provided in the terminal device.

[0091] like Figure 4 As shown, the voiceprint recognition method may include the following steps:

[0092] S401. The terminal device obtains MIC data.

[0093] The MIC data may be referred to as speaker voiceprint data.

[0094] S402: The terminal device performs wake-up word detection.

[0095] For example, in a scenario where a wake-up word is used to wake up a terminal device in a sleep state, the wake-up word may be "Hello Youyou"; or, in a scenario where a wake-up word is used for payment, the wake-up word may be "Confirm Payment"; it can be understood that the wake-up word can be set according to the actual application scenario, and this is not limited in the embodiments of the present application.

[0096] Exemplarily, the terminal device may acquire the speaker's voiceprint data in real time and perform wake-up word detection on the speaker's voiceprint data. When the wake-up word is detected, the terminal device may execute the steps shown in S403.

[0097] S403: The terminal device calculates the speaker's voiceprint vector, the registration template score, and the blacklist score based on the voiceprint model.

[0098] In the embodiment of the present application, the speaker's voiceprint vector can be used to characterize the speaker's voice features; the registered template score is used to indicate the similarity between the speaker's voice and the registered user's voice; the blacklist score is used to indicate the similarity between the speaker's voice and the impostor's voice. Exemplarily, the terminal device can obtain the blacklist score corresponding to the speaker's voiceprint data based on the voiceprint blacklist library used to store the impostor's voiceprint vector. The impostor's voiceprint vector stored in the voiceprint blacklist library can be used to characterize the impostor's voice features.

[0099] In the embodiment of the present application, the terminal device can calculate the speaker's voiceprint vector and the registration template score based on the voiceprint model. Figure 5 A schematic diagram of a process for determining a registration template score provided in an embodiment of the present application.

[0100] like Figure 5As shown, a possible implementation of the terminal device calculating the registration template score based on the voiceprint model can be: the terminal device can obtain the speaker's voiceprint data and the registered user's voiceprint data respectively; and extract the speaker's acoustic features corresponding to the speaker's voiceprint data and the registered user's acoustic features corresponding to the registered user's voiceprint data respectively; the terminal device inputs the speaker's acoustic features and the registered user's acoustic features into the voiceprint model to obtain the speaker's voiceprint vector and the registered user's voiceprint vector; further, the terminal device can use cosine scoring and probabilistic linear discriminant analysis (PLDA) and other methods to discriminate the speaker's voiceprint vector and the registered user's voiceprint vector to obtain the registration template score corresponding to the speaker's voiceprint vector.

[0101] It is understandable that after the voiceprint vector of a registered user is calculated for the first time based on the voiceprint model, the terminal device can store the voiceprint vector of the registered user to avoid repeated calculation of the voiceprint vector of the registered user when calculating the scores of the registration templates of other speakers later.

[0102] In the embodiment of the present application, the terminal device may calculate the blacklist score based on the voiceprint model. Exemplarily, a possible implementation of the terminal device calculating the blacklist score based on the voiceprint model may be: a voiceprint blacklist library may be set in the terminal device, and the voiceprint blacklist library may store at least one voiceprint blacklist, and each voiceprint blacklist may correspond to a voiceprint vector of an imposter. Figure 4 As shown, the voiceprint blacklist library may store voiceprint blacklist 1, voiceprint blacklist 2, ..., and voiceprint blacklist M, where M is a positive integer. Further, the terminal device may use the voiceprint model to perform similarity judgment on the speaker's voiceprint vector and the voiceprint vector in the voiceprint blacklist library, and use the highest similarity score as the blacklist score.

[0103] In the embodiments of the present application, the voiceprint model described above may include one or more of the following, for example: Gaussian mixture model (GMM), Gaussian mixture background model (GMM-universal background model, GMM-UBM), Gaussian mixture support vector machine (GMM-support vector machine, GMM-SVM), joint factor analysis (JFA), i-vector method based on GMM, d-vector method based on deep neural networks (DNN), or x-vector based on neural networks (NNET), etc. The voiceprint model used in the embodiments of the present application is not specifically limited.

[0104] In an embodiment of the present application, the terminal device can use one or more of the following methods to extract acoustic features, for example: mel-scale frequency cepstral coefficients (MFCC), filter bank (FBank), or linear prediction coefficient (LPC) and other methods. The method of extracting acoustic features in the embodiment of the present application is not specifically limited.

[0105] It is understandable that the above-mentioned voiceprint model and the method for extracting acoustic features may not be limited to the above description, and are not limited to this in the embodiments of the present application.

[0106] S404. The terminal device determines whether the registration template score is greater than T1.

[0107] In an embodiment of the present application, when the terminal device determines that the registration template score is greater than (or greater than or equal to) T1, the terminal device can execute the steps shown in S410; or, when the terminal device determines that the registration template score is less than or equal to (or less than) T1, the terminal device can execute the steps shown in S405.

[0108] The relationship between T1 and T2 in step S206 may be: T1>T2, for example, T1=T2×N, and the possible value range of N is 1.5-2, which is not specifically limited in the embodiments of the present application.

[0109] It is understandable that the terminal device can set a higher threshold T1 to ensure that only the voice that is highly similar to the registered user's voice, such as the registered user's own voice, can pass voiceprint recognition, so that the terminal device can accurately identify the user's voice and reduce the system's false break-in rate.

[0110] S405: The terminal device determines whether the registration template score > T2 and the blacklist score <T1。

[0111] In an embodiment of the present application, when the terminal device determines that the following conditions are met: the registration template score is greater than (or greater than or equal to) T2 and the blacklist score is less than (or less than or equal to) T1, the terminal device may execute the steps shown in S410; or, when the terminal device determines that the following conditions are not met: the registration template score is greater than (or greater than or equal to) T2 and the blacklist score is less than (or less than or equal to) T1, the terminal device may execute the steps shown in S406 and S409.

[0112] Among them, the terminal device does not satisfy the registration template score greater than (or greater than or equal to) T2 and the blacklist score less than (or less than or equal to) T1, which can be understood as: the terminal device determines that the registration template score is less than or equal to (or less than) T2, the blacklist score is greater than or equal to (or greater than) T1, or, the registration template score is less than or equal to (or less than) T2 and the blacklist score is greater than or equal to (or greater than) T1.

[0113] It is understandable that the terminal device can reduce the false-entry rate while improving the success rate of the voiceprint recognition method by judging whether the registration template score is greater than T2 and judging whether the blacklist score is less than T1.

[0114] On the one hand, when the terminal device is based on Figure 2 The corresponding voiceprint recognition method determines that the registered template score corresponding to the received speaker's voiceprint data is 81 points, which is greater than 80 points corresponding to T2. The terminal device can determine that the judgment is successful at this time and wake up the terminal device. Due to the relatively loose judgment conditions, the voice of the speaker close to the threshold T2 is likely to be the voice of an impostor who is closer to the voice of the registered user, and the voice of the impostor waking up the terminal device will result in a higher false alarm rate. Therefore, the terminal device can further determine the relationship between the blacklist score corresponding to the speaker's voiceprint data and T1. For example, by using a blacklist score less than T1, it can ensure that the current speaker's voice does not belong to the voice of the impostor recorded by the terminal device, thereby reducing the false alarm rate while improving the success rate of voiceprint recognition.

[0115] On the other hand, when the terminal device uses a higher threshold value T1 to accurately identify the voice based on the step shown in S404, the terminal device may not be able to identify the user's voice in different scenes or different voice states due to the stricter recognition method corresponding to the threshold value T1, for example, the terminal device may not be able to identify the user's voice when they have a cold, resulting in a lower success rate. Therefore, the terminal device can ensure a higher success rate by setting a lower threshold value T2, and through the relationship between the blacklist score corresponding to the speaker's voiceprint data and T1, for example, through the blacklist score being less than T1, it is ensured that the voice of the current speaker does not belong to the voice of the imposter recorded by the terminal device, thereby improving the success rate of voiceprint recognition while ensuring a lower false-entry rate.

[0116] S406: The terminal device determines whether the registration template score > T3 and the blacklist score <T2。

[0117] In an embodiment of the present application, when the terminal device determines that: the registration template score is greater than (or greater than or equal to) T3 and the blacklist score is less than (or less than or equal to) T2, the terminal device can execute the step shown in S407; or, when the terminal device does not satisfy: the registration template score is greater than (or greater than or equal to) T3 and the blacklist score is less than (or less than or equal to) T2, the terminal device can end the step of adding the current speaker's voiceprint vector to the voiceprint blacklist library.

[0118] Among them, the terminal device does not satisfy the registration template score greater than (or greater than or equal to) T3 and the blacklist score less than (or less than or equal to) T2, which can be understood as: the terminal device determines that the registration template score is less than or equal to (or less than) T3, the blacklist score is greater than or equal to (or greater than) T2, or, the registration template score is less than or equal to (or less than) T3 and the blacklist score is greater than or equal to (or greater than) T2.

[0119] The relationship between T2 and T3 may be: T2>T3, for example, T3=T2×Q, and the possible value range of Q is 0.5-0.9, which is not specifically limited in the embodiments of the present application.

[0120] It is understandable that the terminal device can determine whether to add the sound that is threatening to the terminal device to the voiceprint blacklist library by judging whether the registration template score is greater than T3 and judging whether the blacklist score is less than T2.

[0121] Specifically, when the terminal device determines that the registration template score is greater than T3, it can be understood that the currently received voice has a low similarity to the registered user's voice. For example, the received voice may be a threatening voice to the device.

[0122] When the terminal device determines that the blacklist score is less than T2, it can be understood that the currently received voice does not belong to the voice of the imposter stored in the voiceprint blacklist library. Therefore, the terminal device can further ensure the security of the voiceprint recognition method by adding the speaker voiceprint vector corresponding to the voice that is threatening to the terminal device and has not been added to the voiceprint blacklist library to the voiceprint blacklist library. Among them, when the terminal device determines that the blacklist score is greater than or equal to T2, it can be understood that the speaker voiceprint vector corresponding to the voice of the current speaker is already in the voiceprint blacklist library, so there is no need to add it again.

[0123] S407: The terminal device determines whether the signal-to-noise ratio is greater than NdB.

[0124] In the embodiment of the present application, the signal-to-noise ratio is used to indicate the ratio of the user's voice signal to the noise signal in the environment. When the terminal device determines that the signal-to-noise ratio is greater than (or greater than or equal to) NdB, the terminal device can execute the step shown in S408; or when the terminal device determines that the signal-to-noise ratio is less than or equal to (or less than) NdB, the terminal device can end the step of adding the current speaker's voiceprint vector to the voiceprint blacklist library.

[0125] It is understandable that the terminal device can extract a higher-quality voiceprint vector by judging the signal-to-noise ratio, thereby avoiding misjudging the user's voice in a noisy environment as the voice of an imposter.

[0126] S408: The terminal device obtains the voiceprint vector of the current speaker, and adds the voiceprint vector of the current speaker to a voiceprint blacklist library.

[0127] In the embodiment of the present application, the voiceprint blacklist library may store multiple voiceprint blacklists, such as voiceprint blacklist 1, voiceprint blacklist 2, ..., voiceprint blacklist M. When the voiceprint blacklist library can only store M pieces of data, and the current M+1th speaker voiceprint vector needs to be added thereto, the terminal device may determine the voiceprint blacklist that needs to be removed according to the time of adding the voiceprint blacklist in the voiceprint blacklist library and / or the number of times the voiceprint blacklist is used.

[0128] Exemplarily, when it is necessary to add the M+1th speaker voiceprint vector, the terminal device may remove the voiceprint blacklist with the longest joining time from the M voiceprint blacklist; or the terminal device may remove the voiceprint blacklist with the least number of uses from the M voiceprint blacklist; or the terminal device may remove the voiceprint blacklist with the longest joining time from the P voiceprint blacklist with the least number of uses from the M voiceprint blacklist. Wherein, M is greater than (or greater than or equal to) P.

[0129] In a possible implementation, the terminal device may also automatically clean up the voiceprint blacklist database based on the number of times the voiceprint blacklist is used and the time when the voiceprint blacklist is added, periodically, for example, every other day or every four hours.

[0130] It is understandable that the terminal device can ensure the validity of the voiceprint blacklist library by dynamically adjusting the voiceprint blacklist in the voiceprint blacklist library, and can avoid the influence of too much data stored in the voiceprint blacklist library on the speed of the voiceprint recognition method.

[0131] S409: The terminal device determines that the judgment fails.

[0132] It is understandable that when the terminal device determines that the currently received voice is the voice of an unregistered user, the current round of verification fails. Exemplarily, when the terminal device in a sleeping state is awakened by voice, when the terminal device determines that the judgment fails, it can continue to remain in the sleeping state.

[0133] S410: The terminal device determines that the judgment is successful, and wakes up the terminal device.

[0134] For example, when using voice to wake up a terminal device in sleep mode, when the terminal device determines that the judgment is successful, the terminal device can be woken up. For example, the terminal device can light up the screen and play a voice message. For example, when the user wakes up the terminal device through Hello Yoyo, the terminal device can play "I am here" or other voice messages after the judgment is successful.

[0135] In a possible implementation, after S410, the terminal device may verify the voiceprint blacklist library based on the steps shown in S411-S413.

[0136] S411. The terminal device determines whether the registration template score is greater than T1.

[0137] In an embodiment of the present application, when the terminal device determines that the registration template score is greater than (or greater than or equal to) T1, the terminal device can execute the steps shown in S412; or, when the terminal device determines that the registration template score is less than or equal to (or less than T1), the terminal device can end the verification step for the voiceprint blacklist library.

[0138] It is understandable that the terminal device can filter out the voice of the registered user by determining whether the registration template score is greater than T1.

[0139] S412. The terminal device determines whether the blacklist score is greater than T2.

[0140] In this step, the blacklist score may be the score corresponding to each voiceprint blacklist in the voiceprint blacklist library of the speaker's voiceprint vector (or may be understood as the similarity score between the speaker's voice and each imposter's voice in the voiceprint blacklist library), rather than the maximum value of the blacklist score in the voiceprint blacklist library. For example, when there are 5 blacklist scores greater than T2 in the voiceprint blacklist library of the speaker's voiceprint vector, the terminal device may extract the 5 voiceprint blacklists corresponding to the 5 blacklist scores greater than T2.

[0141] When the terminal device determines that the blacklist score is greater than (or greater than or equal to) T2, the terminal device can execute the step shown in S413; or, when the terminal device determines that the blacklist score is less than or equal to (or less than T2), the terminal device can end the verification step for the voiceprint blacklist library.

[0142] In one implementation, the blacklist score can be calculated by the terminal device in the step shown in S403 and stored in the device, so that the terminal device can call it in the step shown in S412. Exemplarily, the terminal device can calculate the M blacklist scores corresponding to the speaker's voiceprint vector in the M voiceprint blacklist library in the voiceprint blacklist library based on the voiceprint model in the step shown in S403, and store them in the device, call the M blacklist scores in the step shown in S412, and determine the voiceprint blacklist corresponding to the blacklist score when it is greater than T2.

[0143] In another implementation, the blacklist score can also be obtained in the step shown in S412 based on the voiceprint blacklist library and the calculation of the speaker's voiceprint vector. Exemplarily, the terminal device can wake up the device with a registration template score greater than T1 and a registration template score greater than T2 and a blacklist score less than T1 in the step shown in S410, and then calculate the corresponding M blacklist scores of the speaker's voiceprint vector in the M voiceprint blacklists in the voiceprint blacklist library based on the voiceprint model in the step shown in S412, and further obtain the corresponding voiceprint blacklist when the blacklist score is greater than T2. ​​It can be understood that the terminal device can improve the speed of waking up the device based on voiceprint data by performing blacklist score calculation in the step shown in S412.

[0144] It is understandable that the terminal device can filter out the voiceprint vectors of registered users who have mistakenly entered the voiceprint blacklist library by judging whether the registration template score is greater than T1 and the blacklist score is greater than T2.

[0145] S413. The terminal device deletes the corresponding voiceprint blacklist.

[0146] Exemplarily, the terminal device may delete the voiceprint blacklists in all voiceprint blacklist libraries that satisfy the conditions where the registration template score is greater than T1 and the blacklist score is greater than T2.

[0147] It can be understood that the above S411-S413 are used to delete the voiceprint blacklist that is mistakenly entered into the voiceprint blacklist library due to some reasons, thereby improving the accuracy of the voiceprint recognition method.

[0148] Based on this, the terminal device can be set up with a voiceprint blacklist library, and use the voiceprint vectors of registered users and the voiceprint vectors in the voiceprint blacklist library to score the voiceprint vectors of the speaker received by the terminal device, so that the terminal device can accurately recognize the user's voice, thereby reducing the false alarm rate and improving the security of voiceprint recognition.

[0149] In a possible implementation, when the terminal device is not provided with a voiceprint blacklist library, the terminal device can be based on the following Figure 6 The corresponding embodiment obtains the first voiceprint blacklist. Exemplarily, Figure 6 A schematic diagram of a process for obtaining a first voiceprint blacklist provided in an embodiment of the present application.

[0150] like Figure 6 As shown, the method for obtaining the first voiceprint blacklist may include the following steps:

[0151] S601. The terminal device obtains MIC data.

[0152] The MIC data may be the speaker's voiceprint data.

[0153] S602: The terminal device performs wake-up word detection.

[0154] S603: The terminal device calculates the speaker's voiceprint vector and the registration template score based on the voiceprint model.

[0155] The process of the terminal device calculating the speaker's voiceprint vector and the registration template score can be referred to the step shown in S403, which will not be repeated here.

[0156] S604. The terminal device determines whether the registration template score is greater than T2.

[0157] In an embodiment of the present application, when the terminal device determines that the registration template score is greater than (or greater than or equal to) T2, the terminal device can execute the steps shown in S605; or, when the terminal device determines that the registration template score is less than or equal to (or less than) T2, the terminal device can execute the steps shown in S606.

[0158] S605: The terminal device determines that the judgment is successful, and wakes up the terminal device.

[0159] S606. The terminal device determines whether the registration template score is greater than T3.

[0160] In an embodiment of the present application, when the terminal device determines that the registration template score is greater than (or greater than or equal to) T3, the terminal device can execute the step shown in S607; or, when the terminal device determines that the registration template score is less than or equal to (or less than) T3, the terminal device can end the step of adding the current voiceprint to the voiceprint blacklist library.

[0161] It is understandable that the terminal device can filter out sounds that are threatening to the system through the threshold T3 and add them to the voiceprint blacklist library.

[0162] S607: The terminal device determines whether the signal-to-noise ratio>NdB.

[0163] When the terminal device determines that the signal-to-noise ratio is greater than (or greater than or equal to) NdB, the terminal device can execute the step shown in S608; or when the signal-to-noise ratio is less than or equal to (or less than) NdB, the terminal device can end the step of adding the current voiceprint to the voiceprint blacklist library.

[0164] S608: The terminal device obtains the voiceprint vector of the current speaker, and adds the voiceprint vector of the current speaker to a voiceprint blacklist library.

[0165] It can be understood that the voiceprint blacklist library stores a voiceprint blacklist 1 corresponding to the voiceprint vector of the current speaker.

[0166] Based on this, when the registration template score is greater than T3, the terminal device can add the voice that threatens the device to the voiceprint blacklist library, so that the voiceprint blacklist library can be used for subsequent voiceprint recognition.

[0167] exist Figure 4 On the basis of the corresponding embodiments, in a possible implementation, the terminal device may support voiceprint recognition in different modes, such as a high recognition rate mode and a low recognition rate mode.

[0168] In the embodiment of the present application, the high recognition rate mode can be understood as a mode for providing accurate recognition. In this mode, only the voice that is very similar to the registered user's voice or the voice of the impostor that is not in the voiceprint blacklist library stored in the terminal device can be recognized, and the recognition accuracy is high. Among them, the high recognition rate mode can correspond to Figure 4 The voiceprint recognition method described in the corresponding embodiment.

[0169] The low recognition rate mode can be understood as a mode for providing a higher recognition success rate. In this mode, voice recognition of users in different scenes or different sound states can be achieved, and the recognition success rate is higher. Among them, the low recognition rate mode can correspond to Figure 2 The voiceprint recognition method described in the corresponding embodiment.

[0170] For example, Figure 7 A schematic diagram of an interface for setting a voiceprint recognition mode provided in an embodiment of the present application. Figure 7 In the corresponding embodiments, a mobile phone as the terminal device is used as an example for illustration, and this example does not constitute a limitation on the embodiments of the present application.

[0171] When the mobile phone receives the user's operation for setting the voice wake-up function, the mobile phone can display the following Figure 7 The interface shown in a in the figure may display controls for setting user information, controls for setting power button wake-up, controls 701 for setting voice wake-up, and controls for users to view more functions.

[0172] like Figure 7 In the interface shown in a of FIG. 1 , when the mobile phone receives an operation of the user triggering the control 701 for setting voice wake-up, the mobile phone may display the following Figure 7 The interface shown in b in the figure. Figure 7 The interface shown in b in FIG. 1 includes a control 702 for enabling voice wake-up, etc.

[0173] like Figure 7 In the interface shown in b in FIG. 1 , when the mobile phone receives the operation of the user triggering the control 702 for starting voice wake-up, the mobile phone can display the following Figure 7 The interface shown in c in the figure. Figure 7 The interface shown in c in FIG. 7 may include: a control for turning off voice wake-up, a control 703 for setting a high recognition rate mode, a control 704 for setting a low recognition rate mode, and a control for setting a wake-up command, etc. The wake-up command may be: Hello Yoyo.

[0174] In possible implementations, Figure 7 In the interface shown in c, when the mobile phone receives the user's triggering operation of the control 703 for setting the high recognition rate mode, the mobile phone can perform voiceprint recognition on the received speaker's voiceprint data based on the voiceprint blacklist library and the registered user's voiceprint data.

[0175] In possible implementations, Figure 7 In the interface shown in c, when the mobile phone receives the user's operation of triggering the control 704 for setting the low recognition rate mode, the mobile phone can perform voiceprint recognition on the received speaker's voiceprint data based on the registered user's voiceprint data.

[0176] Based on this, users can flexibly set the voiceprint recognition mode according to their own needs, which improves the user experience of using the voice wake-up function.

[0177] Further, in Figure 7On the basis of the corresponding embodiment, the user can also enable the high recognition rate mode to set the prompt for adding the imposter identified in the high recognition rate mode to the voiceprint blacklist library. Figure 8 A schematic diagram of another interface for setting a voiceprint recognition mode provided in an embodiment of the present application.

[0178] like Figure 8 In the interface shown in a of FIG. 1 , when the mobile phone receives the user's operation of triggering the control 703 for setting the high recognition rate mode, the mobile phone may display the following Figure 8 The interface shown in b. Figure 8 The interface shown in b in FIG. 1 may include: a control 801 for opening a prompt for adding the voiceprint to the blacklist library corresponding to the high recognition rate mode. The prompt for adding the voiceprint to the blacklist library can be understood as: when the mobile phone recognizes a voice that does not belong to the registered user (or is understood as recognizing the voice of an impostor), it initiates a prompt to add the voice to the voiceprint blacklist library. Figure 8 The interface shown in a is the same as Figure 7 The interface shown in c is similar and will not be repeated here.

[0179] like Figure 8 In the interface shown in b, when the mobile phone receives the operation of the user triggering the control 801 for turning on the prompt of adding the voiceprint blacklist library, the mobile phone can initiate a prompt message when a voice that does not belong to a registered user is recognized; or, when the mobile phone does not receive the operation of the user triggering the control 801 for turning on the blacklist library prompt, the mobile phone can add the detected voice that does not belong to the registered user to the voiceprint blacklist library by default.

[0180] Based on this, users can flexibly set up the voiceprint blacklist library according to their own needs, which improves the user experience of using the voice wake-up function.

[0181] In such Figure 8 On the basis of the corresponding embodiment, when the user turns on the prompt of adding the voiceprint blacklist library, the terminal device can display the prompt information. Fig. 9 A schematic diagram of an interface for displaying prompt information provided in an embodiment of the present application.

[0182] In the sleep state of the mobile phone (or the screen-off state of the mobile phone), when the mobile phone receives the speaker's voiceprint data based on the high recognition rate mode in the voice wake-up function and determines that the registration template score corresponding to the speaker's voiceprint data is greater than (or greater than or equal to) T3, the blacklist score is less than (or less than or equal to) T2, and the signal-to-noise ratio is greater than (or greater than or equal to) NdB, the mobile phone can obtain the speaker's voiceprint vector corresponding to the speaker's voiceprint data and display it as follows: Fig. 9 The interface shown in the figure. Fig. 9The interface shown may display: prompt information 901, a confirmation control 902 for adding the current speaker's voiceprint vector to the voiceprint blacklist library, and a cancel control 903 for refusing to add the current speaker's voiceprint vector to the voiceprint blacklist library. Among them, the prompt information 901 may be: the voice of an impostor is detected, please confirm whether to add the voice to the voiceprint blacklist library.

[0183] In a possible implementation, when the mobile phone does not receive any user operation on the confirmation control 902 and the cancel control 903 within a time threshold of displaying the prompt information 901, the mobile phone can perform the step of adding the current voiceprint data to the voiceprint blacklist library by default.

[0184] Based on this, when the voice is different due to the user's voice status or the scene in which they are located, the terminal device can avoid the erroneous operation of directly adding the voice to the voiceprint blacklist library.

[0185] It should be understood that the interface provided in the above embodiment is merely an example and cannot be construed as a limitation on the embodiments of the present application.

[0186] Combined with the above Figure 4-Figure 9 , the method provided in the embodiment of the present application is described, and the device for executing the above method provided in the embodiment of the present application is described below. Fig.10 As shown, Fig.10 A schematic diagram of the structure of a voiceprint recognition device provided in an embodiment of the present application. The voiceprint recognition device may be a terminal device in an embodiment of the present application, or a chip or chip system in the terminal device.

[0187] like Fig.10 As shown, the voiceprint recognition device 100 can be used in a communication device, a circuit, a hardware component or a chip, and the voiceprint recognition device includes: a display unit 1001 and a processing unit 1002. The display unit 1001 is used to support the display step performed by the voiceprint recognition device 100; the processing unit 1002 is used to support the voiceprint recognition device 100 to perform the information processing step.

[0188] The embodiment of the present application provides a voiceprint recognition device 100, in which a preset database is provided, and the preset database includes a voiceprint vector of at least one second user; the voiceprint vector is used to characterize the voice characteristics of the user, including: a processing unit 1002, used to collect a first voice, and the first voice corresponds to a first voiceprint vector; if the terminal device determines that the first voice is a preset voice, the processing unit 1002 is further used to obtain a similarity score between the first voiceprint vector and the preset voiceprint vector, and obtain a first value; the preset voiceprint vector is the voiceprint vector of the first user; the processing unit 1002 is further used to obtain the highest score of the similarity scores between the first voiceprint vector and each voiceprint vector in the preset database, and obtain a second value; when the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, the processing unit 1002 is further used to determine that the voiceprint recognition of the first user is successful; the second threshold is greater than the first threshold.

[0189] In a possible implementation, when the terminal device determines that the first value is greater than the third threshold and the second value is less than the first threshold, the processing unit 1002 is further used to add the first voiceprint vector to a preset database; the first threshold is greater than the third threshold.

[0190] In a possible implementation, when the terminal device determines that the first value is greater than the third threshold, the second value is less than the first threshold, and the signal-to-noise ratio value corresponding to the first voiceprint vector is greater than the fourth threshold, the processing unit 1002 is specifically used to add the first voiceprint vector to a preset database.

[0191] In one possible implementation, the voiceprint vector in the preset database records the storage time in the preset database and the number of times used, where the number of times the second value is calculated. The processing unit 1002 is specifically used to eliminate the voiceprint vector with the longest storage time in the preset database, and / or eliminate the voiceprint vector with the least number of times used in the preset database; the processing unit 1002 is also specifically used to add the first voiceprint vector to the preset database.

[0192] In one possible implementation, when the terminal device determines that the first value is greater than the third threshold and the second value is less than the first threshold, the display unit 1001 is used to display a first interface; wherein the first interface includes: prompt information for prompting whether to add the first voiceprint vector to the preset database, a first control for adding the first voiceprint vector to the preset database, and a second control for refusing to add the first voiceprint vector to the preset database; when the terminal device receives a trigger for the first control, or does not receive a trigger for any control in the first interface within a preset time threshold, the processing unit 1002 is specifically used to add the first voiceprint vector to the preset database.

[0193] In one possible implementation, when the terminal device receives an operation for setting a voiceprint recognition mode, the display unit 1001 is also used to display a second interface; the second interface includes a third control for turning on a first recognition mode; when the terminal device receives an operation for the third control, the display unit 1001 is also used to display a third interface; the third interface includes: a fourth control for turning on prompt information; when the terminal device determines that the first value is greater than the third threshold, the second value is less than the first threshold, and the fourth control is in the turned-on state, the processing unit 1002 is also used to display the first interface.

[0194] In one possible implementation, the processing unit 1002 is further used to obtain the similarity scores between the first voiceprint vector and each voiceprint vector in the preset database to obtain a third value; the processing unit 1002 is also used to delete the voiceprint vector in the preset database corresponding to the first voiceprint vector when the first value is greater than the second threshold and the third value is greater than the first threshold.

[0195] In one possible implementation, when the terminal device determines that the first value is greater than the second threshold, the processing unit 1002 is also used to obtain the similarity score between the first voiceprint vector and each voiceprint vector in the preset database to obtain a third value; the processing unit 1002 is also used to delete the voiceprint vector in the preset database corresponding to the first voiceprint vector when the third value is greater than the first threshold.

[0196] In a possible implementation, when the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, or when the terminal device determines that the first value is greater than the second threshold, the processing unit 1002 is specifically used to determine that the voiceprint recognition of the first user is successful.

[0197] In a possible implementation, when the terminal device determines that the first value is less than or equal to the first threshold, and / or the second value is greater than or equal to the second threshold, the processing unit 1002 is further used to determine that the voiceprint recognition of the first user fails.

[0198] In a possible implementation, the voiceprint device 100 may also include a communication unit 1003. Specifically, the communication unit is used to support the voiceprint recognition device 100 to perform the steps of sending and receiving data. The communication unit 1003 may be an input or output interface, a pin or a circuit.

[0199] In a possible embodiment, the voiceprint recognition device may further include: a storage unit 1004. The processing unit 1002 and the storage unit 1004 are connected via a line. The storage unit 1004 may include one or more memories, and the memory may be a device used to store programs or data in one or more devices or circuits. The storage unit 1004 may exist independently and be connected to the processing unit 1002 of the voiceprint recognition device via a communication line. The storage unit 1004 may also be integrated with the processing unit 1002.

[0200] The storage unit 1004 can store computer-executable instructions of the method in the terminal device so that the processing unit 1002 executes the method in the above embodiment. The storage unit 1004 can be a register, a cache, or a RAM, etc. The storage unit 1004 can be integrated with the processing unit 1002. The storage unit 1004 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, and the storage unit 1004 can be independent of the processing unit 1002.

[0201] Fig.11 A schematic diagram of the hardware structure of a control device provided in an embodiment of the present application is shown in FIG. Fig.11 As shown, the control device includes a processor 1101, a communication line 1104 and at least one communication interface ( Fig.11 The communication interface 1103 is used as an example for explanation).

[0202] The processor 1101 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.

[0203] Communications link 1104 may include circuitry to transmit information between the above-described components.

[0204] The communication interface 1103 uses any transceiver or other device for communicating with other devices or communication networks, such as Ethernet, wireless local area networks (WLAN), etc.

[0205] Possibly, the control device may further include a memory 1102 .

[0206] The memory 1102 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via a communication line 1104. The memory may also be integrated with the processor.

[0207] The memory 1102 is used to store computer-executable instructions for executing the solution of the present application, and the execution is controlled by the processor 1101. The processor 1101 is used to execute the computer-executable instructions stored in the memory 1102, thereby realizing the voiceprint recognition method provided in the embodiment of the present application.

[0208] Possibly, the computer-executable instructions in the embodiments of the present application may also be referred to as application code, and the embodiments of the present application do not specifically limit this.

[0209] In a specific implementation, as an embodiment, the processor 1101 may include one or more CPUs, such as Fig.11 CPU0 and CPU1 in.

[0210] In a specific implementation, as an embodiment, the control device may include multiple processors, such as Fig.11 1 and 1105. Each of these processors may be a single-CPU processor or a multi-CPU processor. A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).

[0211] For example, Fig.12 A schematic diagram of the structure of a chip provided in an embodiment of the present application. The chip 120 includes one or more (including two) processors 1220 and a communication interface 1230 .

[0212] In some embodiments, the memory 1240 stores the following elements: executable modules or data structures, or a subset thereof, or an extended set thereof.

[0213] In the embodiment of the present application, the memory 1240 may include a read-only memory and a random access memory, and provide instructions and data to the processor 1220. A portion of the memory 1240 may also include a non-volatile random access memory (NVRAM).

[0214] In the embodiment of the present application, the memory 1240, the communication interface 1230 and the memory 1240 are coupled together through the bus system 1210. The bus system 1210 may include a power bus, a control bus and a status signal bus in addition to a data bus. Fig.12 Various buses are labeled as bus system 1210.

[0215] The method described in the above embodiment of the present application can be applied to the processor 1220, or implemented by the processor 1220. The processor 1220 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware or software instructions in the processor 1220. The above processor 1220 can be a general-purpose processor (for example, a microprocessor or a conventional processor), a digital signal processor (digital signal processing, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), a field-programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gates, transistor logic devices or discrete hardware components. The processor 1220 can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present invention.

[0216] The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. Among them, the software module can be located in a mature storage medium in the field such as a random access memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable read only memory (EEPROM). The storage medium is located in the memory 1240, and the processor 1220 reads the information in the memory 1240 and completes the steps of the above method in combination with its hardware.

[0217] In the above embodiments, the instructions stored in the memory for execution by the processor may be implemented in the form of a computer program product, wherein the computer program product may be pre-written in the memory, or may be downloaded and installed in the memory in the form of software.

[0218] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or data center that includes one or more available media integrated. For example, the available medium can include a magnetic medium (e.g., a floppy disk, a hard disk or a tape), an optical medium (e.g., a digital versatile disc (digital versatile disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.

[0219] The embodiments of the present application also provide a computer-readable storage medium. The methods described in the above embodiments can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. Computer-readable media may include computer storage media and communication media, and may also include any medium that can transfer a computer program from one place to another. The storage medium may be any target medium that can be accessed by a computer.

[0220] As a possible design, the computer readable medium may include a compact disc read-only memory (CD-ROM), RAM, ROM, EEPROM or other optical disc storage; the computer readable medium may include a magnetic disk storage or other magnetic disk storage device. Moreover, any connection line may also be appropriately referred to as a computer readable medium. For example, if the software is transmitted from a website, server or other remote source using a coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology (such as infrared, radio and microwave), the coaxial cable, fiber optic cable, twisted pair, DSL or wireless technology such as infrared, radio and microwave are included in the definition of medium. Disk and disc as used herein include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while optical discs reproduce data optically using lasers.

[0221] The above combinations should also be included in the scope of computer-readable media. The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention shall be based on the protection scope of the claims.

Claims

1. A voiceprint recognition method, characterized in that: Applied to a terminal device, the terminal device is provided with a preset database, the preset database includes a voiceprint vector of at least one second user; the voiceprint vector is used to characterize the voice feature of the user, and the method includes: The terminal device collects a first voice, where the first voice corresponds to a first voiceprint vector; If the terminal device determines that the first voice is a preset voice, the terminal device obtains a similarity score between the first voiceprint vector and a preset voiceprint vector to obtain a first value; the preset voiceprint vector is a voiceprint vector of the first user; The terminal device obtains the highest score of the similarity scores between the first voiceprint vector and each voiceprint vector in the preset database to obtain a second value; When the terminal device determines that the first value is greater than a first threshold and the second value is less than a second threshold, the terminal device determines that the voiceprint recognition of the first user is successful; and the second threshold is greater than the first threshold; The method further comprises: When the terminal device determines that the first value is greater than the third threshold and the second value is less than the first threshold, the terminal device adds the first voiceprint vector to the preset database; the first threshold is greater than the third threshold.

2. The method according to claim 1, characterized in that When the terminal device determines that the first value is greater than a third threshold value and the second value is less than the first threshold value, the terminal device adds the first voiceprint vector to the preset database, including: When the terminal device determines that the first value is greater than the third threshold, the second value is less than the first threshold, and the signal-to-noise ratio value corresponding to the first voiceprint vector is greater than the fourth threshold, the terminal device adds the first voiceprint vector to the preset database.

3. The method according to claim 1 or 2, characterized in that: The voiceprint vector in the preset database records the storage time in the preset database and the number of times of use, where the number of times of use is the number of times the second value is calculated, and the terminal device adds the first voiceprint vector to the preset database, including: The terminal device removes the voiceprint vector with the longest storage time in the preset database, and / or removes the voiceprint vector with the least number of uses in the preset database; The terminal device adds the first voiceprint vector to the preset database.

4. The method according to claim 1 or 2, characterized in that: When the terminal device determines that the first value is greater than a third threshold value and the second value is less than the first threshold value, the terminal device adds the first voiceprint vector to the preset database, including: When the terminal device determines that the first value is greater than the third threshold value, and the second value is less than the first threshold value, the terminal device displays a first interface; wherein the first interface includes: prompt information for prompting whether to add the first voiceprint vector to the preset database, a first control for adding the first voiceprint vector to the preset database, and a second control for refusing to add the first voiceprint vector to the preset database; When the terminal device receives a trigger for the first control, or does not receive a trigger for any control in the first interface within a preset time threshold, the terminal device adds the first voiceprint vector to the preset database.

5. The method according to claim 4, characterized in that The method further comprises: When the terminal device receives an operation for setting a voiceprint recognition mode, the terminal device displays a second interface; the second interface includes a third control for starting the first recognition mode; When the terminal device receives an operation on the third control, the terminal device displays a third interface; the third interface includes: a fourth control for opening the prompt information; When the terminal device determines that the first value is greater than the third threshold and the second value is less than the first threshold, the terminal device displays the first interface, including: when the terminal device determines that the first value is greater than the third threshold, the second value is less than the first threshold, and the fourth control is in the on state, the terminal device displays the first interface.

6. The method according to any one of claims 1-2 and 5, characterized in that: The method further comprises: The terminal device obtains a similarity score between the first voiceprint vector and each voiceprint vector in the preset database to obtain a third value; The terminal device deletes the voiceprint vector in the preset database corresponding to the first voiceprint vector when the first value is greater than the second threshold and the third value is greater than the first threshold.

7. The method according to any one of claims 1-2 and 5, characterized in that: The method further comprises: When the terminal device determines that the first value is greater than the second threshold, the terminal device obtains a similarity score between the first voiceprint vector and each voiceprint vector in the preset database to obtain a third value; The terminal device deletes the voiceprint vector in the preset database corresponding to the first voiceprint vector when the third value is greater than the first threshold.

8. The method according to any one of claims 1-2 and 5, characterized in that: When the terminal device determines that the first value is greater than a first threshold value and the second value is less than a second threshold value, the terminal device determines that the voiceprint recognition of the first user is successful, including: When the terminal device determines that the first value is greater than the first threshold and the second value is less than the second threshold, or when the terminal device determines that the first value is greater than the second threshold, the terminal device determines that the voiceprint recognition of the first user is successful.

9. The method according to any one of claims 1-2 and 5, characterized in that: The method further comprises: When the terminal device determines that the first value is less than or equal to the first threshold, and / or the second value is greater than or equal to the second threshold, the terminal device determines that the voiceprint recognition of the first user fails.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the electronic device executes the method according to any one of claims 1 to 9.

11. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the computer is caused to perform the method according to any one of claims 1 to 9.

12. A computer program product, characterized in that The invention comprises a computer program which, when being executed, causes a computer to execute the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Voice wakeup method and device based on voiceprint recognition

    CN107886957A

  • Building whitelists comprising voiceprints not associated with fraud and screening calls using a combination of a whitelist and blacklist

    US20090119106A1