# Exposing Speech Transsplicing Forgery with Noise Level Inconsistency

Authors: Diqun Yan; Mingyu Dong; Jinxing Gao
Journal: Security and Communication Networks
 (2021)

---

## Abstract

Splicing is one of the most common tampering techniques for speech forgery in many forensic scenarios. Some successful approaches have been presented for detecting speech splicing when the splicing segments have different signal-to-noise ratios (SNRs). However, when the SNRs between the spliced segments are close or even same, no effective detection methods have been reported yet. In this study, noise inconsistency between the original speech and the inserted segment from other speech is utilized to detect the splicing trace. First, noise signal of the suspected speech is extracted by a parameter-optimized noise estimation algorithm. Second, the statistical Mel frequency features are extracted from the estimated noise signal. Finally, the spliced region is located by utilizing a change point detection algorithm on the estimated noise signal. The effectiveness of the proposed method is evaluated on a well-designed speech splicing dataset. The comparative experimental results show that the proposed algorithm can achieve better detection performance than other algorithms.


---

## Body

## 1. Introduction

With the wide spread of social networks and the rapid development of powerful audio editing tools (such as Adobe Audition and GoldWave), digital speech can be easily accessed, manipulated, and distributed. Such tools have provided lots of convenience in various aspects such as social activity, news media, entertainment, and so forth. These modified speeches, however, may cause unpredictable results when they are presented in a scene such as justice or criminal investigation. Digital speech forensics [1–3] is a valuable technique for determining the authenticity of digital speech. By analyzing the modification traces left in the suspected speech, digital forensics can identify the tampering type and locate the tampering position [4].Deletion, insertion, and splicing are three most commonly tampering operations that can significantly change the content of the original speech. Splicing is an operation in which one or more speech segments are inserted in the original one to change the content of the target speech. In general, splicing is always accompanied by deletion and insertion. According to whether the inserted speech segment is from the original speech or not, splicing can be further divided into self-splicing and transsplicing, respectively. Specifically, self-splicing refers to copying a segment in the original speech and inserting it into the other region in the same speech. Since the self-splicing will introduce high-similarity regions in the spliced speech, the detector can take the similarity of speech features as criterion to find the splicing matching regions. In real scenarios, transsplicing is relatively more common than self-splicing. On the one hand, the forgers tend to splice speech components from different source/scenes. On the other hand, it is a hard task for the forgers to find the splicing segment from the original speech in most cases. In this work, we focus on the detection of speech transsplicing.As an important branch of multimedia security [5, 6], many splicing detection algorithms [7–9] for digital speech have been proposed over the last decade. The ENF- (electric network frequency) based method [10] is effective for detecting speech splicing, in which the ENF signal is extracted from a questioned audio recording and matches it with the reference signal in an ENF database. Reis et al. [11] proposed an ESPRIT-Hilbert ENF estimator with an outlier detector based on the kurtosis of the estimated ENF. Then, the kurtosis is taken as an input for a support vector machine classifier to indicate the presence of splicing. However, ENF-based detection algorithms may not be applicable when the speech is recorded with the well-designed or battery-operated devices. On the other hand, the reference ENF dataset is needed during an ENF-based forensic investigation process. Imran [12] proposed a splicing detection algorithm based on intrinsic statistical properties of suspected speech. The speech is first divided into segments using voice activity detection, and the histogram of one-dimensional LBP (local binary pattern) is exploited as the detection feature. Zhao et al. [13] introduced channel impulse response to detect speech splicing. The impulse response amplitude and background noise are used to determine the location of the splicing.In real scenarios, in order to remove the splicing trace, the forger would try best to keep the SNR (signal-noise ratio) of the processed speech as consistent as possible between the spliced and the original regions. This will greatly increase the difficulty of the splicing detection task. As far as we know, there is no prior work on transsplicing detection with the same SNR. In this study, we proposed an approach for detecting transsplicing with the same SNR. First, the Sorensen algorithm [14] is utilized to estimate the noise level of the suspected speech. Then, the variances of Mel frequency cepstral coefficient (MFCC) [15] for estimated noise signal are calculated as the detecting features. Finally, the spliced region is located by a change point detection algorithm based on the penalty cost function [16]. The performance of the proposed algorithm is evaluated on a well-designed speech splicing dataset. The experimental results show that the proposed algorithm achieves better detection accuracy compared with other algorithms.The rest of the study is organized as follows. The main work of this study is described in Section2, in which noise estimation, feature extraction, and the change point detection algorithm are described in detail. Section 3 will present the splicing dataset and the experimental results. Finally, the conclusion is drawn in Section 4.


## 2. Proposed Transsplicing Detection Algorithm

The proposed framework for transsplicing detection and localization is shown in Figure1. First, the Sorensen algorithm is adopted to estimate the noise signal. Next, the estimated noise is framed, and its Mel-frequency cepstral coefficients are extracted. The variance of the coefficients is calculated as the detecting feature. Finally, the change point detection algorithm is applied on the variance sequence to detect and locate the splicing.Figure 1
Framework of proposed splicing detection and localization.


### 2.1. Noise Estimation

Sorensen [14] proposed a recursive averaging noise estimation algorithm. The idea is that different attenuation rules are adopted to different regions to estimate the noise in the speech accurately. Figure 2 shows the flowchart of this algorithm.Figure 2
Flowchart of the Sorensen noise estimation algorithm.Letyi be the suspected speech at time i, which consists of clean speech si and additive noise ni. First, the windowed and framed speech signal is subjected to short-time Fourier transform (STFT):(1)Yλ,k=Sλ,k+Nλ,k,where λ∈Z is the time index, k∈0,1,…,K−1 is the frequency bin index, L is the window length, and Sλ,k and Nλ,k are the STFT coefficients of si and ni, respectively.Then, the periodogramsPY can be calculated as(2)PYλ,k≜Yλ,k2.Next,PY is spectrally smoothed to produce pYλ,k and then temporally smoothed to pλ,k. Then, the temporal minimum values pminλ,k could be tracked within a minimum search window of length Dmin, that is,(3)pminλ,k=minpψ,k|λ−Dmin<ψ≤λ,where ψ∈Z, and Dmin=U∗V. Window D represents an analysis window length. Since it is computationally expensive to find minimum in each frequency band for each frame, an efficient procedure [17] is proposed in which the analysis window is divided into U subwindows of V samples. Hence, the minimum is updated for every V samples, stored it for later use, and reduced the number of comparation operations per frame and frequency bin on 1+U−1V.ForDλ,k=1, the noise periodogram estimation is equal to a time-varying power scaling of the minimum tracks pminλ,k. For Dλ,k=0, it is equal to the noisy speech periodogram PYλ,k, that is,(4)PN^λ,k=Rminλpminλ,k,ifDλ,k=1,PYλ,k,ifDλ,k=0,,where Dλ,k is used to determine whether speech exists. Rminλ is a bias compensation factor, and it only updates in the nonspeech frames.A smooth estimate of the noise magnitude spectrum can be obtained by(5)N^λ,k=P˜N^λ,k.After the above steps, we obtained the enhanced speechs^i. Finally, the estimated noise signal n^i can be obtained by subtracting the enhanced speech s^i from the noisy speech yi, that is,(6)n^i=yi−s^i.It is seen from equation (3) that Dmin plays an important role in the noise estimation process. Dmin is mainly used to control a fixed-length window. In the noise estimation process of each frame, the minimum pminλ,k in the window is tracked, and the value obtained by the tracking is used to continuously update pminλ,k. Finally, the noise power spectrum PN^λ,k is calculated by pminλ,k. It can be seen from the above analysis that reasonable adjustment of U and V can effectively improve the noise estimation performance of the algorithm.


### 2.2. Detection Feature Extraction

For each frame of the estimated noise, Mel frequency cepstral coefficients are extracted, which is based on the human peripheral auditory system. Figure3 shows the diagram of MFCC extraction.Figure 3
Diagram of MFCC extraction.First, the estimated noise signaln^i is subjected to DFT to obtain a linear spectrum N^k. Then, N^k is filtered by the Mel frequency filter bank Hmk to obtain the Mel spectrum. In order to make the result more robust to noise and spectral estimation errors, the logarithmic energy of the Mel spectrum is generally taken, that is,(7)Lm=ln∑k=1NN^k2Hmk,m=1,2,…,M,where m is the number of filter banks.Next,Lm is subjected to DCT to obtain the MFCC coefficient:(8)mfccj=∑m=1MLmcosnm−0.5πm,1≤j≤J,where j is the index of the cepstral coefficients.Finally, for each frame, the variance ofmfccj can be calculated by equation (9), and we can obtain a variance sequence for each suspected speech.(9)V=1J∑j=1Jmfccj−mfcc¯2.


### 2.3. Change Point Detection

Since the segments of transsplicing come from the different sources/scenes, we consider the inconsistencies of the noise characteristics mixed in the suspected speech to be a clue of splicing. It means that there will be a change on noise characteristics where the splicing happened. Hence, the splicing detection and localization can be transformed into a change point detection problem. Algorithms for change points’ detection [18–20] have made good progress in recent years. Lavielle [16] proposed a model selection method based on a penalized contrast which is applied to the change point problem. It can be used for estimating the number of change points and their location. In this work, Lavielle’s algorithm is adopted to find the splicing positions.LetV=V1,V2,…,Vn be the variance sequence of estimated noise signal and K be some integer. Similarly, let α=α1,α2,…,αK−1 be a sequence of integers satisfying 0<α1<α2<,⋯,<αK−1<n. For any 1≤k≤K, let MVαk−1+1,Vαk−1+2,…,VαK;β be a contrast function for estimating the unknown true value of the parameter β in the segment k. It means that there will be an estimated value of β (β^) when the contrast function reaches it minimum. In other words, the minimum contrast estimate β^Vαk−1+1,Vαk−1+2,…,VαK, computed on segment k of α, is defined as a solution of the following minimization problem:(10)MVαk−1+1,Vαk−1+2,…,VαK;β^Vαk−1+1,Vαk−1+2,…,VαK≤MVαk−1+1,Vαk−1+2,…,VαK;β.Then, we define the contrast functionJα,v as(11)Jα,s=1n∑k=1KMVαk−1+1,Vαk−1+2,…,VαK;β^Vαk−1+1,Vαk−1+2,…,VαK,where α0=0,αK=n.As an example, consider the flowing model:(12)Vi=μi+σiεi,1≤i≤n,where εi is a sequence with zero mean and unit variance. In the case of changes in the variance, μi is a constant sequence and σi is a piecewise one. The contrast function can be defined as a Gaussian log-likelihood, even if εi is not a Gaussian sequence.(13)MVαk−1+1,Vαk−1+2,…,VαK;σ2=αk−αk−1logσ2+1σ2∑i=αk−1+1αKVi−μ2.Then,(14)Jα,v=1n∑k=1Kαk−αk−1logτ^αk−1+1:αk2,where τ^αk−1+1:αk2=1/αk−αk−1∑i=αk−1+1αKVi−V¯2 is the variance of Vαk−1+1,Vαk−1+2,…,Vαk. For instance, when the maximum number of segments Kmax=3, the number of change points is Kmax−1=2, and the change boundary is α1,α2.Finally, we summarize our splicing detection algorithm as follows. First, we estimate the power spectral densityPN^λ,k of the noise in the noisy speech signal yi and then use PN^λ,k to obtain the enhanced speech signal s^i. Therefore, the noise signal n^i can be estimated with the noisy speech yi and the enhanced speech s^i. Then, the estimated noise n^i is framed and windowed, and then for each frame, M-dimensional MFCC coefficients are calculated. The variance sequence V=V1,V2,…,Vn of MFCC coefficients is obtained and taken as the input of the change point detection algorithm, and then, the penalty cost function is constructed by equation (11). Finally, the estimated parameters of the penalty cost function K∗−1 and αK∗−2,αK∗−1 represent the number of change points and the boundaries of the change segments, respectively. Among them, the boundary of the change segment is the final detected tampering position.


## 2.1. Noise Estimation

Sorensen [14] proposed a recursive averaging noise estimation algorithm. The idea is that different attenuation rules are adopted to different regions to estimate the noise in the speech accurately. Figure 2 shows the flowchart of this algorithm.Figure 2
Flowchart of the Sorensen noise estimation algorithm.Letyi be the suspected speech at time i, which consists of clean speech si and additive noise ni. First, the windowed and framed speech signal is subjected to short-time Fourier transform (STFT):(1)Yλ,k=Sλ,k+Nλ,k,where λ∈Z is the time index, k∈0,1,…,K−1 is the frequency bin index, L is the window length, and Sλ,k and Nλ,k are the STFT coefficients of si and ni, respectively.Then, the periodogramsPY can be calculated as(2)PYλ,k≜Yλ,k2.Next,PY is spectrally smoothed to produce pYλ,k and then temporally smoothed to pλ,k. Then, the temporal minimum values pminλ,k could be tracked within a minimum search window of length Dmin, that is,(3)pminλ,k=minpψ,k|λ−Dmin<ψ≤λ,where ψ∈Z, and Dmin=U∗V. Window D represents an analysis window length. Since it is computationally expensive to find minimum in each frequency band for each frame, an efficient procedure [17] is proposed in which the analysis window is divided into U subwindows of V samples. Hence, the minimum is updated for every V samples, stored it for later use, and reduced the number of comparation operations per frame and frequency bin on 1+U−1V.ForDλ,k=1, the noise periodogram estimation is equal to a time-varying power scaling of the minimum tracks pminλ,k. For Dλ,k=0, it is equal to the noisy speech periodogram PYλ,k, that is,(4)PN^λ,k=Rminλpminλ,k,ifDλ,k=1,PYλ,k,ifDλ,k=0,,where Dλ,k is used to determine whether speech exists. Rminλ is a bias compensation factor, and it only updates in the nonspeech frames.A smooth estimate of the noise magnitude spectrum can be obtained by(5)N^λ,k=P˜N^λ,k.After the above steps, we obtained the enhanced speechs^i. Finally, the estimated noise signal n^i can be obtained by subtracting the enhanced speech s^i from the noisy speech yi, that is,(6)n^i=yi−s^i.It is seen from equation (3) that Dmin plays an important role in the noise estimation process. Dmin is mainly used to control a fixed-length window. In the noise estimation process of each frame, the minimum pminλ,k in the window is tracked, and the value obtained by the tracking is used to continuously update pminλ,k. Finally, the noise power spectrum PN^λ,k is calculated by pminλ,k. It can be seen from the above analysis that reasonable adjustment of U and V can effectively improve the noise estimation performance of the algorithm.


## 2.2. Detection Feature Extraction

For each frame of the estimated noise, Mel frequency cepstral coefficients are extracted, which is based on the human peripheral auditory system. Figure3 shows the diagram of MFCC extraction.Figure 3
Diagram of MFCC extraction.First, the estimated noise signaln^i is subjected to DFT to obtain a linear spectrum N^k. Then, N^k is filtered by the Mel frequency filter bank Hmk to obtain the Mel spectrum. In order to make the result more robust to noise and spectral estimation errors, the logarithmic energy of the Mel spectrum is generally taken, that is,(7)Lm=ln∑k=1NN^k2Hmk,m=1,2,…,M,where m is the number of filter banks.Next,Lm is subjected to DCT to obtain the MFCC coefficient:(8)mfccj=∑m=1MLmcosnm−0.5πm,1≤j≤J,where j is the index of the cepstral coefficients.Finally, for each frame, the variance ofmfccj can be calculated by equation (9), and we can obtain a variance sequence for each suspected speech.(9)V=1J∑j=1Jmfccj−mfcc¯2.


## 2.3. Change Point Detection

Since the segments of transsplicing come from the different sources/scenes, we consider the inconsistencies of the noise characteristics mixed in the suspected speech to be a clue of splicing. It means that there will be a change on noise characteristics where the splicing happened. Hence, the splicing detection and localization can be transformed into a change point detection problem. Algorithms for change points’ detection [18–20] have made good progress in recent years. Lavielle [16] proposed a model selection method based on a penalized contrast which is applied to the change point problem. It can be used for estimating the number of change points and their location. In this work, Lavielle’s algorithm is adopted to find the splicing positions.LetV=V1,V2,…,Vn be the variance sequence of estimated noise signal and K be some integer. Similarly, let α=α1,α2,…,αK−1 be a sequence of integers satisfying 0<α1<α2<,⋯,<αK−1<n. For any 1≤k≤K, let MVαk−1+1,Vαk−1+2,…,VαK;β be a contrast function for estimating the unknown true value of the parameter β in the segment k. It means that there will be an estimated value of β (β^) when the contrast function reaches it minimum. In other words, the minimum contrast estimate β^Vαk−1+1,Vαk−1+2,…,VαK, computed on segment k of α, is defined as a solution of the following minimization problem:(10)MVαk−1+1,Vαk−1+2,…,VαK;β^Vαk−1+1,Vαk−1+2,…,VαK≤MVαk−1+1,Vαk−1+2,…,VαK;β.Then, we define the contrast functionJα,v as(11)Jα,s=1n∑k=1KMVαk−1+1,Vαk−1+2,…,VαK;β^Vαk−1+1,Vαk−1+2,…,VαK,where α0=0,αK=n.As an example, consider the flowing model:(12)Vi=μi+σiεi,1≤i≤n,where εi is a sequence with zero mean and unit variance. In the case of changes in the variance, μi is a constant sequence and σi is a piecewise one. The contrast function can be defined as a Gaussian log-likelihood, even if εi is not a Gaussian sequence.(13)MVαk−1+1,Vαk−1+2,…,VαK;σ2=αk−αk−1logσ2+1σ2∑i=αk−1+1αKVi−μ2.Then,(14)Jα,v=1n∑k=1Kαk−αk−1logτ^αk−1+1:αk2,where τ^αk−1+1:αk2=1/αk−αk−1∑i=αk−1+1αKVi−V¯2 is the variance of Vαk−1+1,Vαk−1+2,…,Vαk. For instance, when the maximum number of segments Kmax=3, the number of change points is Kmax−1=2, and the change boundary is α1,α2.Finally, we summarize our splicing detection algorithm as follows. First, we estimate the power spectral densityPN^λ,k of the noise in the noisy speech signal yi and then use PN^λ,k to obtain the enhanced speech signal s^i. Therefore, the noise signal n^i can be estimated with the noisy speech yi and the enhanced speech s^i. Then, the estimated noise n^i is framed and windowed, and then for each frame, M-dimensional MFCC coefficients are calculated. The variance sequence V=V1,V2,…,Vn of MFCC coefficients is obtained and taken as the input of the change point detection algorithm, and then, the penalty cost function is constructed by equation (11). Finally, the estimated parameters of the penalty cost function K∗−1 and αK∗−2,αK∗−1 represent the number of change points and the boundaries of the change segments, respectively. Among them, the boundary of the change segment is the final detected tampering position.


## 3. Experimental Results

In this section, we first describe the dataset adopted in this work. Additionally, as mentioned in subsection2.1, the performance of the proposed detection algorithm depends strongly on the effectiveness of the noise estimation. Hence, the noise estimation algorithm is evaluated to find the optimal parameters. Then, the performance of the proposed splicing detection method with optimal noise estimation is present.


### 3.1. Splicing Dataset

The transsplicing speech samples in this study are created based on NOIZEUS speech corpus [21] which is derived from the clean speech contaminated by various kinds of noise in the real world. The clean speech comes from 30 IEEE statements containing three male and three female pronunciations. The noise signals in NOIZEUS come from the AURORA-2 database [22], including noise from train stations, airports, exhibition halls, streets, and restaurants, as well as car noise, noise from commuter trains, and babble noise from multiperson speech. During noise contamination, various SNR cases including 0 dB, 5 dB, 10 dB, and 15 dB have been considered.The creation process of the splicing speech dataset is as follows. First, the samples of NOIZEUS corpus are divided into two classes: the original samples and the samples to be spliced. Then, for each sample to be spliced, we further cut it into 4 different segments by using random numbers. For each original sample, a pseudorandom generator is used to determine where the segment will be spliced. Next, the splicing is performed, and the spliced speech is saved with the original sampling rate. In this work, the SNR of the original sample is kept the same as the segment to be spliced.In the experiment, there will be 42 types of samples in each splicing subset, and each type contains 30 samples. As a result, there will be 1260 samples in each splicing subset. Each sample is 8 KHz, mono, 16 bit quantized, and the duration is 3-4 seconds.


### 3.2. Performance Evaluation on Noise Estimation

It can be seen from the analysis in Section2.1 that the parameters U and V will affect the performance of the noise estimation algorithm. In order to find the optimal U and V, we first adjust the U and V values in the Sorensen algorithm to estimate the noise of 1260 segments of each subset and then calculate the average SNR of the 1260-segment speech under each U and V case. The experimental results for 0 dB and 5 dB speech are given in Tables 1 and 2.Table 1
Noise estimation for 0 dB.
V8765432U51.97141.76841.53951.25620.88770.4256−0.280441.66381.47311.22960.93080.56580.0819−0.642231.28301.07130.81850.51610.1296−0.3664−1.059620.73300.51870.2536−0.0737−0.4621−0.9503−1.5494The value in bold is used to emphasise that the noise estimation algorithm achieves the best performance when (U, V) is (2, 5).Table 2
Noise estimation for 5 dB.
V8765432U57.07506.82536.51786.10665.53154.78703.543746.68266.42456.05475.59895.00114.19342.893336.13505.80405.42294.92724.26583.40062.137525.24494.93744.49283.89813.18902.33441.2947The value in bold type is used to emphasise that the noise estimation algorithm achieves the best performance when (U, V) is (4, 4).It can be clearly seen from Tables1 and 2 that U and V have a great influence on the performance of the Sorensen algorithm. For example, the estimation error for 0 dB case is minimized at −0.0737 dB when U,V is (2, 5). And the best choice for 5 dB case is (4, 4). Table 3 gives the optimal U and V for various SNR cases.Table 3
Optimal parameters in various SNRs.
SNR (dB)051015U2434V5477Additionally, we compared the optimized Sorensen algorithm with other typical noise estimation algorithms. From Table4, the optimized algorithm achieves the best estimated results in various SNR cases.Table 4
SNR estimation for various algorithms.
Algorithm0 dB5 dB10 dB15 dB[23]4.74199.890514.714618.5088[24]2.60647.729212.508816.5755[25]3.55188.224912.353315.6897[26]3.39878.768913.792317.8140[27]4.32778.539312.139014.7518Optimized Sorensen0.12965.001110.039615.0139The value in bold type is used for emphasis that the performance of the optimized algorithm is better than other algorithms.


### 3.3. Performance Evaluation on Splicing Detection

In MFCC extraction, we set the number of filtersm to 27 and the number of cepstral coefficients J to 12. For Lavielle’s algorithm [16], we set the maximum number of segments Kmax to 3 and only variance change is considered.F score is introduced as an objective metric to evaluate the performance of the proposed algorithm, which can be expressed as follows:(15)F=2∗precision∗recallprecision+recall,Precision=χ˜∩χχ˜,Recall=χ˜∩χχ,where precision is the accuracy rate, recall is the recall rate, χ is the actual splicing region, and χ˜ is the detected splicing region. It can be seen from equation (15) that the larger the F value, the better the detection capability of the algorithm.As a comparison to [7, 9], we adopt the optimal parameters in Table 3 to detect the splicing trace. The F scores are shown in Table 5. It can be seen that the proposed method achieves better detection performance in all SNR cases. Meanwhile, it can be seen from Table 3 that the detection performance of the algorithm gradually deteriorates with the SNR increases. This is consistent with the situation in the actual scene, that is, the lower the noise energy contained in the speech signal, the more difficult the noise estimation algorithm is to extract the noise. In addition, according to the results in Tables 3 and 5, the detection result of the algorithm tends to become better with the decrease of U and V. It indicates that the speed of the noise estimation will be beneficial to improve the detection rate of the algorithm.Table 5
F scores of splicing detections.
AlgorithmsSNR cases (dB)0-0 dB5-5 dB10-10 dB15-15 dB[7]0.74590.73170.67340.6605[9]0.79240.79990.78050.7672Proposed0.83020.81370.79230.7685The values in bold type is used for emphasis that the performance of the proposed algorithm is better than other two algorithms.


## 3.1. Splicing Dataset

The transsplicing speech samples in this study are created based on NOIZEUS speech corpus [21] which is derived from the clean speech contaminated by various kinds of noise in the real world. The clean speech comes from 30 IEEE statements containing three male and three female pronunciations. The noise signals in NOIZEUS come from the AURORA-2 database [22], including noise from train stations, airports, exhibition halls, streets, and restaurants, as well as car noise, noise from commuter trains, and babble noise from multiperson speech. During noise contamination, various SNR cases including 0 dB, 5 dB, 10 dB, and 15 dB have been considered.The creation process of the splicing speech dataset is as follows. First, the samples of NOIZEUS corpus are divided into two classes: the original samples and the samples to be spliced. Then, for each sample to be spliced, we further cut it into 4 different segments by using random numbers. For each original sample, a pseudorandom generator is used to determine where the segment will be spliced. Next, the splicing is performed, and the spliced speech is saved with the original sampling rate. In this work, the SNR of the original sample is kept the same as the segment to be spliced.In the experiment, there will be 42 types of samples in each splicing subset, and each type contains 30 samples. As a result, there will be 1260 samples in each splicing subset. Each sample is 8 KHz, mono, 16 bit quantized, and the duration is 3-4 seconds.


## 3.2. Performance Evaluation on Noise Estimation

It can be seen from the analysis in Section2.1 that the parameters U and V will affect the performance of the noise estimation algorithm. In order to find the optimal U and V, we first adjust the U and V values in the Sorensen algorithm to estimate the noise of 1260 segments of each subset and then calculate the average SNR of the 1260-segment speech under each U and V case. The experimental results for 0 dB and 5 dB speech are given in Tables 1 and 2.Table 1
Noise estimation for 0 dB.
V8765432U51.97141.76841.53951.25620.88770.4256−0.280441.66381.47311.22960.93080.56580.0819−0.642231.28301.07130.81850.51610.1296−0.3664−1.059620.73300.51870.2536−0.0737−0.4621−0.9503−1.5494The value in bold is used to emphasise that the noise estimation algorithm achieves the best performance when (U, V) is (2, 5).Table 2
Noise estimation for 5 dB.
V8765432U57.07506.82536.51786.10665.53154.78703.543746.68266.42456.05475.59895.00114.19342.893336.13505.80405.42294.92724.26583.40062.137525.24494.93744.49283.89813.18902.33441.2947The value in bold type is used to emphasise that the noise estimation algorithm achieves the best performance when (U, V) is (4, 4).It can be clearly seen from Tables1 and 2 that U and V have a great influence on the performance of the Sorensen algorithm. For example, the estimation error for 0 dB case is minimized at −0.0737 dB when U,V is (2, 5). And the best choice for 5 dB case is (4, 4). Table 3 gives the optimal U and V for various SNR cases.Table 3
Optimal parameters in various SNRs.
SNR (dB)051015U2434V5477Additionally, we compared the optimized Sorensen algorithm with other typical noise estimation algorithms. From Table4, the optimized algorithm achieves the best estimated results in various SNR cases.Table 4
SNR estimation for various algorithms.
Algorithm0 dB5 dB10 dB15 dB[23]4.74199.890514.714618.5088[24]2.60647.729212.508816.5755[25]3.55188.224912.353315.6897[26]3.39878.768913.792317.8140[27]4.32778.539312.139014.7518Optimized Sorensen0.12965.001110.039615.0139The value in bold type is used for emphasis that the performance of the optimized algorithm is better than other algorithms.


## 3.3. Performance Evaluation on Splicing Detection

In MFCC extraction, we set the number of filtersm to 27 and the number of cepstral coefficients J to 12. For Lavielle’s algorithm [16], we set the maximum number of segments Kmax to 3 and only variance change is considered.F score is introduced as an objective metric to evaluate the performance of the proposed algorithm, which can be expressed as follows:(15)F=2∗precision∗recallprecision+recall,Precision=χ˜∩χχ˜,Recall=χ˜∩χχ,where precision is the accuracy rate, recall is the recall rate, χ is the actual splicing region, and χ˜ is the detected splicing region. It can be seen from equation (15) that the larger the F value, the better the detection capability of the algorithm.As a comparison to [7, 9], we adopt the optimal parameters in Table 3 to detect the splicing trace. The F scores are shown in Table 5. It can be seen that the proposed method achieves better detection performance in all SNR cases. Meanwhile, it can be seen from Table 3 that the detection performance of the algorithm gradually deteriorates with the SNR increases. This is consistent with the situation in the actual scene, that is, the lower the noise energy contained in the speech signal, the more difficult the noise estimation algorithm is to extract the noise. In addition, according to the results in Tables 3 and 5, the detection result of the algorithm tends to become better with the decrease of U and V. It indicates that the speed of the noise estimation will be beneficial to improve the detection rate of the algorithm.Table 5
F scores of splicing detections.
AlgorithmsSNR cases (dB)0-0 dB5-5 dB10-10 dB15-15 dB[7]0.74590.73170.67340.6605[9]0.79240.79990.78050.7672Proposed0.83020.81370.79230.7685The values in bold type is used for emphasis that the performance of the proposed algorithm is better than other two algorithms.


## 4. Conclusion and Future Work

In this study, a novel method for the speech transsplicing detection algorithm has been proposed. Considering that the segment to be spliced and the original segment have different noise levels, the noise of the suspected speech is estimated first. Then, we extract the variance of the 12-dimensional MFCC coefficients from the estimated noise and utilize the change point detection algorithm based on the penalty cost function to locate the splicing region, finding that the variance of the spliced region is significantly lower than that of the nonspliced regions. Experimental results show that the detection algorithm can accurately determine the starting position of splicing and can detect the entire splicing region. Compared with the splicing detection methods based on grid frequency and intrinsic statistical law of speech, the proposed method has fewer assumptions and can be applied to more forensic scenarios. The future work will focus on extracting more efficient hybrid features to further improve detection accuracy, and more scenarios closer to the real world such as reverberation will be considered.



---

*Source: 6659371-2021-01-27.xml*