A voice stream segmentation method based on dual-model dynamic triggering
Through the dual-model dynamically triggered voice stream segmentation method, combined with a fast and high-precision segmentation model, the problems of voice stream segmentation efficiency and accuracy in high-concurrency scenarios are solved, and efficient and accurate speech recognition results are achieved, which is suitable for intelligent customer service and multi-party conference transcription.
Patent Information
- Application Number
- CN202510726884.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-03
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2045-06-03
AI Technical Summary
Existing technologies have difficulty balancing the processing efficiency and accuracy of voice stream segmentation in high-concurrency scenarios. The sliding window method has a high misjudgment rate in low signal-to-noise ratio environments, while the high computational complexity of the end-to-end deep learning model leads to low efficiency in processing long voice messages.
A voice stream segmentation method based on dual-model dynamic triggering is adopted. By quickly screening and adjusting the buffer threshold through the segmentation model, combined with a high-precision segmentation model to process voice fragments, a balance between efficiency and accuracy is achieved.
In multi-channel voice stream recognition scenarios, it achieves efficient voice segmentation and high-precision recognition, reduces computing resource requirements, and is suitable for scenarios such as intelligent customer service and multi-party conference transcription.
Smart Images

Figure CN120260546B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of speech processing, and in particular to a speech stream segmentation method based on dual-model dynamic triggering. Background Art
[0002] In the field of speech processing, speech recognition models are categorized into streaming and non-streaming models, with the latter offering significantly higher recognition accuracy than the former. In scenarios where speech recognition is required on a speech stream, speech stream segmentation technology can be used to segment the speech stream into multiple segments. This allows the use of non-streaming speech recognition models for accurate speech recognition, providing accurate text information for subsequent processing. As a foundational technology in speech processing, speech stream segmentation technology has significant application value in scenarios such as intelligent customer service systems, multi-party conference transcription, and real-time speech analysis. With the exponential growth in demand for real-time speech processing, existing technologies face a critical technical bottleneck: balancing processing efficiency and segmentation accuracy in high-concurrency scenarios.
[0003] The current mainstream technical solutions have the following technical defects: 1. Sliding window-based voice activity detection solution, which adopts a fixed threshold energy detection method: Although this solution has the advantage of millisecond-level real-time performance, it is highly sensitive to environmental noise and the misjudgment rate exceeds 35% in low signal-to-noise ratio scenarios; 2. End-to-end deep learning model solution: Although the neural network model achieves a segmentation accuracy of more than 90%, its computational complexity causes the model inference time to increase linearly with the speech duration, and the efficiency of long speech processing drops sharply. Summary of the Invention
[0004] Purpose of the invention: The technical problem to be solved by the present invention is to provide a voice stream segmentation method based on dual-model dynamic triggering in response to the shortcomings of the existing technology.
[0005] In order to solve the above technical problems, the present invention discloses a voice stream segmentation method based on dual-model dynamic triggering, comprising the steps of:
[0006] Step 1: Build a data stream buffer management mechanism for multiple voice streams, establish an independent processing channel for each voice stream, and group the voice data accumulated to a threshold duration into a set of to-be-processed voice data.
[0007] Step 2: The fast segmentation model is used to screen, analyze, and process the speech collection to be processed, and the speech segments that meet the requirements are selected and output to the high-precision segmentation model;
[0008] Step 3: Based on the screening results of the fast segmentation model, the data that does not meet the conditions is spliced with the data in the data stream buffer, and the threshold length of the buffer corresponding to the voice segment is adjusted;
[0009] Step 4: Use the high-precision segmentation model to process the speech segments filtered by the fast segmentation model;
[0010] Step 5: Output the segmented audio segments to other systems such as speech recognition based on the processing results, concatenate the remaining data with the data in the data stream buffer, and update the threshold duration of the corresponding buffer.
[0011] The data stream buffer management mechanism for building multiple voice streams described in step 1 includes the following steps:
[0012] Step 1-1: Create an independent data buffer structure for each voice stream. The data buffer structure of the kth voice stream includes: the audio data that has been received and resampled to a sampling rate of 16000 Hz , Length of audio received (Unit: seconds), threshold duration (unit: seconds);
[0013] Step 1-2: After receiving the new data, store it in the data buffer structure of the corresponding voice stream, resample the new audio data to 16000Hz sampling rate and append it to the audio data After that, update the audio duration ;
[0014] Steps 1-3: Compare audio duration and threshold duration ,when , all the voice data in the buffer structure Output to the speech collection to be processed Otherwise, execute steps 1-2.
[0015] The fast segmentation model screening described in step 2 includes the following steps:
[0016] Step 2-1: Check the speech collection to be processed Is it empty? If it is empty, wait for the next check, otherwise execute step 2-2;
[0017] Step 2-2: From the speech collection to be processed Select the speech segment of the kth speech stream , and its last_second( The data of 10 seconds is divided into num_frame frames according to the sliding window with a frame length of 30ms and a frame shift of 10ms. The spectral features of each frame are extracted and input into the fast segmentation model to obtain the probability list of whether each frame is a silent frame. , statistical probability list middle , the ratio of frames greater than 0.5, when this ratio exceeds 0.4, the speech segment is judged to be Eligible.
[0018] As described in step 2-2, the data of the last_second second is divided into num_frame frames according to the sliding window with a frame length of 30ms and a frame length of 10ms, and the spectrum characteristics of each frame are extracted as follows:
[0019] Step 2-2-1: Apply Hamming window to the last_second second speech data for frame processing, with a frame length of 30ms and a frame shift of 10ms, and obtain a total of num_frame ( Frame, the signal amplitude of each frame is , i represents the i-th frame, , r represents the rth sampling point, ;
[0020] Step 2-2-2: Perform fast Fourier transform on each frame of speech data, calculate the energy spectrum, and obtain the speech frequency domain signal of each frame and energy spectrum , i represents the i-th frame, , k represents the kth frequency point, , r represents the rth sampling point, ;
[0021] Step 2-2-3: Pass the energy spectrum through the Mel filter bank to obtain the M-dimensional Mel spectrum features ,in represents the bandpass triangular filter of the Mel filter bank, M represents the number of filters, and m represents the mth filter;
[0022] Step 2-2-4: Take the logarithm of the Mel frequency spectrum feature and perform discrete cosine transform to obtain the Mel frequency cepstral coefficient (MFCC coefficients), , where n is the frequency point after DCT. For simplicity, the value range of n is required to be the same as that of m, that is, the spectrum characteristics of the i-th frame.
[0023] The fast segmentation model described in step 2-2 is a lightweight two-classification model based on a one-dimensional convolutional neural network. Its network structure includes:
[0024] Input layer: receiving ×M-dimensional MFCC feature matrix, where M is the number of Mel filters;
[0025] One-dimensional convolution layer: Use 32 convolution kernels with a width of 5 and a stride of 1 to perform one-dimensional convolution along the time axis, and the output dimension is ×32;
[0026] Max pooling layer: The pooling window size is 2, the stride is 2, and the output dimension is ×32;
[0027] Flattening layer: flattens the feature map into a 1-dimensional vector;
[0028] Fully connected layer: through A fully connected layer of neurons with ReLU activation function;
[0029] Output layer: Outputs the single node probability value through the Sigmoid activation function, indicating the input The probability that each frame is not a silent frame.
[0030] Step 3 includes the following steps:
[0031] Step 3-1: Statistical Probability List Probability List Frames with a silence probability greater than 0.5 account for When the ratio does not exceed 0.4, select the voice segment The corresponding k-th voice stream, the voice segment It is joined head to tail with the latest received data in the corresponding voice stream buffer to form new buffered data. ;
[0032] Step 3-2: According to the formula = +0.3 Update threshold duration , thus avoiding repeated triggering of the fast segmentation model screening step.
[0033] The network structure of the high-precision segmentation model described in step 4 is as follows:
[0034] Input layer: Receives the MFCC feature sequence of the entire speech segment, with a dimension of T×M, where T is the number of frames obtained after the entire speech segment passes through a sliding window with a frame length of 30ms and a frame shift of 10ms, and M is the number of Mel filters;
[0035] Two bidirectional LSTM layers: a bidirectional LSTM layer with 128 hidden units and an output dimension of T × 256;
[0036] Fully connected layer: through a fully connected layer of 64 neurons, the activation function is ReLU;
[0037] Output layer: Outputs a T-dimensional probability sequence through the Sigmoid activation function, indicating the probability that each time frame is not a silent frame;
[0038] Boundary decision module: When the probability value is greater than 0.7 and reaches the local maximum, it is determined as a split point.
[0039] The specific steps of step 4 include the following:
[0040] Step 4-1: Perform complete MFCC feature extraction on the input speech segment, with a frame length of 30ms and a frame shift of 10ms;
[0041] Step 4-2: Obtain boundary probability sequence through high-precision segmentation model;
[0042] Step 4-3: Split at the probability peak point to obtain a set of audio clips with people speaking , k represents the k-th voice stream, L represents the total number of audio segments contained in the set of audio segments with people speaking. If no one is detected speaking in the input voice segment, an empty set is output.
[0043] Step 5 includes the following steps:
[0044] Step 5-1: Check the set of audio clips of people speaking output by the high-precision segmentation model Is it empty?
[0045] like If it is not empty, the audio clips will be collected (i=1,2,...,L) are sent to the speech recognition system in sequence and step 5-2 is executed;
[0046] like If it is empty, go directly to step 5-3;
[0047] Step 5-2: Extract the original input speech segment Zhongzai The remaining data after ,Will It is joined head to tail with the latest received data in the corresponding voice stream buffer to form new buffered data. , and update the audio duration ;
[0048] Step 5-3: Update the threshold duration :
[0049] when When it is not empty, according to the formula = max(2.0, average_duration +0.5) update, where average_duration is a set of audio clips The average duration of each audio clip in ;
[0050] when When empty, the threshold duration constant;
[0051] Step 5-4: Reset audio duration The actual length of the buffer after current splicing.
[0052] The fast segmentation model has been trained; the high-precision segmentation model has been trained.
[0053] Beneficial effects:
[0054] 1. The present invention proposes a dual-model dynamic triggering mechanism, which achieves a balance between efficiency and accuracy through the dynamic coordination of a fast detection model and a high-precision model.
[0055] 2. The present invention dynamically adjusts the buffer threshold based on the audio stream dual-model segmentation results to effectively suppress invalid triggering.
[0056] This model can efficiently segment multiple voice streams while ensuring high segmentation accuracy. It can also provide a method for achieving high-precision voice recognition results in multi-channel voice stream recognition scenarios in conjunction with non-streaming voice recognition models, providing auxiliary support for intelligent customer service and conference transcription programs, and has certain practical value. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Figure 1 It is a schematic diagram of the overall process of the present invention.
[0058] Figure 2 It is a schematic diagram of the fast segmentation model.
[0059] Figure 3 It is a schematic diagram of the high-precision segmentation model.
[0060] Figure 4 This is a data flow diagram of the present invention in an actual system. DETAILED DESCRIPTION
[0061] A voice stream segmentation method based on dual-model dynamic triggering (such as Figure 1 ), including the following steps:
[0062] Step 1: Build a data stream buffer management mechanism for multiple voice streams, establish an independent processing channel for each voice stream, and group the voice data accumulated to a threshold duration into a to-be-processed voice set;
[0063] Step 2: The fast segmentation model is used to screen, analyze, and process the speech collection to be processed, and the speech segments that meet the requirements are selected and output to the high-precision segmentation model;
[0064] Step 3: Based on the screening results of the fast segmentation model, the data that does not meet the conditions is spliced with the data in the data stream buffer, and the threshold length of the buffer corresponding to the voice segment is adjusted;
[0065] Step 4: Use the high-precision segmentation model to process the speech segments filtered by the fast segmentation model;
[0066] Step 5: Output the segmented audio segments to other systems such as speech recognition based on the processing results, concatenate the remaining data with the data in the data stream buffer, and update the threshold duration of the corresponding buffer.
[0067] The data stream buffer management mechanism for building multiple voice streams described in step 1 includes the following steps:
[0068] Step 1-1: Create an independent data buffer structure for each voice stream. The data buffer structure of the kth voice stream includes: the audio data that has been received and resampled to a sampling rate of 16000 Hz , Length of audio received (Unit: seconds), threshold duration (unit: seconds);
[0069] Step 1-2: After receiving the new data, store it in the data buffer structure of the corresponding voice stream, resample the new audio data to 16000Hz sampling rate and append it to the audio data After that, update the audio duration ;
[0070] Steps 1-3: Compare audio duration and threshold duration ,when , all the voice data in the buffer structure Output to the speech collection to be processed Otherwise, execute steps 1-2.
[0071] The fast segmentation model screening described in step 2 includes the following steps:
[0072] Step 2-1: Check the speech collection to be processed Is it empty? If it is empty, wait for the next check, otherwise execute step 2-2;
[0073] Step 2-2: From the speech collection to be processed Select the speech segment of the kth speech stream , and its last_second( The data of 10 seconds is divided into num_frame frames according to the sliding window with a frame length of 30ms and a frame shift of 10ms. The spectral features of each frame are extracted and input into the fast segmentation model to obtain the probability list of whether each frame is a silent frame. , statistical probability list middle , the ratio of frames greater than 0.5, when this ratio exceeds 0.4, the speech segment is judged to be Eligible.
[0074] As described in step 2-2, the data of the last_second second is divided into num_frame frames according to the sliding window with a frame length of 30ms and a frame length of 10ms, and the spectrum characteristics of each frame are extracted as follows:
[0075] Step 2-2-1: Apply Hamming window to the last_second second speech data for frame processing, with a frame length of 30ms and a frame shift of 10ms, and obtain a total of num_frame ( Frame, the signal amplitude of each frame is , i represents the i-th frame, , r represents the rth sampling point, ;
[0076] Step 2-2-2: Perform fast Fourier transform on each frame of speech data, calculate the energy spectrum, and obtain the speech frequency domain signal of each frame and energy spectrum , i represents the i-th frame, , k represents the kth frequency point, , r represents the rth sampling point, ;
[0077] Step 2-2-3: Pass the energy spectrum through the Mel filter bank to obtain the M-dimensional Mel spectrum features ,in represents the bandpass triangular filter of the Mel filter bank, M represents the number of filters, and m represents the mth filter;
[0078] Step 2-2-4: Take the logarithm of the Mel frequency spectrum feature and perform discrete cosine transform to obtain the Mel frequency cepstral coefficient (MFCC coefficients), , where n is the frequency point after DCT. For simplicity, the value range of n is required to be the same as that of m, that is, the spectrum characteristics of the i-th frame.
[0079] The fast segmentation model described in step 2-2 is a lightweight two-classification model based on a one-dimensional convolutional neural network (such as Figure 2 ), whose network structure includes:
[0080] Input layer: receiving ×M-dimensional MFCC feature matrix, where M is the number of Mel filters;
[0081] One-dimensional convolution layer: Use 32 convolution kernels with a width of 5 and a stride of 1 to perform one-dimensional convolution along the time axis, and the output dimension is ×32;
[0082] Max pooling layer: The pooling window size is 2, the stride is 2, and the output dimension is ×32;
[0083] Flattening layer: flattens the feature map into a 1-dimensional vector;
[0084] Fully connected layer: through A fully connected layer of neurons with ReLU activation function;
[0085] Output layer: Outputs the single node probability value through the Sigmoid activation function, indicating the input The probability that each frame is not a silent frame.
[0086] Step 3 includes the following steps:
[0087] Step 3-1: Statistical Probability List Probability List Frames with a silence probability greater than 0.5 account for When the ratio does not exceed 0.4, select the voice segment The corresponding k-th voice stream, the voice segment It is joined head to tail with the latest received data in the corresponding voice stream buffer to form new buffered data. ;
[0088] Step 3-2: According to the formula = +0.3 Update threshold duration , thus avoiding repeated triggering of the fast segmentation model screening step.
[0089] The network structure of the high-precision segmentation model described in step 4 (such as Figure 3 )as follows:
[0090] Input layer: Receives the MFCC feature sequence of the entire speech segment, with a dimension of T×M, where T is the number of frames obtained after the entire speech segment passes through a sliding window with a frame length of 30ms and a frame shift of 10ms, and M is the number of Mel filters;
[0091] Two bidirectional LSTM layers: a bidirectional LSTM layer with 128 hidden units and an output dimension of T × 256;
[0092] Fully connected layer: through a fully connected layer of 64 neurons, the activation function is ReLU;
[0093] Output layer: Outputs a T-dimensional probability sequence through the Sigmoid activation function, indicating the probability that each time frame is not a silent frame;
[0094] Boundary decision module: When the probability value is greater than 0.7 and reaches the local maximum, it is determined as a split point.
[0095] The specific steps of step 4 include the following:
[0096] Step 4-1: Perform complete MFCC feature extraction on the input speech segment, with a frame length of 30ms and a frame shift of 10ms;
[0097] Step 4-2: Obtain boundary probability sequence through high-precision segmentation model;
[0098] Step 4-3: Split at the probability peak point to obtain a set of audio clips with people speaking , k represents the k-th voice stream, L represents the total number of audio segments contained in the set of audio segments with people speaking. If no one is detected speaking in the input voice segment, an empty set is output.
[0099] Step 5 includes the following steps:
[0100] Step 5-1: Check the set of audio clips of people speaking output by the high-precision segmentation model Is it empty?
[0101] like If it is not empty, the audio clips will be collected (i=1,2,...,L) are sent to the speech recognition system in sequence (such as Figure 4 ), and execute step 5-2;
[0102] like If it is empty, go directly to step 5-3;
[0103] Step 5-2: Extract the original input speech segment Zhongzai The remaining data after ,Will It is joined head to tail with the latest received data in the corresponding voice stream buffer to form new buffered data. , and update the audio duration ;
[0104] Step 5-3: Update the threshold duration :
[0105] when When it is not empty, according to the formula = max(2.0, average_duration +0.5) update, where average_duration is a set of audio clips The average duration of each audio clip in ;
[0106] when When empty, the threshold duration constant;
[0107] Step 5-4: Reset audio duration The actual length of the buffer after current splicing.
[0108] The fast segmentation model has been trained; the high-precision segmentation model has been trained.
[0109] Example:
[0110] This embodiment takes the air traffic control ground-air conversation voice recorder system as an example to illustrate the application scenario of the method of the present invention in real-time segmentation of multiple voice streams. Figure 1 The specific implementation steps are as follows:
[0111] Step 1: Establish a multi-channel voice stream buffer management mechanism:
[0112] The system creates an independent buffer structure for each radio channel and defines the k-th voice stream structure as:
[0113] {
[0114] 'audio_buffer': np.array([]), / / audio data resampled to 16000Hz
[0115] 'audio_len': 0.0, / / Cumulative duration (seconds)
[0116] 'threshold': 2.0 / / Initial trigger threshold
[0117] }
[0118] When new audio data arrives, execute the following: resample to 16000Hz sampling rate; append the data to the corresponding audio_buffer; update audio_len = len(audio_buffer) / 16000; when audio_len > threshold, pack the complete buffer data into the to-be-processed set audio_set.
[0119] Step 2: Quick segmentation model dynamic trigger (corresponding to Figure 2 ):
[0120] a. Extract the last 1.5 seconds of audio for feature analysis:
[0121] Use 30ms frame length and 10ms frame shift
[0122] Calculate 13-dimensional MFCC features (M=13)
[0123] b. Silence detection using lightweight models:
[0124] c. When the silent frame ratio is ≤40%, high-precision processing is triggered
[0125] Step 3: Dynamic adjustment of buffer:
[0126] Not triggered: concatenate the current data with the previous buffer and update the threshold formula: threshold_new = current_len + 0.3. Example: When the original buffer length is 2.1 seconds and it is not triggered, the new threshold is set to 2.1 + 0.3 = 2.4 seconds
[0127] 4. High-precision speech segmentation (corresponding to Figure 3 ):
[0128] Use a bidirectional LSTM model to process the complete audio clip:
[0129] Step 5: Output the results and link them with the system (corresponding to Figure 4 ):
[0130] The valid speech segments are pushed to the speech recognition engine, and the remaining data is written back to the buffer.
[0131] This embodiment works in tandem with a two-stage model (e.g. Figure 1 The process shown in the figure) significantly reduces computing resource requirements compared to traditional single-model solutions while ensuring high-precision segmentation. It is particularly suitable for scenarios such as air traffic control that require real-time processing of multiple voice streams.
[0132] The present invention provides a method for voice stream segmentation based on dual-model dynamic triggering. There are many methods and approaches for implementing this technical solution. The above is only a preferred embodiment of the present invention. It should be noted that those skilled in the art may make various improvements and modifications without departing from the principles of the present invention, and such improvements and modifications are also within the scope of protection of the present invention. Any components not specified in this embodiment may be implemented using existing technologies.
Claims
1. A voice stream segmentation method based on dual-model dynamic triggering, characterized in that: The steps include: Step 1: Build a data stream buffer management mechanism for multiple voice streams, establish an independent processing channel for each voice stream, and group the voice data accumulated to a threshold duration into a set of to-be-processed voice data. Step 2: The fast segmentation model is used to screen, analyze, and process the speech collection to be processed, and the speech segments that meet the requirements are selected and output to the high-precision segmentation model; Step 3: Based on the screening results of the fast segmentation model, the data that does not meet the conditions is spliced with the data in the data stream buffer, and the threshold length of the buffer corresponding to the voice segment is adjusted; Step 4: Use the high-precision segmentation model to process the speech segments filtered by the fast segmentation model; Step 5: Output the segmented audio segments to the speech recognition system based on the processing results, concatenate the remaining data with the data in the data stream buffer, and update the threshold duration of the corresponding buffer; The fast segmentation model screening described in step 2 is as follows: Step 2-1: Check the speech collection to be processed Is it empty? If it is empty, wait for the next check, otherwise execute step 2-2; Step 2-2: From the speech collection to be processed Select the speech segment of the kth speech stream , divide the last_second data into num_frame frames through the sliding window, extract the spectral features of each frame, input the fast segmentation model, and obtain the probability list of whether each frame is a silent frame , statistical probability list middle Determine the voice segment Whether the conditions are met; The fast segmentation model described in step 2-2 is a lightweight two-classification model based on a one-dimensional convolutional neural network. Its network structure includes: Input layer: receiving ×M-dimensional MFCC feature matrix, where M is the number of Mel filters; One-dimensional convolution layer: Use 32 convolution kernels with a width of 5 and a stride of 1 to perform one-dimensional convolution along the time axis, and the output dimension is ×32; Max pooling layer: The pooling window size is 2, the stride is 2, and the output dimension is ×32; Flattening layer: flattens the feature map into a 1-dimensional vector; Fully connected layer: through A fully connected layer of neurons with ReLU activation function; Output layer: Outputs the single node probability value through the Sigmoid activation function, indicating the input The probability that each frame is not a silent frame; The network structure of the high-precision segmentation model described in step 4 is as follows: Input layer: Receives the MFCC feature sequence of the entire speech segment, with a dimension of T×M, where T is the number of frames obtained after the entire speech segment passes through a sliding window with a frame length of 30ms and a frame shift of 10ms, and M is the number of Mel filters; Two bidirectional LSTM layers: a bidirectional LSTM layer with 128 hidden units and an output dimension of T × 256; Fully connected layer: through a fully connected layer of 64 neurons, the activation function is ReLU; Output layer: Outputs a T-dimensional probability sequence through the Sigmoid activation function, indicating the probability that each time frame is not a silent frame; Boundary decision module: When the probability value is greater than 0.7 and reaches the local maximum, it is determined as a split point.
2. A voice stream segmentation method based on dual-model dynamic triggering according to claim 1, characterized in that: The data stream buffer management mechanism for building multiple voice streams described in step 1 includes the following steps: Step 1-1: Create an independent data buffer structure for each voice stream. The data buffer structure of the kth voice stream includes: the audio data that has been received and resampled , Length of audio received , threshold duration ; Step 1-2: After receiving the new data, store it in the data buffer structure of the corresponding voice stream, resample the new audio data and append it to the audio data After that, update the audio duration ; Steps 1-3: Compare audio duration and threshold duration ,when , all the voice data in the buffer structure Output to the speech collection to be processed Otherwise, execute steps 1-2.
3. The method for voice stream segmentation based on dual-model dynamic triggering according to claim 1, characterized in that: As described in step 2-2, the last_second second of data is divided into num_frame frames through a sliding window, and the spectrum features of each frame are extracted as follows: Step 2-2-1: Apply framing processing to the last_second second voice data to obtain num_frame frames. The signal amplitude of each frame is , i represents the i-th frame, , r represents the rth sampling point; Step 2-2-2: Perform fast Fourier transform on each frame of speech data, calculate the energy spectrum, and obtain the speech frequency domain signal of each frame and energy spectrum , i represents the i-th frame, , k represents the kth frequency point, , r represents the rth sampling point; Step 2-2-3: Pass the energy spectrum through the Mel filter bank to obtain the M-dimensional Mel spectrum features ,in represents the bandpass triangular filter of the Mel filter bank, M represents the number of filters, and m represents the mth filter; Step 2-2-4: Take the logarithm of the Mel frequency spectrum feature and perform discrete cosine transform to obtain the Mel frequency cepstral coefficient , , where n is the frequency point after DCT, and the value range of n is the same as that of m, that is, the spectrum characteristics of the i-th frame.
4. The method for voice stream segmentation based on dual-model dynamic triggering according to claim 1, characterized in that: Step 3 includes the following steps: Step 3-1: Statistical Probability List Frames with a silence probability greater than 0.5 account for When the ratio does not exceed 0.4, select the voice segment The corresponding k-th voice stream, the voice segment It is joined head to tail with the latest received data in the corresponding voice stream buffer to form new buffered data. ; Step 3-2: According to the formula = +0.3 Update threshold duration .
5. A voice stream segmentation method based on dual-model dynamic triggering according to claim 4, characterized in that: The specific steps of step 4 include the following: Step 4-1: Perform complete MFCC feature extraction on the input speech segment; Step 4-2: Obtain boundary probability sequence through high-precision segmentation model; Step 4-3: Split at the probability peak point to obtain a set of audio clips with people speaking , k represents the k-th voice stream, L represents the total number of audio segments contained in the set of audio segments with people speaking. If no one is detected speaking in the input voice segment, an empty set is output.
6. The method for voice stream segmentation based on dual-model dynamic triggering according to claim 1, characterized in that: Step 5 includes the following steps: Step 5-1: Check the set of audio clips of people speaking output by the high-precision segmentation model Is it empty? If the audio clip collection If it is not empty, the audio clips will be collected (i=1,2,...,L) are sent to the speech recognition system in sequence and step 5-2 is executed; If the audio clip collection If it is empty, go directly to step 5-3; Step 5-2: Extract the original input speech segment In the audio clip collection The remaining data after , the remaining data It is joined head to tail with the latest received data in the corresponding voice stream buffer to form new buffered data. , and update the audio duration ; Step 5-3: Update the threshold duration : When the audio clip collection When it is not empty, according to the formula = max(2.0, average_duration + 0.5) update, where average_duration is a set of audio clips The average duration of each audio clip in ; When the audio clip collection When empty, the threshold duration constant; Step 5-4: Reset audio duration The actual length of the buffer after current splicing.
7. The method for voice stream segmentation based on dual-model dynamic triggering according to claim 1, characterized in that: The fast segmentation model has been trained; the high-precision segmentation model has been trained.
Citation Information
Patent Citations
Audio analysis system based on content
CN101021854A
Deep learning-based unusual speech distinguishing method
CN108766419A