Voiceprint comparison method and device, equipment and storage medium
By mapping the speech data feature vectors of different channels to a unified voiceprint feature space, the problem of low cross-channel voiceprint accuracy is solved, and higher recognition accuracy is achieved.
Patent Information
- Application Number
- CN202411176406.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-23
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-08-23
AI Technical Summary
The accuracy of cross-channel soundprint comparison is low, resulting in large differences in voices of the same customer on different channels, making it difficult to achieve accurate identification.
By obtaining voice data from different channels, the corresponding voiceprint recognition model is input separately to obtain feature vectors, and these feature vectors are input into the Encoder-Decoder model for mapping to a unified voiceprint feature space to determine the voiceprint comparison result.
The accuracy of cross-channel voiceprint comparison is improved, so that the voice data of the same customer can be more accurately judged based on the comparison results of the unified voiceprint feature space.
Smart Images

Figure CN119207423A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence, and in particular to a voiceprint comparison method, device, equipment and storage medium. Background Art
[0002] With the rapid development of artificial intelligence technology, voiceprint recognition technology has been widely used in many fields. For example, in the customer service system of banks, voiceprint recognition technology is used to identify the identity of customers. In actual application scenarios, since the voice of customers usually comes from multiple different channels, such as telephone channels, APP (Application) channels, etc., and the voices of the same customer in different channels are quite different, the accuracy of voiceprint feature comparison of voices from different channels is not high.
[0003] Therefore, how to improve the accuracy of cross-channel voiceprint comparison has become an urgent problem to be solved. Summary of the invention
[0004] The present application provides a voiceprint comparison method, apparatus, device and storage medium, aiming to improve the accuracy of cross-channel voiceprint comparison.
[0005] To achieve the above object, the present application provides a voiceprint comparison method, which includes:
[0006] Acquire first voice data and second voice data, where the first voice data and the second voice data come from different channels;
[0007] Inputting the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and inputting the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector; wherein voice data of different channels correspond to different voiceprint recognition models;
[0008] Inputting the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder model respectively, mapping the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtaining a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector;
[0009] A voiceprint comparison result between the first voice data and the second voice data is determined according to the third voiceprint feature vector and the fourth voiceprint feature vector.
[0010] In addition, to achieve the above purpose, the present application also provides a voiceprint comparison device, which includes:
[0011] A voice acquisition module, used to acquire first voice data and second voice data, where the first voice data and the second voice data are from different channels;
[0012] a voiceprint recognition module, configured to input the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and input the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector; wherein voice data of different channels correspond to different voiceprint recognition models;
[0013] a voiceprint encoding and decoding module, configured to input the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder encoder-decoder model respectively, map the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtain a third voiceprint feature vector corresponding to the first voiceprint feature vector, and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector;
[0014] The voiceprint processing module is used to determine the voiceprint comparison result of the first voice data and the second voice data according to the third voiceprint feature vector and the fourth voiceprint feature vector.
[0015] In addition, to achieve the above-mentioned purpose, the present application also provides a computer device, the computer device comprising a memory and a processor;
[0016] The memory is used to store computer programs;
[0017] The processor is used to execute the computer program and implement the voiceprint comparison method as described above when executing the computer program.
[0018] In addition, to achieve the above-mentioned purpose, the present application also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the above-mentioned voiceprint comparison method are implemented.
[0019] The present application discloses a voiceprint comparison method, apparatus, device and storage medium, which obtains first voice data and second voice data from different channels, inputs the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and inputs the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector, wherein the voice data from different channels correspond to different voiceprint recognition models, and then respectively inputs the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder model, maps the first voiceprint feature vector and the second voiceprint feature vector into a unified voiceprint feature space, obtains a third voiceprint feature vector corresponding to the first voiceprint feature vector, and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector, and determines a voiceprint comparison result of the first voice data and the second voice data according to the third voiceprint feature vector and the fourth voiceprint feature vector. Since the voiceprint comparison result is obtained based on the voiceprint feature vector of the unified voiceprint feature space, the accuracy of cross-channel voiceprint comparison is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0021] Figure 1 is a schematic flow chart of the steps of a voiceprint comparison method provided in an embodiment of the present application;
[0022] Figure 2 It is a schematic flow chart of the steps of training a voiceprint recognition model provided in an embodiment of the present application;
[0023] Figure 3 It is a schematic flow chart of the steps of an Encoder-Decoder model training provided in an embodiment of the present application;
[0024] Figure 4 It is a schematic flow chart of the steps of inputting the obtained multiple voiceprint feature vectors into an Encoder-Decoder model for model training to obtain a trained Encoder-Decoder model, provided by an embodiment of the present application;
[0025] Figure 5 It is a flow chart of an Encoder-Decoder model training provided in an embodiment of the present application;
[0026] Figure 6 is a schematic block diagram of a voiceprint comparison device provided in an embodiment of the present application;
[0027] Figure 7 It is a schematic block diagram of the structure of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0028] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0029] The flowcharts shown in the accompanying drawings are only examples and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may also be decomposed, combined or partially merged, so the actual execution order may change according to actual conditions.
[0030] It should be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.
[0031] It should also be understood that the term “and / or” used in the specification and appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0032] With the rapid development of artificial intelligence technology, voiceprint recognition technology has been widely used in many fields. For example, in the customer service system of banks, voiceprint recognition technology is used to identify the identity of customers. In actual application scenarios, since the voice of customers usually comes from multiple different channels, such as telephone channels, APP (Application) channels, etc., and the voices of the same customer in different channels are quite different, the accuracy of voiceprint feature comparison of voices from different channels is not high.
[0033] In order to solve the above problems, the embodiments of the present application provide a voiceprint comparison method, apparatus, device and storage medium for improving the accuracy of cross-channel voiceprint comparison.
[0034] See also Figure 1 , Figure 1 1 is a flow chart of a voiceprint comparison method provided in an embodiment of the present application. The method can be applied to a computer device, and the application scenario of the method is not limited in the present application.
[0035] like Figure 1 As shown, the voiceprint comparison method specifically includes steps S101 to S104.
[0036] S101. Acquire first voice data and second voice data, where the first voice data and the second voice data come from different channels.
[0037] The channels from which the voice data comes include telephone channels and non-telephone channels. Non-telephone channels include APP channels corresponding to relevant recording platforms / recording systems. For the same person, the voices in different channels will be quite different. For example, the voices recorded by the phone and the voices recorded by the APP of the same person are very different.
[0038] For the convenience of distinguishing descriptions, the two voice data from different channels to be subjected to voiceprint comparison are referred to as first voice data and second voice data below.
[0039] For example, taking the application scenario of a bank customer service system, the customer's first voice data and second voice data are obtained. For example, the first voice data is the customer's voice data from a telephone channel, and the second voice data is the customer's voice data from an APP channel.
[0040] S102. Input the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and input the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector; wherein voice data from different channels corresponds to different voiceprint recognition models.
[0041] For the voice data of different channels, the voiceprint recognition model corresponding to each channel is constructed, wherein the voiceprint recognition model can be GMM (Gaussian Mixture Model), HMM (Hidden Markov Model), etc. Of course, the voiceprint recognition model can also be other types of neural network models, such as DNN (Deep Neural Networks) model. Before calling the voiceprint recognition model, the voiceprint recognition model corresponding to each channel is first trained. Exemplarily, the voiceprint recognition model corresponding to each channel can be trained based on a supervised learning algorithm, for example, using a regression loss function.
[0042] In some embodiments, Figure 2 As shown, step S105 and step S106 may be included before step S101.
[0043] S105, obtaining speech training samples of multiple different channels;
[0044] S106: Input the speech training samples of each channel into the corresponding voiceprint recognition model for model training, and obtain a trained voiceprint recognition model corresponding to each channel.
[0045] For example, voice data from a telephone channel is obtained as a voice training sample for a voiceprint recognition model corresponding to the telephone channel, and voice data from an APP channel is obtained as a voice training sample for a voiceprint recognition model corresponding to the APP channel.
[0046] After obtaining the speech training samples of the telephone channel, the speech training samples of the telephone channel are input into the voiceprint recognition model corresponding to the telephone channel, and the voiceprint recognition model corresponding to the telephone channel is trained until the voiceprint recognition model corresponding to the telephone channel converges, thereby obtaining a trained voiceprint recognition model corresponding to the telephone channel. The voiceprint recognition model corresponding to the telephone channel can extract the voiceprint feature vector corresponding to the speech data of the telephone channel.
[0047] After obtaining the speech training samples of the APP channel, the speech training samples of the APP channel are input into the voiceprint recognition model corresponding to the APP channel, and the voiceprint recognition model corresponding to the APP channel is trained until the voiceprint recognition model corresponding to the APP channel converges, thereby obtaining the trained voiceprint recognition model corresponding to the APP channel. The voiceprint recognition model corresponding to the APP channel can extract the voiceprint feature vector corresponding to the speech data of the APP channel.
[0048] Based on speech training samples of multiple different channels, model training is performed on the voiceprint recognition model corresponding to each channel to obtain the trained voiceprint recognition model corresponding to each channel.
[0049] After obtaining the first voice data and the second voice data, the first voice data is input into the corresponding voiceprint recognition model according to the channel corresponding to the first voice data, voiceprint extraction is performed, and a voiceprint feature vector corresponding to the first voice data is obtained. For the convenience of distinguishing descriptions, the voiceprint recognition model corresponding to the channel of the first voice data is referred to as the first voiceprint recognition model, and the voiceprint feature vector corresponding to the first voice data is referred to as the first voiceprint feature vector.
[0050] According to the channel corresponding to the second voice data, the second voice data is input into the corresponding voiceprint recognition model to perform voiceprint extraction to obtain a voiceprint feature vector corresponding to the second voice data. In order to facilitate the distinction and description, the voiceprint recognition model corresponding to the channel of the second voice data is referred to as the second voiceprint recognition model, and the voiceprint feature vector corresponding to the second voice data is referred to as the second voiceprint feature vector.
[0051] It can be understood that the first voiceprint feature vector and the second voiceprint feature vector are voiceprint feature vectors of different channels.
[0052] In some embodiments, the step of inputting the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and the step of inputting the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector, includes: inputting telephone channel voice data into the first voiceprint recognition model to obtain the first voiceprint feature vector corresponding to the telephone channel; and inputting APP channel voice data into the second voiceprint recognition model to obtain the second voiceprint feature vector corresponding to the APP channel.
[0053] Still taking the above-mentioned example that the first voice data is voice data from the telephone channel and the second voice data is voice data from the APP channel as an example, the telephone channel voice data is input into the corresponding first voiceprint recognition model, voiceprint extraction is performed, and the first voiceprint feature vector of the telephone channel is obtained. The APP channel voice data is input into the corresponding second voiceprint recognition model, voiceprint extraction is performed, and the second voiceprint feature vector of the APP channel is obtained.
[0054] S103. Input the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder model respectively, map the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtain a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector.
[0055] In order to improve the accuracy of voiceprint comparison of different channels, an Encoder-Decoder model is constructed, where the Encoder-Decoder model can be a DNN model, a ResNet (Deep Residual Network) model, a Transformer (deep learning based on self-attention mechanism) model, etc. The Encoder-Decoder model can map the voiceprint feature vectors of different channels to a unified voiceprint feature space.
[0056] Before calling the Encoder-Decoder model, first train the Encoder-Decoder model, obtain the trained Encoder-Decoder model, and then call the Encoder-Decoder model.
[0057] In some embodiments, Figure 3 As shown, step S107 to step S109 may be included before step S101.
[0058] S107, obtaining voice data of the same person in different channels;
[0059] S108, inputting the voice data of each channel into the corresponding voiceprint recognition model to obtain the corresponding voiceprint feature vector;
[0060] S109: Input the obtained multiple voiceprint feature vectors into an Encoder-Decoder model for model training to obtain a trained Encoder-Decoder model.
[0061] For example, obtain a person's voice data from a telephone channel and the same person's voice data from an APP channel, then input the telephone channel voice data into the voiceprint recognition model corresponding to the telephone channel, perform voiceprint extraction, and obtain the voiceprint feature vector corresponding to the telephone channel, and input the APP channel voice data into the voiceprint recognition model corresponding to the APP channel, perform voiceprint extraction, and obtain the voiceprint feature vector corresponding to the APP channel.
[0062] Afterwards, the Encoder-Decoder model is trained according to the voiceprint feature vector corresponding to the telephone channel and the voiceprint feature vector corresponding to the APP channel to obtain a trained Encoder-Decoder model. For example, the voiceprint feature vector corresponding to the telephone channel and the voiceprint feature vector corresponding to the APP channel are input into the Encoder-Decoder model to obtain the voiceprint feature mapping vector corresponding to the telephone channel and the voiceprint feature mapping vector corresponding to the APP channel in a unified voiceprint feature space. Since the voiceprint feature mapping vector corresponding to the telephone channel and the voiceprint feature mapping vector corresponding to the APP channel are mapped to a unified voiceprint feature space, the cosine distance between the voiceprint feature mapping vector corresponding to the telephone channel and the voiceprint feature mapping vector corresponding to the APP channel can be accurately calculated, and the cosine distance is used as the loss function loss for the training of the Encoder-Decoder model. Based on the loss function loss, the parameters of the Encoder-Decoder model are updated and optimized until the loss function loss converges to obtain a trained Encoder-Decoder model.
[0063] In some embodiments, Figure 4 As shown, step S109 may include sub-step S1091 and sub-step S1092.
[0064] S1091, taking each channel as a target channel in turn, inputting the voiceprint feature vector corresponding to the target channel into the Encoder-Decoder model corresponding to the target channel, and obtaining a voiceprint feature mapping vector mapped to a unified voiceprint feature space;
[0065] S1092. Perform iterative training and optimization on the Encoder-Decoder model corresponding to the target channel according to the voiceprint feature mapping vector until the Encoder-Decoder model corresponding to the target channel converges, thereby obtaining a trained Encoder-Decoder model corresponding to the target channel.
[0066] For example, for the telephone channel and the APP channel, an Encoder-Decoder model corresponding to the telephone channel and an Encoder-Decoder model corresponding to the APP channel are designed. The Encoder-Decoder model corresponding to the telephone channel and the Encoder-Decoder model corresponding to the APP channel can encode the voiceprint feature vectors of their respective corresponding channels and then decode them into voiceprint feature vectors in a unified voiceprint feature space.
[0067] In order to train the Encoder-Decoder model corresponding to the phone channel and the Encoder-Decoder model corresponding to the APP channel, for example, Figure 5 As shown in the figure, a recording of a person is selected from the telephone channel voice set to obtain voice data A, and another recording of the same person is selected from the APP channel voice set to obtain voice data B. Then, voice data A is input into the voiceprint recognition model 1 corresponding to the telephone channel to extract the voiceprint and obtain the voiceprint feature vector e1, and voice data B is input into the voiceprint recognition model 2 corresponding to the APP channel to extract the voiceprint and obtain the voiceprint feature vector e2.
[0068] After that, the voiceprint feature vector e1 is input into the Encoder-Decoder model corresponding to the telephone channel, the voiceprint feature vector e1 is encoded, and then decoded into a voiceprint feature mapping vector e3 of a unified voiceprint feature space. The voiceprint feature vector e2 is input into the Encoder-Decoder model corresponding to the APP channel, the voiceprint feature vector e2 is encoded, and then decoded into a voiceprint feature mapping vector e4 of a unified voiceprint feature space.
[0069] After obtaining the voiceprint feature mapping vector e3 and the voiceprint feature mapping vector e4, since the voiceprint feature mapping vector e3 and the voiceprint feature mapping vector e4 are mapped in a unified voiceprint feature space, the cosine loss (CosineLoss) of the Encoder-Decoder model corresponding to the telephone channel can be obtained according to the voiceprint feature mapping vector e3 and the voiceprint feature mapping vector e4, and the parameters of the Encoder-Decoder model corresponding to the telephone channel are updated based on the cosine loss until the Encoder-Decoder model corresponding to the telephone channel converges, thereby obtaining the trained Encoder-Decoder model corresponding to the telephone channel.
[0070] The training method of the Encoder-Decoder model corresponding to the APP channel is the same as the training method of the Encoder-Decoder model corresponding to the phone channel, so it will not be repeated here.
[0071] In some embodiments, the iterative training and optimization of the Encoder-Decoder model corresponding to the target channel according to the voiceprint feature mapping vector until the Encoder-Decoder model corresponding to the target channel converges to obtain the trained Encoder-Decoder model corresponding to the target channel, including: calculating the cosine distance between the voiceprint feature mapping vector and the voiceprint feature mapping vectors corresponding to other channels, using the cosine distance as the loss function value of the Encoder-Decoder model corresponding to the target channel, iteratively training and optimizing the Encoder-Decoder model corresponding to the target channel until the loss function value converges to obtain the trained Encoder-Decoder model corresponding to the target channel.
[0072] For example, taking the Encoder-Decoder model corresponding to the telephone channel as an example, after obtaining the voiceprint feature mapping vector e3 and the voiceprint feature mapping vector e4, since the voiceprint feature mapping vector e3 and the voiceprint feature mapping vector e4 are mapped in a unified voiceprint feature space, the cosine distance between the voiceprint feature mapping vector e3 and the voiceprint feature mapping vector e4 can be accurately calculated, and the cosine distance between the voiceprint feature mapping vector e3 and the voiceprint feature mapping vector e4 is used as the loss function loss for training the Encoder-Decoder model corresponding to the telephone channel. Based on the loss function loss, the parameters of the Encoder-Decoder model corresponding to the telephone channel are updated and optimized until the loss function loss converges, and the trained Encoder-Decoder model corresponding to the telephone channel is obtained.
[0073] The training method of the Encoder-Decoder model corresponding to other channels is the same as the training method of the Encoder-Decoder model corresponding to the telephone channel, so it will not be repeated here.
[0074] After obtaining the first voiceprint feature vector corresponding to the first voice data and the second voiceprint feature vector corresponding to the second voice data, the first voiceprint feature vector and the second voiceprint feature vector are mapped to a unified voiceprint feature space through the trained Encoder-Decoder model to obtain a voiceprint feature vector in which the first voiceprint feature vector and the second voiceprint feature vector are mapped to the unified voiceprint feature space. For the convenience of distinguishing descriptions, the voiceprint feature vector in which the first voiceprint feature vector is mapped to the unified voiceprint feature space is referred to as the third voiceprint feature vector, and the voiceprint feature vector in which the second voiceprint feature vector is mapped to the unified voiceprint feature space is referred to as the fourth voiceprint feature vector.
[0075] In some embodiments, the step of respectively inputting the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder encoder-decoder model, mapping the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtaining a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector comprises: inputting the first voiceprint feature vector into a corresponding first Encoder-Decoder model to obtain the third voiceprint feature vector, and inputting the second voiceprint feature vector into a corresponding second Encoder-Decoder model to obtain the fourth voiceprint feature vector; wherein, voiceprint feature vectors corresponding to different channels correspond to different Encoder-Decoder models, and each Encoder-Decoder model maps the voiceprint feature vectors of the corresponding channels to a unified voiceprint feature space.
[0076] For example, the first voiceprint feature vector is the voiceprint feature vector corresponding to the telephone channel, the second voiceprint feature vector is the voiceprint feature vector corresponding to the APP channel, the first Encoder-Decoder model is the Encoder-Decoder model corresponding to the telephone channel, the second Encoder-Decoder model is the Encoder-Decoder model corresponding to the APP channel, the first voiceprint feature vector is input into the first Encoder-Decoder model, the first voiceprint feature vector is encoded, and then decoded into a third voiceprint feature vector in a unified voiceprint feature space. And the second voiceprint feature vector is input into the second Encoder-Decoder model, the second voiceprint feature vector is encoded, and then decoded into a fourth voiceprint feature vector in a unified voiceprint feature space.
[0077] S104: Determine a voiceprint comparison result between the first voice data and the second voice data according to the third voiceprint feature vector and the fourth voiceprint feature vector.
[0078] After obtaining the third voiceprint feature vector and the fourth voiceprint feature vector, since the third voiceprint feature vector and the fourth voiceprint feature vector are mapped to a unified voiceprint feature space, the similarity between the third voiceprint feature vector and the fourth voiceprint feature vector can be accurately calculated. Based on the similarity between the third voiceprint feature vector and the fourth voiceprint feature vector, the voiceprint comparison result of the first voice data and the second voice data is determined, and it is determined whether the first voice data and the second voice data are voice data of the same person from different channels. For example, a similarity threshold is set in advance. If the similarity between the third voiceprint feature vector and the fourth voiceprint feature vector is greater than or equal to the similarity threshold, it is determined that the first voice data and the second voice data are voice data of the same person from different channels. Conversely, if the similarity between the third voiceprint feature vector and the fourth voiceprint feature vector is less than the similarity threshold, it is determined that the first voice data and the second voice data are voice data of different people.
[0079] In the above embodiment, by acquiring the first voice data and the second voice data from different channels, the first voice data is input into the corresponding first voiceprint recognition model to obtain the first voiceprint feature vector, and the second voice data is input into the corresponding second voiceprint recognition model to obtain the second voiceprint feature vector, wherein the voice data of different channels corresponds to different voiceprint recognition models, and then the first voiceprint feature vector and the second voiceprint feature vector are respectively input into the Encoder-Decoder model, the first voiceprint feature vector and the second voiceprint feature vector are mapped to a unified voiceprint feature space, and the third voiceprint feature vector corresponding to the first voiceprint feature vector and the fourth voiceprint feature vector corresponding to the second voiceprint feature vector are obtained, and the voiceprint comparison result of the first voice data and the second voice data is determined according to the third voiceprint feature vector and the fourth voiceprint feature vector. Since the voiceprint comparison result is obtained based on the voiceprint feature vector of the unified voiceprint feature space, the accuracy of the cross-channel voiceprint comparison is improved.
[0080] See also Figure 6 , Figure 6 It is a schematic block diagram of a voiceprint comparison device provided in an embodiment of the present application. The voiceprint comparison device can be configured in a computer device to execute the aforementioned voiceprint comparison method.
[0081] like Figure 6 As shown, the voiceprint comparison device 1000 includes: a speech acquisition module 1001, a voiceprint recognition module 1002, a voiceprint encoding and decoding module 1003, and a voiceprint processing module 1004.
[0082] A voice acquisition module 1001 is used to acquire first voice data and second voice data, where the first voice data and the second voice data are from different channels;
[0083] The voiceprint recognition module 1002 is used to input the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and input the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector; wherein voice data of different channels correspond to different voiceprint recognition models;
[0084] The voiceprint encoding and decoding module 1003 is used to input the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder encoder-decoder model respectively, map the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtain a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector;
[0085] The voiceprint processing module 1004 is used to determine the voiceprint comparison result of the first voice data and the second voice data according to the third voiceprint feature vector and the fourth voiceprint feature vector.
[0086] In one embodiment, the voiceprint encoding and decoding module 1003 is further used to:
[0087] The first voiceprint feature vector is input into the corresponding first Encoder-Decoder model to obtain the third voiceprint feature vector, and the second voiceprint feature vector is input into the corresponding second Encoder-Decoder model to obtain the fourth voiceprint feature vector; wherein, the voiceprint feature vectors corresponding to different channels correspond to different Encoder-Decoder models, and each Encoder-Decoder model maps the voiceprint feature vectors of the corresponding channels to a unified voiceprint feature space.
[0088] In one embodiment, the channel includes a telephone channel and an APP application channel, the first voice data is the telephone channel voice data, the second voice data is the APP channel voice data, the first voiceprint recognition model is the voiceprint recognition model corresponding to the telephone channel, the second voiceprint recognition model is the voiceprint recognition model corresponding to the APP channel, and the voiceprint recognition module 1002 is further used to:
[0089] Input the telephone channel voice data into the first voiceprint recognition model to obtain the first voiceprint feature vector corresponding to the telephone channel; and input the APP channel voice data into the second voiceprint recognition model to obtain the second voiceprint feature vector corresponding to the APP channel.
[0090] In one embodiment, the voiceprint comparison device 1000 further includes a first training module for:
[0091] Acquire speech training samples of multiple different channels;
[0092] The speech training samples of each channel are input into the corresponding voiceprint recognition model for model training to obtain a trained voiceprint recognition model corresponding to each channel.
[0093] In one embodiment, the voiceprint comparison device 1000 further includes a second training module for:
[0094] Get voice data of the same person in different channels;
[0095] Input the voice data of each channel into the corresponding voiceprint recognition model to obtain the corresponding voiceprint feature vector;
[0096] The obtained multiple voiceprint feature vectors are input into the Encoder-Decoder model for model training to obtain a trained Encoder-Decoder model.
[0097] In one embodiment, the second training module is further used for:
[0098] Taking each channel as a target channel in turn, inputting the voiceprint feature vector corresponding to the target channel into the Encoder-Decoder model corresponding to the target channel, and obtaining a voiceprint feature mapping vector mapped to a unified voiceprint feature space;
[0099] The Encoder-Decoder model corresponding to the target channel is iteratively trained and optimized according to the voiceprint feature mapping vector until the Encoder-Decoder model corresponding to the target channel converges, so as to obtain a trained Encoder-Decoder model corresponding to the target channel.
[0100] In one embodiment, the second training module is further used for:
[0101] Calculate the cosine distance between the voiceprint feature mapping vector and the voiceprint feature mapping vectors corresponding to other channels, use the cosine distance as the loss function value of the Encoder-Decoder model corresponding to the target channel, perform iterative training and optimization on the Encoder-Decoder model corresponding to the target channel until the loss function value converges, and obtain the trained Encoder-Decoder model corresponding to the target channel.
[0102] Among them, each module in the above-mentioned voiceprint comparison device 1000 corresponds to each step in the above-mentioned voiceprint comparison method embodiment, and its function and implementation process will not be repeated here one by one.
[0103] The method and apparatus of the present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.
[0104] Exemplarily, the above method and apparatus may be implemented in the form of a computer program. The computer program may be implemented in the form of a computer program. Figure 7 Runs on the computer device shown.
[0105] See also Figure 7 , Figure 7 It is a schematic block diagram of the structure of a computer device provided in an embodiment of the present application.
[0106] See also Figure 7 The computer device includes a processor and a memory connected via a system bus, wherein the memory may include a non-volatile storage medium and an internal memory.
[0107] The processor is used to provide computing and control capabilities and support the operation of the entire computer equipment.
[0108] The internal memory provides an environment for the operation of the computer program in the non-volatile storage medium. When the computer program is executed by the processor, the processor can execute any voiceprint comparison method.
[0109] It should be understood that the processor may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0110] In one embodiment, the processor is used to run a computer program stored in the memory to implement the following steps:
[0111] Acquire first voice data and second voice data, where the first voice data and the second voice data come from different channels;
[0112] Inputting the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and inputting the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector; wherein voice data of different channels correspond to different voiceprint recognition models;
[0113] Inputting the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder model respectively, mapping the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtaining a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector;
[0114] A voiceprint comparison result between the first voice data and the second voice data is determined according to the third voiceprint feature vector and the fourth voiceprint feature vector.
[0115] In one embodiment, when the processor implements the inputting of the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder model respectively, mapping the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtaining a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector, the processor is used to implement:
[0116] The first voiceprint feature vector is input into the corresponding first Encoder-Decoder model to obtain the third voiceprint feature vector, and the second voiceprint feature vector is input into the corresponding second Encoder-Decoder model to obtain the fourth voiceprint feature vector; wherein, the voiceprint feature vectors corresponding to different channels correspond to different Encoder-Decoder models, and each Encoder-Decoder model maps the voiceprint feature vectors of the corresponding channels to a unified voiceprint feature space.
[0117] In one embodiment, the channel includes a telephone channel and an APP application channel, the first voice data is the telephone channel voice data, the second voice data is the APP channel voice data, the first voiceprint recognition model is the voiceprint recognition model corresponding to the telephone channel, and the second voiceprint recognition model is the voiceprint recognition model corresponding to the APP channel. When the processor implements the inputting of the first voice data into the corresponding first voiceprint recognition model to obtain the first voiceprint feature vector, and the inputting of the second voice data into the corresponding second voiceprint recognition model to obtain the second voiceprint feature vector, it is used to implement:
[0118] Input the telephone channel voice data into the first voiceprint recognition model to obtain the first voiceprint feature vector corresponding to the telephone channel; and input the APP channel voice data into the second voiceprint recognition model to obtain the second voiceprint feature vector corresponding to the APP channel.
[0119] In one embodiment, before the processor implements the acquiring of the first voice data and the second voice data, wherein the first voice data and the second voice data are from different channels, the processor implements:
[0120] Acquire speech training samples of multiple different channels;
[0121] The speech training samples of each channel are input into the corresponding voiceprint recognition model for model training to obtain a trained voiceprint recognition model corresponding to each channel.
[0122] In one embodiment, before the processor implements the acquiring of the first voice data and the second voice data, wherein the first voice data and the second voice data are from different channels, the processor implements:
[0123] Get voice data of the same person in different channels;
[0124] Input the voice data of each channel into the corresponding voiceprint recognition model to obtain the corresponding voiceprint feature vector;
[0125] The obtained multiple voiceprint feature vectors are input into the Encoder-Decoder model for model training to obtain a trained Encoder-Decoder model.
[0126] In one embodiment, when the processor implements inputting the obtained plurality of voiceprint feature vectors into an Encoder-Decoder model for model training to obtain a trained Encoder-Decoder model, it is configured to implement:
[0127] Taking each channel as a target channel in turn, inputting the voiceprint feature vector corresponding to the target channel into the Encoder-Decoder model corresponding to the target channel, and obtaining a voiceprint feature mapping vector mapped to a unified voiceprint feature space;
[0128] The Encoder-Decoder model corresponding to the target channel is iteratively trained and optimized according to the voiceprint feature mapping vector until the Encoder-Decoder model corresponding to the target channel converges, so as to obtain a trained Encoder-Decoder model corresponding to the target channel.
[0129] In one embodiment, the processor, when implementing the iterative training and optimization of the Encoder-Decoder model corresponding to the target channel according to the voiceprint feature mapping vector until the Encoder-Decoder model corresponding to the target channel converges and obtains the trained Encoder-Decoder model corresponding to the target channel, is used to implement:
[0130] Calculate the cosine distance between the voiceprint feature mapping vector and the voiceprint feature mapping vectors corresponding to other channels, use the cosine distance as the loss function value of the Encoder-Decoder model corresponding to the target channel, perform iterative training and optimization on the Encoder-Decoder model corresponding to the target channel until the loss function value converges, and obtain the trained Encoder-Decoder model corresponding to the target channel.
[0131] An embodiment of the present application also provides a computer-readable storage medium.
[0132] The computer-readable storage medium of the present application stores a computer program, and when the computer program is executed by a processor, the steps of the voiceprint comparison method as described above are implemented.
[0133] The computer-readable storage medium may be an internal storage unit of the voiceprint comparison device or computer device described in the above embodiments, such as a hard disk or memory of the voiceprint comparison device or computer device. The computer-readable storage medium may also be an external storage device of the voiceprint comparison device or computer device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital card (Secure Digital Card, SD Card), a flash card (Flash Card), etc., equipped on the voiceprint comparison device or computer device.
[0134] Furthermore, the computer-readable storage medium may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function, etc.; the data storage area may store data created according to the use of the blockchain node, etc.
[0135] The blockchain referred to in this application is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, platform product service layer, and application service layer.
[0136] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or system including the element.
[0137] The above description is only a specific implementation mode of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or substitutions within the technical scope disclosed in the present application, and these modifications or substitutions should be included in the protection scope of the present application.
Claims
1. A voiceprint comparison method, characterized in that: The voiceprint comparison method comprises: Acquire first voice data and second voice data, where the first voice data and the second voice data come from different channels; Inputting the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and inputting the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector; wherein voice data of different channels correspond to different voiceprint recognition models; Inputting the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder model respectively, mapping the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtaining a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector; A voiceprint comparison result between the first voice data and the second voice data is determined according to the third voiceprint feature vector and the fourth voiceprint feature vector.
2. The voiceprint comparison method according to claim 1, characterized in that: The step of inputting the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder model respectively, mapping the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtaining a third voiceprint feature vector corresponding to the first voiceprint feature vector and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector includes: The first voiceprint feature vector is input into the corresponding first Encoder-Decoder model to obtain the third voiceprint feature vector, and the second voiceprint feature vector is input into the corresponding second Encoder-Decoder model to obtain the fourth voiceprint feature vector; wherein, the voiceprint feature vectors corresponding to different channels correspond to different Encoder-Decoder models, and each Encoder-Decoder model maps the voiceprint feature vectors of the corresponding channels to a unified voiceprint feature space.
3. The voiceprint comparison method according to claim 1, characterized in that: The channel includes a telephone channel and an APP application channel, the first voice data is the telephone channel voice data, the second voice data is the APP channel voice data, the first voiceprint recognition model is the voiceprint recognition model corresponding to the telephone channel, the second voiceprint recognition model is the voiceprint recognition model corresponding to the APP channel, the inputting the first voice data into the corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and the inputting the second voice data into the corresponding second voiceprint recognition model to obtain a second voiceprint feature vector, comprises: Input the telephone channel voice data into the first voiceprint recognition model to obtain the first voiceprint feature vector corresponding to the telephone channel; and input the APP channel voice data into the second voiceprint recognition model to obtain the second voiceprint feature vector corresponding to the APP channel.
4. The voiceprint comparison method according to claim 1, characterized in that: The step of acquiring the first voice data and the second voice data, wherein the first voice data and the second voice data are from different channels, comprises: Acquire speech training samples of multiple different channels; The speech training samples of each channel are input into the corresponding voiceprint recognition model for model training to obtain a trained voiceprint recognition model corresponding to each channel.
5. The voiceprint comparison method according to claim 1, characterized in that: The step of acquiring the first voice data and the second voice data, wherein the first voice data and the second voice data are from different channels, comprises: Get voice data of the same person in different channels; Input the voice data of each channel into the corresponding voiceprint recognition model to obtain the corresponding voiceprint feature vector; The obtained multiple voiceprint feature vectors are input into the Encoder-Decoder model for model training to obtain a trained Encoder-Decoder model.
6. The voiceprint comparison method according to claim 5, characterized in that: The step of inputting the obtained plurality of voiceprint feature vectors into an Encoder-Decoder model for model training to obtain a trained Encoder-Decoder model includes: Taking each channel as a target channel in turn, inputting the voiceprint feature vector corresponding to the target channel into the Encoder-Decoder model corresponding to the target channel, and obtaining a voiceprint feature mapping vector mapped to a unified voiceprint feature space; The Encoder-Decoder model corresponding to the target channel is iteratively trained and optimized according to the voiceprint feature mapping vector until the Encoder-Decoder model corresponding to the target channel converges, so as to obtain a trained Encoder-Decoder model corresponding to the target channel.
7. The voiceprint comparison method according to claim 6, characterized in that: The iterative training and optimization of the Encoder-Decoder model corresponding to the target channel according to the voiceprint feature mapping vector until the Encoder-Decoder model corresponding to the target channel converges to obtain the trained Encoder-Decoder model corresponding to the target channel, including: Calculate the cosine distance between the voiceprint feature mapping vector and the voiceprint feature mapping vectors corresponding to other channels, use the cosine distance as the loss function value of the Encoder-Decoder model corresponding to the target channel, perform iterative training and optimization on the Encoder-Decoder model corresponding to the target channel until the loss function value converges, and obtain the trained Encoder-Decoder model corresponding to the target channel.
8. A voiceprint comparison device, characterized in that: The voiceprint comparison device comprises: A voice acquisition module, used to acquire first voice data and second voice data, where the first voice data and the second voice data are from different channels; a voiceprint recognition module, configured to input the first voice data into a corresponding first voiceprint recognition model to obtain a first voiceprint feature vector, and input the second voice data into a corresponding second voiceprint recognition model to obtain a second voiceprint feature vector; wherein voice data of different channels correspond to different voiceprint recognition models; a voiceprint encoding and decoding module, configured to input the first voiceprint feature vector and the second voiceprint feature vector into an Encoder-Decoder encoder-decoder model respectively, map the first voiceprint feature vector and the second voiceprint feature vector to a unified voiceprint feature space, and obtain a third voiceprint feature vector corresponding to the first voiceprint feature vector, and a fourth voiceprint feature vector corresponding to the second voiceprint feature vector; The voiceprint processing module is used to determine the voiceprint comparison result of the first voice data and the second voice data according to the third voiceprint feature vector and the fourth voiceprint feature vector.
9. A computer device, characterized in that: The computer device includes a memory and a processor; The memory is used to store computer programs; The processor is used to execute the computer program and implement the voiceprint comparison method according to any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the voiceprint comparison method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Incoming identity confirmation method and device based on voiceprint recognition and voiceprint recognition system
CN107705791A
Voice data processing method, apparatus, computer device, and storage medium
CN109273010A
Voiceprint extraction model training method, voiceprint recognition method, voiceprint extraction model training device, voiceprint recognition device and medium
CN111524521A
Cross-scene voiceprint comparison method and device, equipment and storage medium
CN111653283A
Cross-channel voiceprint comparison method and system, computer equipment and storage medium
CN114023329A
