A multi-channel microphone array speech modulation method
Through multi-channel microphone array technology, the signal is decomposed and enhanced, and the array response is optimized with incident angle information, the problem of difficulty in positioning the voice signal direction of a single channel microphone is solved, effectively enhancing the main sound source signal and weakening the interference signal.
Patent Information
- Application Number
- CN202311003379.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-10
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2043-08-10
AI Technical Summary
The existing single-channel microphone voice enhancement technology cannot effectively locate the direction of the voice signal, resulting in difficult to weaken environmental and background noise interference, affecting the performance of voice recognition equipment.
A multi-channel microphone array is adopted to decompose the signal and combine the signal incident angle vector to build an array response signal weight model to enhance the characteristic information of the main sound source signal direction, and adjust the signal matrix according to the enhancement effect to optimize the microphone array response.
Effectively enhance the main sound source signal, weaken the interference signal, improve the signal-to-noise ratio of the voice signal, and improve the performance of voice recognition equipment.
Smart Images

Figure CN117037827B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of speech modulation, and in particular to a multi-channel microphone array speech modulation method. Background Art
[0002] With the rapid development of 5G / IoT technology, the requirements for speech recognition equipment in the fields of automatic speech recognition, smart home, etc. are getting higher and higher. However, interference from environmental and background noise will reduce the performance of such equipment. Single-channel microphone speech enhancement is currently relatively mature, but only using the time-frequency information present in the signal, it is impossible to find the direction of signal arrival, nor to improve the desired signal strength. In response to this problem, the present invention proposes a multi-channel microphone array speech modulation method, which uses a multi-channel microphone array to collect speech signals and locate the sound source of the speech signals, enhance the speech signals, and realize rapid modulation of the speech signals. Summary of the invention
[0003] In view of this, the present invention provides a multi-channel microphone array speech modulation method, the purpose of which is to: 1) construct a multi-channel microphone array modulation model, decompose the signal and combine the signal incident angle vector to obtain the characteristic information of signal sources in different directions, and then construct an array response signal weight that can enhance the characteristic information of the main sound source signal direction, and according to the enhancement effect of the main sound source signal direction after enhancement, if the enhancement effect is greater than a preset gain threshold, it is retained, otherwise the signal matrix is modulated to adjust the array response signal weight, and by generating multiple groups of source signals and source signal incident angle vectors, the multi-channel microphone array modulation model is used to output the array response signal weight, so as to form a training data set for a deep multi-channel microphone array response weight generation model, Realize the generation of training data sets; 2) Combine the gradient of the parameters to be optimized and the iteration coefficient that characterizes the iteration efficiency to quickly iterate the parameters to be optimized in the deep multi-channel microphone array response weight generation model. If the iteration step size of the previous iteration is large, the iteration step size of this iteration is also large, so that a larger iteration step size is achieved in the early iteration and a smaller iteration step size is achieved in the later iteration, which is helpful to solve the problem and obtain an accurate solution. The incident angles of different types of signals are extracted from the microphone signal to form an incident angle vector. The corresponding microphone array response signal weights are obtained using the optimal deep microphone array response signal weight generation model. The microphone array response signal weights are used to perform speech modulation on the current multi-channel microphone signal to enhance the main sound source signal and weaken the interference signal.
[0004] To achieve the above object, the present invention provides a multi-channel microphone array speech modulation method, comprising the following steps:
[0005] S1: construct a multi-channel microphone array modulation model, wherein the multi-channel microphone array modulation model takes a source signal and a source signal incident angle vector as input and takes an array response signal weight as output;
[0006] S2: Randomly generate multiple sets of source signals and source signal incident angle vectors, use a multi-channel microphone array modulation model to output array response signal weights, and form a training data set;
[0007] S3: Build a deep multi-channel microphone array response weight generation model;
[0008] S4: Rapidly optimize the deep multi-channel microphone array response weight generation model based on the training data set to obtain the optimal deep microphone array response signal weight generation model;
[0009] S5: Input the current multi-channel microphone signal into the optimal deep microphone array response signal weight generation model to obtain the corresponding microphone array response signal weight, and use the microphone array response signal weight to perform speech modulation on the current multi-channel microphone signal.
[0010] As a further improvement method of the present invention:
[0011] Optionally, constructing a multi-channel microphone array modulation model in step S1 includes:
[0012] Construct a multi-channel microphone array modulation model, wherein the multi-channel microphone array modulation model takes a source signal and a source signal incident angle vector as input and takes an array response signal weight as output, wherein the multi-channel microphone array modulation model includes a receiving module, a decomposition module and an array response signal weight calculation module;
[0013] The receiving module is used to receive a source signal and a source signal incident angle vector, wherein the source signal is a mixed signal received by the microphone array, the mixed signal includes a main sound source signal and an interference signal, and the source signal incident angle vector includes the angle at which the main sound source signal and the interference signal reach the microphone; in an embodiment of the present invention, the main sound source signal is a speech signal of the current speaker;
[0014] The decomposition module is used to decompose the received source signal;
[0015] The array response signal weight calculation module is used to calculate the array response signal weight corresponding to the source signal based on the source signal decomposition result and the source signal incident angle vector. In an embodiment of the present invention, the array response signal weight is used to perform voice modulation on the source signal to reduce the interference of the interference signal on the main sound source signal.
[0016] Optionally, in step S2, a plurality of groups of source signals and source signal incident angle vectors are randomly generated, and array response signal weights are output using a multi-channel microphone array modulation model, including:
[0017] Randomly generate multiple sets of source signals and source signal incident angle vectors:
[0018] {(X n ,θ n )|n∈[1,N]}
[0019]
[0020]
[0021]
[0022] in:
[0023] T stands for transpose;
[0024] (X n ,θ n ) represents the nth group of source signals and the source signal incident angle vector generated, X n represents the nth group of source signals, θ n represents the nth group of source signal incident angle vectors, and N represents the number of groups of generated source signals and source signal incident angle vectors;
[0025] Represents X n The signal received by the mth microphone in the figure, the distance between adjacent microphones is D, t represents the timing information, t∈[t1,t S ], t1 represents the initial time of the source signal, t S represents the cut-off time of the source signal, Indicates signal In t s The signal value at the time, M represents the number of microphones in the microphone array;
[0026] represents the incident angle of the main sound source signal, represents the incident angle of the kth interference signal, and K represents the total number of interference signals; in the embodiment of the present invention, the incident angle of the signal is the angle between the signal source and the microphone array;
[0027] The array response signal weight is outputted using a multi-channel microphone array modulation model, wherein the array response signal weight calculation process based on the nth group of source signals and the source signal incident angle vector of the multi-channel microphone array modulation model is as follows:
[0028] S21: The receiving module receives the nth group of source signals and the source signal incident angle vector (X n ,θ n ), and X n Convert to covariance matrix Cov n :
[0029]
[0030] S22: Decomposition module for the covariance matrix Cov n Perform eigendecomposition and sort the K+1 eigenvalues obtained from the decomposition in descending order:
[0031]
[0032] in:
[0033] is the covariance matrix Cov n The largest eigenvalue obtained by decomposition represents the eigenvalue and eigenvector of the main sound source signal;
[0034] represents the characteristic value of the kth interference signal;
[0035] S23: The array response signal weight calculation module converts the source signal incident angle vector θ n Convert to the steering vector matrix C n :
[0036] C n =[C n (θ0),C n (θ1),...,C n (θ k ),...,C n (θ K )]
[0037]
[0038] in:
[0039] j represents the imaginary unit;
[0040] C n (θ0) represents X n The steering vector of the main sound source signal, C n (θ k ) represents the steering vector of the k-th interference signal;
[0041] D represents the spacing between adjacent microphones, and e represents a natural constant;
[0042] S24: Calculate the array response signal weight Wn :
[0043]
[0044] in:
[0045] (·) H represents the conjugate transpose process;
[0046] S26: Construct the signal gain function G(W) of the main sound source signal direction n ):
[0047]
[0048] If G(W n ) is greater than the preset gain threshold, then W n As output result;
[0049] Otherwise, for Cov n Make adjustments:
[0050]
[0051] in:
[0052] Cov n ′ is based on the array response signal weight W n The adjusted covariance matrix;
[0053] And based on the covariance matrix Cov n ' Calculate the adjusted array response signal weight W n ′:
[0054]
[0055] If G(W n ) <G(W n ′), then W n ′ as the output result, otherwise W n As the output result.
[0056] Optionally, in step S2, the generated results and the model output results constitute a training data set, including:
[0057] The generated source signal and source signal incident angle vector, as well as the array response signal weight output by the multi-channel microphone array modulation model are used as training data to form a training data set data:
[0058]
[0059] in:
[0060] Represents the nth group of training data in the training data set data, To X n ,θ n Input into the multi-channel microphone array modulation model, and the model outputs the array response signal weight.
[0061] Optionally, the deep multi-channel microphone array response weight generation model constructed in step S3 includes:
[0062] A deep multi-channel microphone array response weight generation model is constructed, wherein the deep multi-channel microphone array response weight generation model includes an input layer, an incident angle vector generation layer, a feature extraction layer, and a microphone array response signal weight mapping layer; the feature extraction layer includes several convolution layers, and the weight parameters and bias parameters in the convolution layers and the mapping matrix in the microphone array response signal weight mapping layer are parameters to be trained and optimized;
[0063] The input layer is used to receive multi-channel microphone signals, the incident angle vector generation layer is used to reconstruct the incident angle vector from the multi-channel microphone signals, the feature extraction layer is used to extract features from the incident angle vector, and the microphone array response signal weight mapping layer is used to map the feature extraction results to the microphone array response signal weights.
[0064] Optionally, in step S4, the deep multi-channel microphone array response weight generation model is rapidly optimized based on the training data set, including:
[0065] The deep multi-channel microphone array response weight generation model is quickly optimized based on the training data set, and the optimized model parameters are used to construct the optimal deep microphone array response signal weight generation model. The model optimization process is as follows:
[0066] S41: Construct the objective function of model optimization based on the training data set data:
[0067]
[0068] f β (θ n )=w T σ2{[σ1(V1θ n +b1)+σ1(V2θ n +b2)]V3+b3}
[0069] in:
[0070] β represents the parameter to be optimized, β = [w, V1, V2, V3, b1, b2, b3], where w represents the mapping matrix in the microphone array response signal weight mapping layer, V1, V2, V3 represent the weight parameters of the three convolutional layers in the feature extraction layer, and b1, b2, b3 represent the bias parameters of the three convolutional layers in the feature extraction layer;
[0071] σ1(·) represents the ReLU activation function, σ2(·) represents the tanh activation function;
[0072] S42: randomly initialize and generate a parameter to be optimized β(0), and set the current iteration number of the parameter to be optimized to r, and the maximum iteration number to Max, then the parameter to be optimized obtained in the rth iteration is β(r), and the initial value of r is 0;
[0073] S43: Calculate the gradient of the parameter to be optimized like If β(r) is less than a preset threshold, the update iteration of the parameter to be optimized is terminated, β(r) is taken as the parameter optimization result and the optimal depth microphone array response signal weight generation model is constructed, otherwise, the process goes to step S44; in the embodiment of the present invention, the parameter to be optimized includes multiple types of parameters, and the gradient of the parameter to be optimized is to perform gradient calculations on different types of parameters respectively, and take the gradient vector composed of the gradients of different parameters as the gradient of the parameter to be optimized;
[0074] S44: Update the parameters to be optimized:
[0075]
[0076]
[0077]
[0078] a r―1 =β(r)-β(r-1),a0=β(0)
[0079]
[0080] in:
[0081] δ(r) represents the iteration coefficient of the r+1th iteration, E r Represents the step size matrix of the r+1th iteration;
[0082] a r―1 ,q r―1 are the iteration parameters for r+1 iterations respectively;
[0083] I represents the identity matrix, E0 represents the identity matrix;
[0084] S45: Let r=r+1, and return to step S43.
[0085] Optionally, in step S5, the current multi-channel microphone signal is input into an optimal deep microphone array response signal weight generation model to obtain corresponding microphone array response signal weights, including:
[0086] The current multi-channel microphone signal X is input into the optimal deep microphone array response signal weight generation model. The microphone array response signal weight generation process based on the optimal deep microphone array response signal weight generation model is:
[0087] S51: The input layer converts the multi-channel microphone signal X into a covariance matrix Cov, and performs eigendecomposition on the covariance matrix Cov, and decomposes the K+1 eigenvalues obtained in descending order:
[0088] (λ0,λ1,...,λ k ,...,λ K )
[0089] Modify the feature values below the preset threshold to 0;
[0090] S52: Construct and obtain K+1 angle solution parameters:
[0091] G M―1 [1,G,G 2 ,...,G M―1 ] H λλ T [1,G,G 2 ,...,G M―1 ]=1
[0092] λ=(λ0,λ1,...,λ k ,...,λ K )
[0093] in:
[0094] G represents the unknown parameter in the above equation, G k represents the kth largest parameter that satisfies the above formula;
[0095] S53: The incident angle vector generation layer calculates the incident angle θ of the main sound source signal in the multi-channel microphone signal X 0 :
[0096]
[0097] in:
[0098] Im(·) means extracting the imaginary part, and Re(·) means extracting the real part;
[0099] The incident angle vector generation layer calculates the incident angle θ of the kth interference signal in the multi-channel microphone signal X k :
[0100]
[0101] Construct the incident angle vector θ of the multi-channel microphone signal X = (θ 0 ,θ 1 ,...,θ k ,...,θ K );
[0102] S54: Input the incident angle vector into the feature extraction layer to obtain the feature extraction result f(θ), and input the feature extraction result into the microphone array response signal weight mapping layer to obtain the microphone array response signal weight:
[0103] ω=(w * ) T f(θ)
[0104] in:
[0105] w * Represents a mapping matrix in a microphone array response signal weight mapping layer in an optimal deep microphone array response signal weight generation model;
[0106] ω represents the microphone array response signal weight of the multi-channel microphone signal X.
[0107] Optionally, in step S5, using the microphone array response signal weight to perform voice modulation on the current multi-channel microphone signal includes:
[0108] The microphone array response signal weight is used to perform voice modulation on the current multi-channel microphone signal, where the voice modulation formula is:
[0109] X′=ωX
[0110] in:
[0111] X′ represents the speech modulation result of the current multi-channel microphone signal.
[0112] In order to solve the above problem, the present invention provides an electronic device, the electronic device comprising:
[0113] A memory storing at least one instruction;
[0114] Communication interface, enabling electronic equipment to communicate; and
[0115] The processor executes the instructions stored in the memory to implement the multi-channel microphone array speech modulation method described above.
[0116] In order to solve the above problem, the present invention also provides a computer-readable storage medium, in which at least one instruction is stored. The at least one instruction is executed by a processor in an electronic device to implement the multi-channel microphone array speech modulation method described above.
[0117] Compared with the prior art, the present invention proposes a multi-channel microphone array speech modulation method, which has the following advantages:
[0118] First, this scheme proposes a method for calculating the weight of array response signals. The receiving module receives the nth group of source signals and the source signal incident angle vector (X n ,θ n ), and X n Convert to covariance matrix Cov n :
[0119] Decomposition module for the covariance matrix Cov n Perform eigendecomposition and sort the K+1 eigenvalues obtained from the decomposition in descending order:
[0120]
[0121] in: is the covariance matrix Cov n The largest eigenvalue obtained by decomposition represents the eigenvalue and eigenvector of the main sound source signal; Represents the characteristic value of the kth interference signal; the array response signal weight calculation module converts the source signal incident angle vector θ n Convert to the steering vector matrix C n :
[0122] C n =[C n (θ0),C n (θ1),...,C n (θ k ),...,C n (θ K )]
[0123]
[0124] Where: j represents the imaginary unit; C n (θ0) represents X n The steering vector of the main sound source signal, C n (θ k ) represents the steering vector of the kth interference signal; D represents the distance between adjacent microphones, and e represents a natural constant; the array response signal weight W is calculated n:
[0125]
[0126] in:(·) H Represents conjugate transpose processing; constructs the signal gain function G(W) in the direction of the main sound source signal n ):
[0127] If G(W n ) is greater than the preset gain threshold, then W n As the output result; otherwise, Cov n Make adjustments:
[0128]
[0129] Among them: Cov n ′ is based on the array response signal weight W n The adjusted covariance matrix; and based on the covariance matrix Cov n ' Calculate the adjusted array response signal weight W n ′:
[0130]
[0131] If G(W n ) <G(W n ′), then W n ′ as the output result, otherwise W n As the output result. This solution constructs a multi-channel microphone array modulation model, decomposes the signal and combines it with the signal incident angle vector to obtain the characteristic information of signal sources in different directions, and then constructs the array response signal weight that can enhance the characteristic information of the main sound source signal direction, and according to the enhancement effect of the main sound source signal direction after enhancement, if the enhancement effect is greater than the preset gain threshold, it is retained, otherwise the signal matrix is modulated to adjust the array response signal weight, and by generating multiple groups of source signals and source signal incident angle vectors, the multi-channel microphone array modulation model is used to output the array response signal weight, forming a training data set for the deep multi-channel microphone array response weight generation model, and realizing the generation of the training data set.
[0132] At the same time, this scheme proposes a model parameter iterative optimization method, which quickly optimizes the deep multi-channel microphone array response weight generation model based on the training data set, and uses the optimized model parameters to construct the optimal deep microphone array response signal weight generation model. The model optimization process is as follows: Construct the objective function of model optimization based on the training data set data:
[0133]
[0134] f β (θ n )=w T σ2{[σ1(V1θ n +b1)+σ1(V2θ n +b2)]V3+b3}
[0135] Where: β represents the parameter to be optimized, β = [w, V1, V2, V3, b1, b2, b3], where w represents the mapping matrix in the microphone array response signal weight mapping layer, V1, V2, V3 represent the weight parameters of the three convolutional layers in the feature extraction layer, b1, b2, b3 represent the bias parameters of the three convolutional layers in the feature extraction layer; σ1(·) represents the ReLU activation function, σ2(·) represents the tanh activation function; the parameter to be optimized β(0) is randomly initialized, and the current iteration number of the parameter to be optimized is set to r, the maximum iteration number is Max, then the parameter to be optimized obtained in the rth iteration is β(r), and the initial value of r is 0; the gradient of the parameter to be optimized is calculated like If β(r) is less than the preset threshold, the update iteration of the parameters to be optimized is terminated, β(r) is used as the parameter optimization result and the optimal deep microphone array response signal weight generation model is constructed, otherwise go to the next step; update the parameters to be optimized:
[0136]
[0137]
[0138]
[0139] a r―1 =β(r)-β(r-1),a0=β(0)
[0140]
[0141] Where: δ(r) represents the iteration coefficient of the r+1th iteration, E r represents the step size matrix of the r+1th iteration; a r―1 ,q r―1are the iteration parameters for r+1 iterations respectively; I represents the unit matrix, and E0 represents the unit matrix; let r=r+1, and return to the gradient threshold judgment step. This scheme combines the gradient of the parameters to be optimized and the iteration coefficient that characterizes the iteration efficiency to quickly iterate the parameters to be optimized in the deep multi-channel microphone array response weight generation model. If the iteration step size of the previous iteration is large, the iteration step size of this iteration is also large, so that a large iteration step size is achieved in the early iteration and a small iteration step size is achieved in the later iteration, which is helpful for solving the accurate solution, and extracting the incident angles of different types of signals from the microphone signal to form an incident angle vector, and using the optimal deep microphone array response signal weight generation model to obtain the corresponding microphone array response signal weight, and using the microphone array response signal weight to perform speech modulation on the current multi-channel microphone signal, so as to enhance the main sound source signal and weaken the interference signal. BRIEF DESCRIPTION OF THE DRAWINGS
[0142] Figure 1 A schematic diagram of a flow chart of a multi-channel microphone array speech modulation method provided by an embodiment of the present invention;
[0143] Figure 2 A schematic diagram of the structure of an electronic device for implementing a multi-channel microphone array speech modulation method provided by an embodiment of the present invention.
[0144] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0145] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.
[0146] The embodiment of the present application provides a multi-channel microphone array voice modulation method. The execution subject of the multi-channel microphone array voice modulation method includes but is not limited to at least one of the electronic devices such as a server, a terminal, etc. that can be configured to execute the method provided by the embodiment of the present application. In other words, the multi-channel microphone array voice modulation method can be executed by software or hardware installed in a terminal device or a server device, and the software can be a blockchain platform. The server includes but is not limited to: a single server, a server cluster, a cloud server or a cloud server cluster, etc.
[0147] Embodiment 1:
[0148] S1: Construct a multi-channel microphone array modulation model, wherein the multi-channel microphone array modulation model takes a source signal and a source signal incident angle vector as input and takes an array response signal weight as output.
[0149] The multi-channel microphone array modulation model is constructed in step S1, including:
[0150] Construct a multi-channel microphone array modulation model, wherein the multi-channel microphone array modulation model takes a source signal and a source signal incident angle vector as input and takes an array response signal weight as output, wherein the multi-channel microphone array modulation model includes a receiving module, a decomposition module and an array response signal weight calculation module;
[0151] The receiving module is used to receive a source signal and a source signal incident angle vector, wherein the source signal is a mixed signal received by the microphone array, the mixed signal includes a main sound source signal and an interference signal, and the source signal incident angle vector includes the angle at which the main sound source signal and the interference signal reach the microphone; in an embodiment of the present invention, the main sound source signal is a speech signal of the current speaker;
[0152] The decomposition module is used to decompose the received source signal;
[0153] The array response signal weight calculation module is used to calculate the array response signal weight corresponding to the source signal based on the source signal decomposition result and the source signal incident angle vector.
[0154] S2: Randomly generate multiple groups of source signals and source signal incident angle vectors, use the multi-channel microphone array modulation model to output the array response signal weights, and form a training data set.
[0155] In the step S2, multiple groups of source signals and source signal incident angle vectors are randomly generated, and array response signal weights are output using a multi-channel microphone array modulation model, including:
[0156] Randomly generate multiple sets of source signals and source signal incident angle vectors:
[0157] {(X n ,θ n )|n∈[1,N]}
[0158]
[0159]
[0160]
[0161] in:
[0162] T stands for transpose;
[0163] (X n ,θ n ) represents the nth group of source signals and the source signal incident angle vector generated, X n represents the nth group of source signals, θ nrepresents the nth group of source signal incident angle vectors, and N represents the number of groups of generated source signals and source signal incident angle vectors;
[0164] Represents X n The signal received by the mth microphone in the figure, the distance between adjacent microphones is D, t represents the timing information, t∈[t1,t S ], t1 represents the initial time of the source signal, t S represents the cut-off time of the source signal, Indicates signal In t s The signal value at the time, M represents the number of microphones in the microphone array;
[0165] represents the incident angle of the main sound source signal, represents the incident angle of the kth interference signal, and K represents the total number of interference signals;
[0166] The array response signal weight is outputted using a multi-channel microphone array modulation model, wherein the array response signal weight calculation process based on the nth group of source signals and the source signal incident angle vector of the multi-channel microphone array modulation model is as follows:
[0167] S21: The receiving module receives the nth group of source signals and the source signal incident angle vector (X n ,θ n ), and X n Convert to covariance matrix Cov n :
[0168]
[0169] S22: Decomposition module for the covariance matrix Cov n Perform eigendecomposition and sort the K+1 eigenvalues obtained from the decomposition in descending order:
[0170]
[0171] in:
[0172] is the covariance matrix Cov n The largest eigenvalue obtained by decomposition represents the eigenvalue and eigenvector of the main sound source signal;
[0173] represents the characteristic value of the kth interference signal;
[0174] S23: The array response signal weight calculation module converts the source signal incident angle vector θ n Convert to the steering vector matrix Cn :
[0175] C n =[C n (θ0),C n (θ1),...,C n (θ k ),...,C n (θ K )]
[0176]
[0177] in:
[0178] j represents the imaginary unit;
[0179] C n (θ0) represents X n The steering vector of the main sound source signal, C n (θ k ) represents the steering vector of the k-th interference signal;
[0180] D represents the spacing between adjacent microphones, and e represents a natural constant;
[0181] S24: Calculate the array response signal weight W n :
[0182]
[0183] in:
[0184] (·) H represents the conjugate transpose process;
[0185] S26: Construct the signal gain function G(W) of the main sound source signal direction n ):
[0186]
[0187] If G(W n ) is greater than the preset gain threshold, then W n As output result;
[0188] Otherwise, for Cov n Make adjustments:
[0189]
[0190] in:
[0191] Cov n ′ is based on the array response signal weight W n The adjusted covariance matrix;
[0192] And based on the covariance matrix Cov n ' Calculate the adjusted array response signal weight W n ′:
[0193]
[0194] If G(W n ) <G(W n ′), then W n ′ as the output result, otherwise W n As the output result.
[0195] In the step S2, the generated results and the model output results constitute a training data set, including:
[0196] The generated source signal and source signal incident angle vector, as well as the array response signal weight output by the multi-channel microphone array modulation model are used as training data to form a training data set data:
[0197]
[0198] in:
[0199] Represents the nth group of training data in the training data set data, To X n ,θ n Input into the multi-channel microphone array modulation model, and the model outputs the array response signal weight.
[0200] S3: Build a deep multi-channel microphone array response weight generation model.
[0201] The deep multi-channel microphone array response weight generation model constructed in step S3 includes:
[0202] A deep multi-channel microphone array response weight generation model is constructed, wherein the deep multi-channel microphone array response weight generation model includes an input layer, an incident angle vector generation layer, a feature extraction layer, and a microphone array response signal weight mapping layer; the feature extraction layer includes several convolution layers, and the weight parameters and bias parameters in the convolution layers and the mapping matrix in the microphone array response signal weight mapping layer are parameters to be trained and optimized;
[0203] The input layer is used to receive multi-channel microphone signals, the incident angle vector generation layer is used to reconstruct the incident angle vector from the multi-channel microphone signals, the feature extraction layer is used to extract features from the incident angle vector, and the microphone array response signal weight mapping layer is used to map the feature extraction results to the microphone array response signal weights.
[0204] S4: Based on the training data set, the deep multi-channel microphone array response weight generation model is quickly optimized to obtain the optimal deep microphone array response signal weight generation model.
[0205] In the step S4, the deep multi-channel microphone array response weight generation model is rapidly optimized based on the training data set, including:
[0206] The deep multi-channel microphone array response weight generation model is quickly optimized based on the training data set, and the optimized model parameters are used to construct the optimal deep microphone array response signal weight generation model. The model optimization process is as follows:
[0207] S41: Construct the objective function of model optimization based on the training data set data:
[0208]
[0209] f β (θ n )=w T σ2{[σ1(V1θ n +b1)+σ1(V2θ n +b2)]V3+b3}
[0210] in:
[0211] β represents the parameter to be optimized, β = [w, V1, V2, V3, b1, b2, b3], where w represents the mapping matrix in the microphone array response signal weight mapping layer, V1, V2, V3 represent the weight parameters of the three convolutional layers in the feature extraction layer, and b1, b2, b3 represent the bias parameters of the three convolutional layers in the feature extraction layer;
[0212] σ1(·) represents the ReLU activation function, σ2(·) represents the tanh activation function;
[0213] S42: randomly initialize and generate a parameter to be optimized β(0), and set the current iteration number of the parameter to be optimized to r, and the maximum iteration number to Max, then the parameter to be optimized obtained in the rth iteration is β(r), and the initial value of r is 0;
[0214] S43: Calculate the gradient of the parameter to be optimized like If β(r) is less than a preset threshold, the update iteration of the parameter to be optimized is terminated, β(r) is used as the parameter optimization result and an optimal deep microphone array response signal weight generation model is constructed, otherwise, the process goes to step S44;
[0215] S44: Update the parameters to be optimized:
[0216]
[0217]
[0218]
[0219] a r―1 =β(r)-β(r-1),a0=β(0)
[0220]
[0221] in:
[0222] δ(r) represents the iteration coefficient of the r+1th iteration, E r Represents the step size matrix of the r+1th iteration;
[0223] a r―1 ,q r―1 are the iteration parameters for r+1 iterations respectively;
[0224] I represents the identity matrix, E0 represents the identity matrix;
[0225] S45: Let r=r+1, and return to step S43.
[0226] S5: Input the current multi-channel microphone signal into the optimal deep microphone array response signal weight generation model to obtain the corresponding microphone array response signal weight, and use the microphone array response signal weight to perform speech modulation on the current multi-channel microphone signal.
[0227] In the step S5, the current multi-channel microphone signal is input into the optimal depth microphone array response signal weight generation model to obtain the corresponding microphone array response signal weight, including:
[0228] The current multi-channel microphone signal X is input into the optimal deep microphone array response signal weight generation model. The microphone array response signal weight generation process based on the optimal deep microphone array response signal weight generation model is:
[0229] S51: The input layer converts the multi-channel microphone signal X into a covariance matrix Cov, and performs eigendecomposition on the covariance matrix Cov, and decomposes the K+1 eigenvalues obtained in descending order:
[0230] (λ0,λ1,...,λ k ,...,λ K )
[0231] Modify the feature values below the preset threshold to 0;
[0232] S52: Construct and obtain K+1 angle solution parameters:
[0233] G M―1 [1,G,G 2 ,...,G M―1 ] H λλ T [1,G,G 2 ,...,G M―1 ]=1
[0234] λ=(λ0,λ1,...,λ k ,...,λ K )
[0235] in:
[0236] G represents the unknown parameter in the above equation, G k represents the kth largest parameter that satisfies the above formula;
[0237] S53: The incident angle vector generation layer calculates the incident angle θ of the main sound source signal in the multi-channel microphone signal X 0 :
[0238]
[0239] in:
[0240] Im(·) means extracting the imaginary part, and Re(·) means extracting the real part;
[0241] The incident angle vector generation layer calculates the incident angle θ of the kth interference signal in the multi-channel microphone signal X k :
[0242]
[0243] Construct the incident angle vector θ of the multi-channel microphone signal X = (θ 0 ,θ 1 ,...,θ k ,...,θ K );
[0244] S54: Input the incident angle vector into the feature extraction layer to obtain the feature extraction result f(θ), and input the feature extraction result into the microphone array response signal weight mapping layer to obtain the microphone array response signal weight:
[0245] ω=(w * ) T f(θ)
[0246] in:
[0247] w *Represents a mapping matrix in a microphone array response signal weight mapping layer in an optimal deep microphone array response signal weight generation model;
[0248] ω represents the microphone array response signal weight of the multi-channel microphone signal X.
[0249] In the step S5, the microphone array response signal weight is used to perform voice modulation on the current multi-channel microphone signal, including:
[0250] The microphone array response signal weight is used to perform voice modulation on the current multi-channel microphone signal, where the voice modulation formula is:
[0251] X′=ωX
[0252] in:
[0253] X′ represents the speech modulation result of the current multi-channel microphone signal.
[0254] Embodiment 2:
[0255] like Figure 2 1 is a schematic diagram of the structure of an electronic device for implementing a multi-channel microphone array speech modulation method provided by an embodiment of the present invention.
[0256] The electronic device 1 may include a processor 10 , a memory 11 , a communication interface 13 and a bus, and may also include a computer program stored in the memory 11 and executable on the processor 10 , such as a program 12 .
[0257] The memory 11 includes at least one type of readable storage medium, and the readable storage medium includes a flash memory, a mobile hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a magnetic memory, a disk, an optical disk, etc. The memory 11 may be an internal storage unit of the electronic device 1 in some embodiments, such as a mobile hard disk of the electronic device 1. The memory 11 may also be an external storage device of the electronic device 1 in other embodiments, such as a plug-in mobile hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the electronic device 1. Further, the memory 11 may also include both an internal storage unit of the electronic device 1 and an external storage device. The memory 11 may be used not only to store application software and various types of data installed in the electronic device 1, such as the code of the program 12, etc., but also to temporarily store data that has been output or is to be output.
[0258] The processor 10 may be composed of an integrated circuit in some embodiments, for example, a single packaged integrated circuit, or a plurality of packaged integrated circuits with the same or different functions, including one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and a combination of various control chips, etc. The processor 10 is the control core (Control Unit) of the electronic device, and uses various interfaces and lines to connect various components of the entire electronic device, and executes or executes programs or modules stored in the memory 11 (such as a program 12 for implementing multi-channel microphone array voice modulation) and calls data stored in the memory 11 to execute various functions of the electronic device 1 and process data.
[0259] The communication interface 13 may include a wired interface and / or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), which is generally used to establish a communication connection between the electronic device 1 and other electronic devices, and to achieve connection and communication between internal components of the electronic device.
[0260] The bus may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. The bus is configured to realize connection and communication between the memory 11 and at least one processor 10, etc.
[0261] Figure 2 Only an electronic device with components is shown, and those skilled in the art will understand that Figure 2 The structure shown does not constitute a limitation on the electronic device 1, and may include fewer or more components than shown in the figure, or combine certain components, or arrange the components differently.
[0262] For example, although not shown, the electronic device 1 may also include a power source (such as a battery) for supplying power to each component. Preferably, the power source may be logically connected to the at least one processor 10 through a power management device, so that the power management device can realize functions such as charging management, discharging management, and power consumption management. The power source may also include any components such as one or more DC or AC power sources, recharging devices, power failure detection circuits, power converters or inverters, power status indicators, etc. The electronic device 1 may also include a variety of sensors, Bluetooth modules, Wi-Fi modules, etc., which will not be repeated here.
[0263] Optionally, the electronic device 1 may further include a user interface, which may be a display, an input unit (such as a keyboard), or a standard wired interface or a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, and an OLED (Organic Light-Emitting Diode) touch device. The display may also be appropriately referred to as a display screen or a display unit, which is used to display information processed in the electronic device 1 and to display a visual user interface.
[0264] It should be understood that the embodiment is for illustration only and the scope of the patent application is not limited to this structure.
[0265] The program 12 stored in the memory 11 in the electronic device 1 is a combination of multiple instructions. When running in the processor 10, it can achieve:
[0266] Build a multi-channel microphone array modulation model;
[0267] Randomly generate multiple groups of source signals and source signal incident angle vectors, use a multi-channel microphone array modulation model to output array response signal weights, and form a training data set;
[0268] Construct a deep multi-channel microphone array response weight generation model;
[0269] Rapidly optimize the deep multi-channel microphone array response weight generation model based on the training dataset;
[0270] The current multi-channel microphone signal is input into the optimal deep microphone array response signal weight generation model to obtain the corresponding microphone array response signal weight, and the microphone array response signal weight is used to perform speech modulation on the current multi-channel microphone signal.
[0271] Specifically, the specific implementation method of the processor 10 for the above instructions can refer to Figure 1 to Figure 2 The description of the relevant steps in the corresponding embodiments will not be repeated here.
[0272] It should be noted that the serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages and disadvantages of the embodiments. And the terms "including", "comprising" or any other variants thereof in this article are intended to cover non-exclusive inclusion, so that a process, device, article or method 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, device, article or method. In the absence of further restrictions, an element defined by the sentence "including a ..." does not exclude the presence of other identical elements in the process, device, article or method including the element.
[0273] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0274] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A multi-channel microphone array speech modulation method, characterized in that: The method comprises: S1: construct a multi-channel microphone array modulation model, wherein the multi-channel microphone array modulation model takes a source signal and a source signal incident angle vector as input and takes an array response signal weight as output; S2: Randomly generate multiple sets of source signals and source signal incident angle vectors, use a multi-channel microphone array modulation model to output array response signal weights, and form a training data set; S3: Build a deep multi-channel microphone array response weight generation model; S4: Rapidly optimize the deep multi-channel microphone array response weight generation model based on the training data set to obtain the optimal deep microphone array response signal weight generation model; The model optimization process is: S41: Construct the objective function of model optimization based on the training data set data: f β (i n )=w T σ2{[σ1(V1θ n +b1)+σ1(V2θ n +b2)]V3+b3} in: β represents the parameter to be optimized, β = [w, V1, V2, V3, b1, b2, b3], where w represents the mapping matrix in the microphone array response signal weight mapping layer, V1, V2, V3 represent the weight parameters of the three convolutional layers in the feature extraction layer, and b1, b2, b3 represent the bias parameters of the three convolutional layers in the feature extraction layer; σ1(·) represents the ReLU activation function, σ2(·) represents the tanh activation function; S42: randomly initialize and generate a parameter to be optimized β(0), and set the current iteration number of the parameter to be optimized to r, and the maximum iteration number to Max, then the parameter to be optimized obtained in the rth iteration is β(r), and the initial value of r is 0; S43: Calculate the gradient of the parameter to be optimized like If β(r) is less than a preset threshold, the update iteration of the parameter to be optimized is terminated, β(r) is taken as the parameter optimization result and an optimal deep microphone array response signal weight generation model is constructed, otherwise, the process goes to step S44; S44: Update the parameters to be optimized: a r-1 =β(r)-β(r-1),a0=β(0) in: δ(r) represents the iteration coefficient of the r+1th iteration, E r Represents the step size matrix of the r+1th iteration; a r-1 ,q r-1 are the iteration parameters for r+1 iterations respectively; I represents the identity matrix, E0 represents the identity matrix; S45: let r=r+1, and return to step S43; S5: Input the current multi-channel microphone signal into the optimal deep microphone array response signal weight generation model to obtain the corresponding microphone array response signal weight, and use the microphone array response signal weight to perform speech modulation on the current multi-channel microphone signal.
2. A multi-channel microphone array speech modulation method as claimed in claim 1, characterized in that: The multi-channel microphone array modulation model is constructed in step S1, including: Construct a multi-channel microphone array modulation model, wherein the multi-channel microphone array modulation model takes a source signal and a source signal incident angle vector as input and takes an array response signal weight as output, wherein the multi-channel microphone array modulation model includes a receiving module, a decomposition module and an array response signal weight calculation module; The receiving module is used to receive a source signal and a source signal incident angle vector, wherein the source signal is a mixed signal received by the microphone array, the mixed signal includes a main sound source signal and an interference signal, and the source signal incident angle vector includes the angle at which the main sound source signal and the interference signal reach the microphone; The decomposition module is used to decompose the received source signal; The array response signal weight calculation module is used to calculate the array response signal weight corresponding to the source signal based on the source signal decomposition result and the source signal incident angle vector.
3. A multi-channel microphone array speech modulation method as claimed in claim 2, characterized in that: In the step S2, multiple groups of source signals and source signal incident angle vectors are randomly generated, and array response signal weights are output using a multi-channel microphone array modulation model, including: Randomly generate multiple sets of source signals and source signal incident angle vectors: {(X n ,i n )|n∈[1,N]} in: T stands for transpose; (X n ,θ n ) represents the generated nth group of source signals and the source signal incident angle vector, X n represents the nth source signal, θ n represents the nth group of source signal incident angle vectors, and N represents the number of groups of generated source signals and source signal incident angle vectors; Represents X n The signal received by the mth microphone in the figure, the distance between adjacent microphones is D, t represents the timing information, t∈[t1,t S ], t1 represents the initial time of the source signal, t S represents the cut-off time of the source signal, Indicates signal In t s The signal value at the time, M represents the number of microphones in the microphone array; represents the incident angle of the main sound source signal, represents the incident angle of the kth interference signal, and K represents the total number of interference signals; The array response signal weight is outputted using a multi-channel microphone array modulation model, wherein the array response signal weight calculation process based on the nth group of source signals and the source signal incident angle vector of the multi-channel microphone array modulation model is as follows: S21: The receiving module receives the nth group of source signals and the source signal incident angle vector (X n ,θ n ), and X n Convert to covariance matrix Cov n : S22: Decomposition module for the covariance matrix Cov n Perform eigendecomposition and sort the K+1 eigenvalues obtained from the decomposition in descending order: in: is the covariance matrix Cov n The largest eigenvalue obtained by decomposition represents the eigenvalue and eigenvector of the main sound source signal; represents the characteristic value of the kth interference signal; S23: The array response signal weight calculation module converts the source signal incident angle vector θ n Convert to the steering vector matrix C n : C n =[C n (θ0),C n (θ1),...,C n (i k ),...,C n (i K )] in: j represents the imaginary unit; C n (θ0) represents X n The steering vector of the main sound source signal, C n (θ k ) represents the steering vector of the k-th interference signal; D represents the spacing between adjacent microphones, and e represents a natural constant; S24: Calculate the array response signal weight W n : in: (·) H represents the conjugate transpose process; S26: Construct the signal gain function G(W) of the main sound source signal direction n ): If G(W n ) is greater than the preset gain threshold, then W n As output result; Otherwise, for Cov n Make adjustments: in: Cov n ' is based on the array response signal weight W n The adjusted covariance matrix; And based on the covariance matrix Cov n 'Calculate the adjusted array response signal weight W n ': If G(W n ) <G(W n '), then W n ' as the output result, otherwise W n As the output result.
4. A multi-channel microphone array speech modulation method as claimed in claim 3, characterized in that: In the step S2, the generated results and the model output results constitute a training data set, including: The generated source signal and source signal incident angle vector, as well as the array response signal weight output by the multi-channel microphone array modulation model are used as training data to form a training data set data: in: Represents the nth group of training data in the training data set data, To X n ,θ n Input into the multi-channel microphone array modulation model, and the model outputs the array response signal weight.
5. A multi-channel microphone array speech modulation method as claimed in claim 1, characterized in that: The deep multi-channel microphone array response weight generation model constructed in step S3 includes: A deep multi-channel microphone array response weight generation model is constructed, wherein the deep multi-channel microphone array response weight generation model includes an input layer, an incident angle vector generation layer, a feature extraction layer, and a microphone array response signal weight mapping layer; the feature extraction layer includes several convolution layers, and the weight parameters and bias parameters in the convolution layers and the mapping matrix in the microphone array response signal weight mapping layer are parameters to be trained and optimized; The input layer is used to receive multi-channel microphone signals, the incident angle vector generation layer is used to reconstruct the incident angle vector from the multi-channel microphone signals, the feature extraction layer is used to extract features from the incident angle vector, and the microphone array response signal weight mapping layer is used to map the feature extraction results to the microphone array response signal weights.
6. A multi-channel microphone array speech modulation method as claimed in claim 1, characterized in that: In the step S5, the current multi-channel microphone signal is input into the optimal depth microphone array response signal weight generation model to obtain the corresponding microphone array response signal weight, including: The current multi-channel microphone signal X is input into the optimal deep microphone array response signal weight generation model. The microphone array response signal weight generation process based on the optimal deep microphone array response signal weight generation model is: S51: The input layer converts the multi-channel microphone signal X into a covariance matrix Cov, and performs eigendecomposition on the covariance matrix Cov, and decomposes the K+1 eigenvalues obtained in descending order: (λ0,λ1,...,λ k ,...,l K ) Modify the feature value below the preset threshold to 0; S52: Construct and obtain K+1 angle solution parameters: G M-1 [1,G,G 2 ,...,G M-1 ] H λλ T [1,G,G 2 ,...,G M-1 ]=1 λ=(λ0,λ1,...,λ k ,...,l K ) in: G represents the unknown parameter in the above equation, G k represents the kth largest parameter that satisfies the above formula; S53: The incident angle vector generation layer calculates the incident angle θ of the main sound source signal in the multi-channel microphone signal X 0 : in: Im(·) means extracting the imaginary part, Re(·) means extracting the real part; The incident angle vector generation layer calculates the incident angle θ of the kth interference signal in the multi-channel microphone signal X k : Construct the incident angle vector θ of the multi-channel microphone signal X = (θ 0 ,θ 1 ,...,θ k ,...,θ K ); S54: Input the incident angle vector into the feature extraction layer to obtain the feature extraction result f(θ), and input the feature extraction result into the microphone array response signal weight mapping layer to obtain the microphone array response signal weight: ω=(w * ) T f(θ) in: w * Represents a mapping matrix in a microphone array response signal weight mapping layer in an optimal deep microphone array response signal weight generation model; ω represents the microphone array response signal weight of the multi-channel microphone signal X.
7. A multi-channel microphone array speech modulation method as claimed in claim 5, characterized in that: In the step S5, the microphone array response signal weight is used to perform voice modulation on the current multi-channel microphone signal, including: The microphone array response signal weight is used to perform voice modulation on the current multi-channel microphone signal, where the voice modulation formula is: X'=ωX in: X' represents the speech modulation result of the current multi-channel microphone signal.
Citation Information
Patent Citations
Microphone array beam adaptive processing method in strong noise environment
CN116741195A