# Music Similarity Detection Guided by Deep Learning Model

Authors: Xiuli Wang
Journal: Computational Intelligence and Neuroscience
 (2023)

---

## Abstract

Digital music has become a hot spot with the rapid development of network technology and digital audio technology. The general public is increasingly interested in music similarity detection (MSD). Similarity detection is mainly for music style classification. The core MSD process is to first extract music features, then implement training modeling, and finally input music features into the model for detection. Deep learning (DL) is a relatively new feature extraction technology to improve the extraction efficiency of music features. This paper first introduces the convolutional neural network (CNN) of DL algorithms and MSD. Then, an MSD algorithm is constructed based on CNN. Besides, the Harmony and Percussive Source Separation (HPSS) algorithm separates the original music signal spectrogram and decomposes it into two components: time characteristic harmonics and frequency characteristic shocks. These two elements are input to the CNN together with the data in the original spectrogram for processing. In addition, the training-related hyperparameters are adjusted, and the dataset is expanded to explore the influence of different parameters in the network structure on the music detection rate. Experiments on the GTZAN Genre Collection music dataset show that this method can effectively improve MSD using a single feature. The final detection result is 75.6%, indicating the superiority of this method compared with other classical detection methods.


---

## Body

## 1. Introduction

The public widely acquires digital music through different media. With the expansion of public demand, Music Information Retrieval (MIR) has been developed to offer users more convenient and accurate access to their preferred music. The core issue in MIR is music classification according to the music style, the emotions conveyed by music, and different singers to satisfy as many users as possible. A good MIR can stimulate people’s interest in searching for their favorite music and allows developers to manage different music more effectively. However, the structural characteristics of the same musical style may significantly vary since there are changes in singing venues, musical instruments, and singers when they sing the music repertoires. Even when the same singer sings the same song again, the structural characteristics will change due to different ranges.The public can extensively acquire digital music through different media. With increasing public demand, Music Information Retrieval (MIR) has been developed to enable users to conveniently and accurately find the music they are interested in. The core task of MIR is the identification of musical styles, that is, to identify the similarity between music pieces, it is possible to classify the style of music and express emotions and different singers and other factors by detecting the similarity between pieces of music. It allows developers to manage different music efficiently. However, since people sing many music repertoires, the structural characteristics of musical styles are quite different due to the changes in singing venues, musical instruments, and singers. Even if the same singer sings the same song again, the structural characteristics will change due to the different use of the vocal range. Therefore, since the current MIR system is not perfect, a music similarity detection algorithm that simulates human ear cognition to deeply analyze music signals is needed to improve the accuracy of music recommendations.It is very convenient to use deep learning (DL) algorithms to extract features to complete detection tasks. DL technology analyzes and processes complex multidimensional data through a hierarchical structure. Each layer in the structure is composed of small units of feature detectors. The low-level structure first detects simple features and transfers them to high-level ones. The high-level detection process obtains complex features. Simply put, the core idea of the DL algorithm is to obtain more complex and deep feature expression through the superposition of multiple nonlinear processing units. In other words, it finally obtains the hierarchical feature expression of the original music information through the analysis and processing of data transfer between layers. The principle of DL is to process information by imitating the human brain structure. Correspondingly, this algorithm stores a large amount of data in advance, analyzes the correlation between the internal information, and mines the core features of the data to improve the detection and classification performance. DL is essentially a type of large, complex, and deep-level neural network. The current research results are primarily single studies rather than systematic implementation and application. Sheikh Fathollahi and Razzazi designed a similarity and music recommendation system by considering the cosine similarity and Euclidean distance between feature vectors [1]. Purwins et al. determined the key issues and future issues of the application of DL in audio signal processing [2]. Zinemanas et al. proposed a novel interpretable DL model for automatic sound classification based on the similarity of the input to a set of learned prototypes in the latent space to explain its predictions. The proposed model achieved comparable results to state-of-the-art methods on three different sound classification tasks involving speech, music, and ambient audio [3].The convolutional neural network (CNN) in the DL algorithms reported here principally uses the Harmony and Percussive Source Separation (HPSS) algorithm to process the spectrogram separation of the original music signal. The processed data are input into the CNN for processing. Then, the effect of the training-related hyperparameters on the detection rate is studied through specific parameter adjustment and the expansion of the dataset. Experimental results demonstrate that this scheme can effectively improve music similarity detection (MSD) using a single feature.This paper innovatively uses the CNN in the DL model to process the original music signal spectrogram separation processing through the HPSS algorithm. Then, the data are input together into the multilayer volume. Finally, the training-related hyperparameters are adjusted, and the dataset is expanded to study its effect on the detection rate of music similarity. This work can effectively improve the detection of music similarity using a single feature.


## 2. Materials and Methods

### 2.1. Preprocessing of Music Signals

Factors from different angles will make the extracted music signal features inaccurate and detailed. As a result, the detection accuracy of music similarity has always been unsatisfactory. Figure1 reveals the structure used in every detection method.Figure 1
Structure of the generic MSD and classification system.According to Figure1, the system’s core element is extracting and classifying music features. The accuracy of feature extraction determines the final result of similarity detection. The two core parts of music detection are to extract music features and classify detection. It is necessary to extract as many feature quantities as possible in the music data for modeling and to detect and classify music according to the specific detection and classification task [4]. Therefore, preprocessing music samples is the pivotal first step in detection and classification. This paper adopts the Mel-Frequency Cepstral Coefficient (MFCC) based on cepstral (Cepstrum is the result of Fourier transform in the logarithmic domain of the spectrum.), which is in line with human hearing [5]. It transforms the music signal into a spectrogram through the frequency domain features of the signal. Since the sound is an analog signal, it is essential to convert the sound waveform into an acoustic feature vector [6]. Figure 2 is a flowchart of feature extraction via MFCC.Figure 2
MFCC feature extraction flow.According to Figure2, the music signal is pre-emphasized, framed, windowed, and Fourier transformed. Then, the obtained power spectrum is passed through a triangular band-pass filter in calculating the power spectrum. The result of the filter output is converted into a logarithmic form using the relationship between the Mel domain and the linear frequency. Finally, the Discrete Cosine Transform is performed to obtain the MFCC coefficient value [7]. A series of preliminary procedures, such as analog-to-digital conversion and pre-emphasis, must be carried out before starting the MFCC. The analog-to-digital conversion mainly includes two tasks: sampling and quantization. The purpose of the analog-to-digital conversion is to convert the analog signal into a digital signal. First, the sound signal wave is converted into a digital signal that is convenient for processing through a certain sampling number and sampling rate. Then, feature extraction is performed for digital signals through MFCC [8].


### 2.2. CNN

CNN is primarily used to process multidimensional array data. The input of each layer is the three-dimensional data, i.e., a feature map, and the output of each layer is also a three-dimensional feature map. The number of convolution kernels in each layer determines the number of three-dimensional feature maps [9]. The early stages of the network structure are the convolution layer and pooling layer. Each neuron in the map is a part of the previous image processed by a set of filters. Then, the result of this locally weighted sum is obtained by a nonlinear function. Since each feature map has the same filter, neurons can share weights to detect the same features in different parts of the image [10]. Figure 3 illustrates the convolution process.Figure 3
Intuitive diagram of the convolution process.Figure3 indicates the convolution result produced by a 3 ∗ 3 convolution kernel on a 5 ∗ 5 image. It can be seen that the function of the convolution layer is to locally connect the feature maps of the upper layer. The role of the pooling layer is to combine similar features into one. Since the feature positions can be moved, the feature positions can be obtained by coarse granulation [11]. When the input data change in the position of the previous layer, pooling can make the change robust. There are generally two methods for the pooling layer: Average Pooling and Max Pooling [12]. Figure 4 shows the Max Pooling process.Figure 4
Display of the max pooling process.As can be seen from Figure4, every 2 ∗ 2 size window selects a maximum value to obtain the value of the corresponding element of the output matrix. The deep neural network obtains the hierarchical structure through natural signals and combines the low-level features into high-level features [13]. For example, in image processing, the local edges are integrated into the underlying pattern, then synthesized as the local image, and finally constitute the overall image of the object [14].


### 2.3. MSD Based on CNN

#### 2.3.1. The Key to MSD Is the Feature Extraction of Music Information

CNN consists of three parts: multilevel processing of input images, extraction of multilayer data, and representation of high-level features. This paper applies CNN to MSD and analyzes the influence of the network structure parameters on the detection rate by changing them [15]. Figure 5 displays the overall framework of MSD.Figure 5
Overall framework of the MSD based on CNN.In Figure5, the original music is first separated into harmonic and shock sound sources using the HPSS algorithm. Then, the sound source and the original music are transformed into spectrograms through short-time Fourier transformation and input into the CNN for learning, training, and prediction. The final result is the detection rate [16].


#### 2.3.2. This Paper Mainly Uses the Harmonic/Percussive Separation Algorithm for MSD to Separate the Harmonic and Impact Sound Components in the Music Signal

This algorithm relies on the anisotropic continuity of the spectrogram to separate the signal. Since the shock spectrum is continuously and smoothly distributed in frequency, the harmonic spectrum is continuously and smoothly distributed in the time direction [17]. Equation (1) is derived from the differences in the spectral representation of impact and harmonic sounds.(1)Wf,t=Pf,t+Hf,t.In equation (1), t represents time; f stands for the frequency index; Wf,t signifies the original spectral frequency; Pf,t denotes the impulse frequency spectrum, which must be greater than 0; Hf,t indicates the harmonic spectrum, which must be greater than 0. Assuming that Pf−1,t − Pf,tHf−1,t, and Hf,t all satisfy the independent Gaussian distribution, and the original spectrum is composed of impact and harmonic sound. Then, the two can be separated through the minimization of equation (2) [18].(2)QH′,P′,U′,V′=1σH2∑f,tHf,t−1′−Uf,t′2−Hf,t′−Uf,t′2+1σP2∑f,tPf,t−1′−Vf,t′2−Pf,t′−Vf,t′2.In equation (2), i refers to the current iteration number; Uf,t′ and Vf,t′ are auxiliary parameters; Vt+1f, t = 0.5 (Pf,t′ − 1 + V′f, t), Ut+1f, t = 0.5 (Hf,t′ − 1 + Hf,t′); σH and σP represent the parametric factors for the smoothness of harmonic and percussive sounds, respectively [19]. Wf,t = |Ff,t|2γ, where Ff,t denotes the original signal after Fourier transform, and γ stands for a real number between 0 and 1 to correct the difference caused by the assumption [20]. The variables are updated according to equations (3) and (4) to make the Equation take the minimum value.(3)Hf,t−1′=Hf,t′+Δ′,(4)Pf,t−1′=Pf,t′+Δ′.In equations (3) and (4), ∆’ is an auxiliary parameter, andits value is equal to Δ′=α/4Hf,t−1′−2Hf,t′+Hf,t+1′−1−α/4Pf−1,t′−2Pf,t′+Pf+1,t′, where α=σP2/σH2+σP2 represents the weight factor. Equations (3) and (4) can ensure that the target can converge and is monotonically decreasing. After several iterations, the results can approach the minimum value to achieve the purpose of separating music signals [21].


#### 2.3.3. Network Structure

The first few layers of the CNN network structure are used as a feature extractor to automatically obtain the image features through supervised training, which are detected by the SoftMax function in the final layer [22]. Figure 6 presents the CNN structure.Figure 6
Structure of the CNN for MSD.As can be seen from Figure6, there are eight layers in CNN in total. The first five layers are alternating convolution layers and Max Pooling layers, and the remaining three are fully connected layers. The input image of CNN is the harmonic spectrum and impact spectrum generated by HPSS separation, including the original signal spectrum. The images are unified to 256 ∗ 256 and input into the first convolution filter. A filter operation is performed on the input image by 96 kernels of 11 ∗ 11 with a stride of 4 pixels in the first convolution layer due to the distance between the Receptive Field centers of adjacent neurons in the same core map [23]. Then, the Max Pooling layer uses the output of the first convolutional layer as the input and performs filtering operations with 96 kernels of size 3 ∗ 3. After unifying the input size, the second convolutional layer performs a filtering operation on the output of the Max Pooling layer using 256 kernels of 5 ∗ 5. The third, fourth, and fifth convolutional layers are connected to each other. There is no pooling or normalization layer in between. The third convolutional layer has a total of 384 kernels of size 3 ∗ 3 connected to the second convolutional layer’s output [24]. The fourth convolutional layer has a total of 384 kernels of size 3 ∗ 3, and the fifth convolutional layer has a total of 256 kernels of size 3 ∗ 3. Finally, 256 feature maps of size 6 ∗ 6 are obtained through these five convolutional layers. These feature maps are fed to three fully connected layers, each with 4096, 1,000, and 10 neurons. The final detection result is output by the last fully connected layer [25].


#### 2.3.4. Network Training and Learning Methods

The network structure is a deep layered CNN, which extracts local features by convolving the input image and a set of kernel filters. The convolution layer uses linear convolution filters and nonlinear activation functions to obtain feature maps. The plane formed by the output of neurons in the same layer is the feature map, which is processed by the Pooling layer to output the convolution feature map to the next layer. Finally, different nuclear filters are set in the Local Receptive Field to obtain various feature maps [26]. Equation (5) indicates the convolution performed on the entire feature map and the applied nonlinear activation function.(5)Xlq=max0,∑XP∈MqXl−1p⊕klpq+blq.In equation (5), Xlq denotes the feature map obtained by the q-th convolution kernel in the l-th layer; ⊕ signifies the convolution operation; klpq represents the convolution kernel; Mq represents the set of Xl−1q in the feature map, max represents the nonlinear activation function ReLU; blq refers to the bias. Since the normalization of local responses is beneficial to the generalization of the network, ReLU processing should be performed before normalization in some layers of this network [27]. This normalization of the response results in an effect similar to that of lateral inhibition in real neurons, which results in a comparison of neuron output values calculated by different convolution kernels, making it more sensitive to the activity of larger neurons. Equation (6) describes the Pooling layer used here.(6)Xlq=downXl−1p.In equation (6), down means the subsampling function to get the maximum value of the feature map, which is the result obtained by calculating the feature map Xlq in each n ∗ n area group, relying on Max Pooling [28]. In CNN, the convolution layer and Pooling layer appear alternately. Since the output layer is completely connected to the previous layer, the obtained feature vector can be directly input to the logistic regression layer to process the set detection task, and the backpropagation algorithm learning method is used to process the weights in the network [29]. The gradient of the l-th convolutional layer is calculated according to equation (7) in the learning process through backpropagation.(7)yl=wlxl+blxl=fyl−1Δyl=f′ylΔxl+1.In equation (7), Wl represents the weight of the l-th filter; bl denotes the bias vector; yl refers to the output; f represents the activation function; f′ signifies the derivative of the activation function f. (8) indicates the update rule for the weight size Wl(8)uli+1=αμl′−ληωl′−η∂L∂ω|ωl′ωli+l=ωl′+μli+lD′.In equation (8), i represents the iteration index; α stands for the momentum factor; μ refers to the dynamic variable; λ signifies the weight decay; η indicates the learning rate; ∂L/∂ω|ωl′D′ represents the average value of the derivative ω′ of the loss function L with respect to ω on the i-th batch D′.Stochastic Gradient Descent is usually used to train the network. Since the training error of the model can be reduced when the weight attenuation is small, the weight attenuation is set to 0.0005 in the model learning [30]. Dropout and Momentum are used to enhance the learning effect. Besides, Dropout is used to prevent overfitting in the process of training the neural network. To reasonably shorten the processing time of network convergence, this paper sets the Dropout value in the fully connected layer to 0.510, α is set to 0.9, and λ is set to 0.0005.There are three fully connected layers in the network structure reported here. The last fully connected layer, the eighth layer, is the output layer. The output of the seventh layer is the input of the output layer, containingm neurons corresponding to m types of music styles, and the output probability is P = [P1, P2, …, Pm]. The Softmax regression presented in equation (9) is used.(9)pl=expX8j∑i=1mexpX8j.In equation (9), (X8) denotes the input of the softmax function, j stands for the current category to be calculated, and j = 1, …, m. The cross-entropy function is the loss function for the network training, defined as:(10)L=−∑j=1mhjlogpj.In equation (10), hj represents the expected output of the j-th class, and its value is zero or one. When the value is 1, it corresponds to the real class, and Pj represents the real output of the j-th class.


## 2.1. Preprocessing of Music Signals

Factors from different angles will make the extracted music signal features inaccurate and detailed. As a result, the detection accuracy of music similarity has always been unsatisfactory. Figure1 reveals the structure used in every detection method.Figure 1
Structure of the generic MSD and classification system.According to Figure1, the system’s core element is extracting and classifying music features. The accuracy of feature extraction determines the final result of similarity detection. The two core parts of music detection are to extract music features and classify detection. It is necessary to extract as many feature quantities as possible in the music data for modeling and to detect and classify music according to the specific detection and classification task [4]. Therefore, preprocessing music samples is the pivotal first step in detection and classification. This paper adopts the Mel-Frequency Cepstral Coefficient (MFCC) based on cepstral (Cepstrum is the result of Fourier transform in the logarithmic domain of the spectrum.), which is in line with human hearing [5]. It transforms the music signal into a spectrogram through the frequency domain features of the signal. Since the sound is an analog signal, it is essential to convert the sound waveform into an acoustic feature vector [6]. Figure 2 is a flowchart of feature extraction via MFCC.Figure 2
MFCC feature extraction flow.According to Figure2, the music signal is pre-emphasized, framed, windowed, and Fourier transformed. Then, the obtained power spectrum is passed through a triangular band-pass filter in calculating the power spectrum. The result of the filter output is converted into a logarithmic form using the relationship between the Mel domain and the linear frequency. Finally, the Discrete Cosine Transform is performed to obtain the MFCC coefficient value [7]. A series of preliminary procedures, such as analog-to-digital conversion and pre-emphasis, must be carried out before starting the MFCC. The analog-to-digital conversion mainly includes two tasks: sampling and quantization. The purpose of the analog-to-digital conversion is to convert the analog signal into a digital signal. First, the sound signal wave is converted into a digital signal that is convenient for processing through a certain sampling number and sampling rate. Then, feature extraction is performed for digital signals through MFCC [8].


## 2.2. CNN

CNN is primarily used to process multidimensional array data. The input of each layer is the three-dimensional data, i.e., a feature map, and the output of each layer is also a three-dimensional feature map. The number of convolution kernels in each layer determines the number of three-dimensional feature maps [9]. The early stages of the network structure are the convolution layer and pooling layer. Each neuron in the map is a part of the previous image processed by a set of filters. Then, the result of this locally weighted sum is obtained by a nonlinear function. Since each feature map has the same filter, neurons can share weights to detect the same features in different parts of the image [10]. Figure 3 illustrates the convolution process.Figure 3
Intuitive diagram of the convolution process.Figure3 indicates the convolution result produced by a 3 ∗ 3 convolution kernel on a 5 ∗ 5 image. It can be seen that the function of the convolution layer is to locally connect the feature maps of the upper layer. The role of the pooling layer is to combine similar features into one. Since the feature positions can be moved, the feature positions can be obtained by coarse granulation [11]. When the input data change in the position of the previous layer, pooling can make the change robust. There are generally two methods for the pooling layer: Average Pooling and Max Pooling [12]. Figure 4 shows the Max Pooling process.Figure 4
Display of the max pooling process.As can be seen from Figure4, every 2 ∗ 2 size window selects a maximum value to obtain the value of the corresponding element of the output matrix. The deep neural network obtains the hierarchical structure through natural signals and combines the low-level features into high-level features [13]. For example, in image processing, the local edges are integrated into the underlying pattern, then synthesized as the local image, and finally constitute the overall image of the object [14].


## 2.3. MSD Based on CNN

### 2.3.1. The Key to MSD Is the Feature Extraction of Music Information

CNN consists of three parts: multilevel processing of input images, extraction of multilayer data, and representation of high-level features. This paper applies CNN to MSD and analyzes the influence of the network structure parameters on the detection rate by changing them [15]. Figure 5 displays the overall framework of MSD.Figure 5
Overall framework of the MSD based on CNN.In Figure5, the original music is first separated into harmonic and shock sound sources using the HPSS algorithm. Then, the sound source and the original music are transformed into spectrograms through short-time Fourier transformation and input into the CNN for learning, training, and prediction. The final result is the detection rate [16].


### 2.3.2. This Paper Mainly Uses the Harmonic/Percussive Separation Algorithm for MSD to Separate the Harmonic and Impact Sound Components in the Music Signal

This algorithm relies on the anisotropic continuity of the spectrogram to separate the signal. Since the shock spectrum is continuously and smoothly distributed in frequency, the harmonic spectrum is continuously and smoothly distributed in the time direction [17]. Equation (1) is derived from the differences in the spectral representation of impact and harmonic sounds.(1)Wf,t=Pf,t+Hf,t.In equation (1), t represents time; f stands for the frequency index; Wf,t signifies the original spectral frequency; Pf,t denotes the impulse frequency spectrum, which must be greater than 0; Hf,t indicates the harmonic spectrum, which must be greater than 0. Assuming that Pf−1,t − Pf,tHf−1,t, and Hf,t all satisfy the independent Gaussian distribution, and the original spectrum is composed of impact and harmonic sound. Then, the two can be separated through the minimization of equation (2) [18].(2)QH′,P′,U′,V′=1σH2∑f,tHf,t−1′−Uf,t′2−Hf,t′−Uf,t′2+1σP2∑f,tPf,t−1′−Vf,t′2−Pf,t′−Vf,t′2.In equation (2), i refers to the current iteration number; Uf,t′ and Vf,t′ are auxiliary parameters; Vt+1f, t = 0.5 (Pf,t′ − 1 + V′f, t), Ut+1f, t = 0.5 (Hf,t′ − 1 + Hf,t′); σH and σP represent the parametric factors for the smoothness of harmonic and percussive sounds, respectively [19]. Wf,t = |Ff,t|2γ, where Ff,t denotes the original signal after Fourier transform, and γ stands for a real number between 0 and 1 to correct the difference caused by the assumption [20]. The variables are updated according to equations (3) and (4) to make the Equation take the minimum value.(3)Hf,t−1′=Hf,t′+Δ′,(4)Pf,t−1′=Pf,t′+Δ′.In equations (3) and (4), ∆’ is an auxiliary parameter, andits value is equal to Δ′=α/4Hf,t−1′−2Hf,t′+Hf,t+1′−1−α/4Pf−1,t′−2Pf,t′+Pf+1,t′, where α=σP2/σH2+σP2 represents the weight factor. Equations (3) and (4) can ensure that the target can converge and is monotonically decreasing. After several iterations, the results can approach the minimum value to achieve the purpose of separating music signals [21].


### 2.3.3. Network Structure

The first few layers of the CNN network structure are used as a feature extractor to automatically obtain the image features through supervised training, which are detected by the SoftMax function in the final layer [22]. Figure 6 presents the CNN structure.Figure 6
Structure of the CNN for MSD.As can be seen from Figure6, there are eight layers in CNN in total. The first five layers are alternating convolution layers and Max Pooling layers, and the remaining three are fully connected layers. The input image of CNN is the harmonic spectrum and impact spectrum generated by HPSS separation, including the original signal spectrum. The images are unified to 256 ∗ 256 and input into the first convolution filter. A filter operation is performed on the input image by 96 kernels of 11 ∗ 11 with a stride of 4 pixels in the first convolution layer due to the distance between the Receptive Field centers of adjacent neurons in the same core map [23]. Then, the Max Pooling layer uses the output of the first convolutional layer as the input and performs filtering operations with 96 kernels of size 3 ∗ 3. After unifying the input size, the second convolutional layer performs a filtering operation on the output of the Max Pooling layer using 256 kernels of 5 ∗ 5. The third, fourth, and fifth convolutional layers are connected to each other. There is no pooling or normalization layer in between. The third convolutional layer has a total of 384 kernels of size 3 ∗ 3 connected to the second convolutional layer’s output [24]. The fourth convolutional layer has a total of 384 kernels of size 3 ∗ 3, and the fifth convolutional layer has a total of 256 kernels of size 3 ∗ 3. Finally, 256 feature maps of size 6 ∗ 6 are obtained through these five convolutional layers. These feature maps are fed to three fully connected layers, each with 4096, 1,000, and 10 neurons. The final detection result is output by the last fully connected layer [25].


### 2.3.4. Network Training and Learning Methods

The network structure is a deep layered CNN, which extracts local features by convolving the input image and a set of kernel filters. The convolution layer uses linear convolution filters and nonlinear activation functions to obtain feature maps. The plane formed by the output of neurons in the same layer is the feature map, which is processed by the Pooling layer to output the convolution feature map to the next layer. Finally, different nuclear filters are set in the Local Receptive Field to obtain various feature maps [26]. Equation (5) indicates the convolution performed on the entire feature map and the applied nonlinear activation function.(5)Xlq=max0,∑XP∈MqXl−1p⊕klpq+blq.In equation (5), Xlq denotes the feature map obtained by the q-th convolution kernel in the l-th layer; ⊕ signifies the convolution operation; klpq represents the convolution kernel; Mq represents the set of Xl−1q in the feature map, max represents the nonlinear activation function ReLU; blq refers to the bias. Since the normalization of local responses is beneficial to the generalization of the network, ReLU processing should be performed before normalization in some layers of this network [27]. This normalization of the response results in an effect similar to that of lateral inhibition in real neurons, which results in a comparison of neuron output values calculated by different convolution kernels, making it more sensitive to the activity of larger neurons. Equation (6) describes the Pooling layer used here.(6)Xlq=downXl−1p.In equation (6), down means the subsampling function to get the maximum value of the feature map, which is the result obtained by calculating the feature map Xlq in each n ∗ n area group, relying on Max Pooling [28]. In CNN, the convolution layer and Pooling layer appear alternately. Since the output layer is completely connected to the previous layer, the obtained feature vector can be directly input to the logistic regression layer to process the set detection task, and the backpropagation algorithm learning method is used to process the weights in the network [29]. The gradient of the l-th convolutional layer is calculated according to equation (7) in the learning process through backpropagation.(7)yl=wlxl+blxl=fyl−1Δyl=f′ylΔxl+1.In equation (7), Wl represents the weight of the l-th filter; bl denotes the bias vector; yl refers to the output; f represents the activation function; f′ signifies the derivative of the activation function f. (8) indicates the update rule for the weight size Wl(8)uli+1=αμl′−ληωl′−η∂L∂ω|ωl′ωli+l=ωl′+μli+lD′.In equation (8), i represents the iteration index; α stands for the momentum factor; μ refers to the dynamic variable; λ signifies the weight decay; η indicates the learning rate; ∂L/∂ω|ωl′D′ represents the average value of the derivative ω′ of the loss function L with respect to ω on the i-th batch D′.Stochastic Gradient Descent is usually used to train the network. Since the training error of the model can be reduced when the weight attenuation is small, the weight attenuation is set to 0.0005 in the model learning [30]. Dropout and Momentum are used to enhance the learning effect. Besides, Dropout is used to prevent overfitting in the process of training the neural network. To reasonably shorten the processing time of network convergence, this paper sets the Dropout value in the fully connected layer to 0.510, α is set to 0.9, and λ is set to 0.0005.There are three fully connected layers in the network structure reported here. The last fully connected layer, the eighth layer, is the output layer. The output of the seventh layer is the input of the output layer, containingm neurons corresponding to m types of music styles, and the output probability is P = [P1, P2, …, Pm]. The Softmax regression presented in equation (9) is used.(9)pl=expX8j∑i=1mexpX8j.In equation (9), (X8) denotes the input of the softmax function, j stands for the current category to be calculated, and j = 1, …, m. The cross-entropy function is the loss function for the network training, defined as:(10)L=−∑j=1mhjlogpj.In equation (10), hj represents the expected output of the j-th class, and its value is zero or one. When the value is 1, it corresponds to the real class, and Pj represents the real output of the j-th class.


## 2.3.1. The Key to MSD Is the Feature Extraction of Music Information

CNN consists of three parts: multilevel processing of input images, extraction of multilayer data, and representation of high-level features. This paper applies CNN to MSD and analyzes the influence of the network structure parameters on the detection rate by changing them [15]. Figure 5 displays the overall framework of MSD.Figure 5
Overall framework of the MSD based on CNN.In Figure5, the original music is first separated into harmonic and shock sound sources using the HPSS algorithm. Then, the sound source and the original music are transformed into spectrograms through short-time Fourier transformation and input into the CNN for learning, training, and prediction. The final result is the detection rate [16].


## 2.3.2. This Paper Mainly Uses the Harmonic/Percussive Separation Algorithm for MSD to Separate the Harmonic and Impact Sound Components in the Music Signal

This algorithm relies on the anisotropic continuity of the spectrogram to separate the signal. Since the shock spectrum is continuously and smoothly distributed in frequency, the harmonic spectrum is continuously and smoothly distributed in the time direction [17]. Equation (1) is derived from the differences in the spectral representation of impact and harmonic sounds.(1)Wf,t=Pf,t+Hf,t.In equation (1), t represents time; f stands for the frequency index; Wf,t signifies the original spectral frequency; Pf,t denotes the impulse frequency spectrum, which must be greater than 0; Hf,t indicates the harmonic spectrum, which must be greater than 0. Assuming that Pf−1,t − Pf,tHf−1,t, and Hf,t all satisfy the independent Gaussian distribution, and the original spectrum is composed of impact and harmonic sound. Then, the two can be separated through the minimization of equation (2) [18].(2)QH′,P′,U′,V′=1σH2∑f,tHf,t−1′−Uf,t′2−Hf,t′−Uf,t′2+1σP2∑f,tPf,t−1′−Vf,t′2−Pf,t′−Vf,t′2.In equation (2), i refers to the current iteration number; Uf,t′ and Vf,t′ are auxiliary parameters; Vt+1f, t = 0.5 (Pf,t′ − 1 + V′f, t), Ut+1f, t = 0.5 (Hf,t′ − 1 + Hf,t′); σH and σP represent the parametric factors for the smoothness of harmonic and percussive sounds, respectively [19]. Wf,t = |Ff,t|2γ, where Ff,t denotes the original signal after Fourier transform, and γ stands for a real number between 0 and 1 to correct the difference caused by the assumption [20]. The variables are updated according to equations (3) and (4) to make the Equation take the minimum value.(3)Hf,t−1′=Hf,t′+Δ′,(4)Pf,t−1′=Pf,t′+Δ′.In equations (3) and (4), ∆’ is an auxiliary parameter, andits value is equal to Δ′=α/4Hf,t−1′−2Hf,t′+Hf,t+1′−1−α/4Pf−1,t′−2Pf,t′+Pf+1,t′, where α=σP2/σH2+σP2 represents the weight factor. Equations (3) and (4) can ensure that the target can converge and is monotonically decreasing. After several iterations, the results can approach the minimum value to achieve the purpose of separating music signals [21].


## 2.3.3. Network Structure

The first few layers of the CNN network structure are used as a feature extractor to automatically obtain the image features through supervised training, which are detected by the SoftMax function in the final layer [22]. Figure 6 presents the CNN structure.Figure 6
Structure of the CNN for MSD.As can be seen from Figure6, there are eight layers in CNN in total. The first five layers are alternating convolution layers and Max Pooling layers, and the remaining three are fully connected layers. The input image of CNN is the harmonic spectrum and impact spectrum generated by HPSS separation, including the original signal spectrum. The images are unified to 256 ∗ 256 and input into the first convolution filter. A filter operation is performed on the input image by 96 kernels of 11 ∗ 11 with a stride of 4 pixels in the first convolution layer due to the distance between the Receptive Field centers of adjacent neurons in the same core map [23]. Then, the Max Pooling layer uses the output of the first convolutional layer as the input and performs filtering operations with 96 kernels of size 3 ∗ 3. After unifying the input size, the second convolutional layer performs a filtering operation on the output of the Max Pooling layer using 256 kernels of 5 ∗ 5. The third, fourth, and fifth convolutional layers are connected to each other. There is no pooling or normalization layer in between. The third convolutional layer has a total of 384 kernels of size 3 ∗ 3 connected to the second convolutional layer’s output [24]. The fourth convolutional layer has a total of 384 kernels of size 3 ∗ 3, and the fifth convolutional layer has a total of 256 kernels of size 3 ∗ 3. Finally, 256 feature maps of size 6 ∗ 6 are obtained through these five convolutional layers. These feature maps are fed to three fully connected layers, each with 4096, 1,000, and 10 neurons. The final detection result is output by the last fully connected layer [25].


## 2.3.4. Network Training and Learning Methods

The network structure is a deep layered CNN, which extracts local features by convolving the input image and a set of kernel filters. The convolution layer uses linear convolution filters and nonlinear activation functions to obtain feature maps. The plane formed by the output of neurons in the same layer is the feature map, which is processed by the Pooling layer to output the convolution feature map to the next layer. Finally, different nuclear filters are set in the Local Receptive Field to obtain various feature maps [26]. Equation (5) indicates the convolution performed on the entire feature map and the applied nonlinear activation function.(5)Xlq=max0,∑XP∈MqXl−1p⊕klpq+blq.In equation (5), Xlq denotes the feature map obtained by the q-th convolution kernel in the l-th layer; ⊕ signifies the convolution operation; klpq represents the convolution kernel; Mq represents the set of Xl−1q in the feature map, max represents the nonlinear activation function ReLU; blq refers to the bias. Since the normalization of local responses is beneficial to the generalization of the network, ReLU processing should be performed before normalization in some layers of this network [27]. This normalization of the response results in an effect similar to that of lateral inhibition in real neurons, which results in a comparison of neuron output values calculated by different convolution kernels, making it more sensitive to the activity of larger neurons. Equation (6) describes the Pooling layer used here.(6)Xlq=downXl−1p.In equation (6), down means the subsampling function to get the maximum value of the feature map, which is the result obtained by calculating the feature map Xlq in each n ∗ n area group, relying on Max Pooling [28]. In CNN, the convolution layer and Pooling layer appear alternately. Since the output layer is completely connected to the previous layer, the obtained feature vector can be directly input to the logistic regression layer to process the set detection task, and the backpropagation algorithm learning method is used to process the weights in the network [29]. The gradient of the l-th convolutional layer is calculated according to equation (7) in the learning process through backpropagation.(7)yl=wlxl+blxl=fyl−1Δyl=f′ylΔxl+1.In equation (7), Wl represents the weight of the l-th filter; bl denotes the bias vector; yl refers to the output; f represents the activation function; f′ signifies the derivative of the activation function f. (8) indicates the update rule for the weight size Wl(8)uli+1=αμl′−ληωl′−η∂L∂ω|ωl′ωli+l=ωl′+μli+lD′.In equation (8), i represents the iteration index; α stands for the momentum factor; μ refers to the dynamic variable; λ signifies the weight decay; η indicates the learning rate; ∂L/∂ω|ωl′D′ represents the average value of the derivative ω′ of the loss function L with respect to ω on the i-th batch D′.Stochastic Gradient Descent is usually used to train the network. Since the training error of the model can be reduced when the weight attenuation is small, the weight attenuation is set to 0.0005 in the model learning [30]. Dropout and Momentum are used to enhance the learning effect. Besides, Dropout is used to prevent overfitting in the process of training the neural network. To reasonably shorten the processing time of network convergence, this paper sets the Dropout value in the fully connected layer to 0.510, α is set to 0.9, and λ is set to 0.0005.There are three fully connected layers in the network structure reported here. The last fully connected layer, the eighth layer, is the output layer. The output of the seventh layer is the input of the output layer, containingm neurons corresponding to m types of music styles, and the output probability is P = [P1, P2, …, Pm]. The Softmax regression presented in equation (9) is used.(9)pl=expX8j∑i=1mexpX8j.In equation (9), (X8) denotes the input of the softmax function, j stands for the current category to be calculated, and j = 1, …, m. The cross-entropy function is the loss function for the network training, defined as:(10)L=−∑j=1mhjlogpj.In equation (10), hj represents the expected output of the j-th class, and its value is zero or one. When the value is 1, it corresponds to the real class, and Pj represents the real output of the j-th class.


## 3. Results and Discussion

In this experiment, the CNN model is trained through the Caffe framework to complete the detection of music similarity. First, the spectrogram of each music track is generated, and the HPSS algorithm extracts the corresponding time and frequency features in each music track. Second, all the data, such as the harmonic spectrum of time characteristic, impact spectrum of frequency characteristic, and original music signal spectrum, are conveyed to the CNN together. Third, the network parameters are changed, and the final detection result can be obtained through training and tests.The main performance index referenced here is the detection rate. A total of 500 audio recordings containing a total of 3,000 music excerpts are used in the training and testing. Then, the degree of the influence of the training-related hyperparameters on the detection rate is explored through particular modification. Table1 lists the final results of hyperparameters and tuning related to tuning training.Table 1
Training-related hyperparameters and tuning results.
Related hyperparametersLearning rateηMomentum coefficientμWeight decay coefficientλBatch-sizeDropout coefficientValue0.0100.9100.00516.1000.510It can be seen from Table1 that the training-related hyperparameters will significantly affect the convergence and learning rate of the network, which can be obtained through the cubic plot of the detection rate. All the data in the test dataset are randomly distributed at a ratio of 5 : 1 to form two subsets. Table 1 summarizes the parameter values when the error rate of the training set becomes stable and within an acceptable range in the process of adjusting the parameters.Due to the limited space of the article, only the impact of the learning rateη in the training-related hyperparameters is presented here. The results are shown in Figure 7.Figure 7
Effect of the learning rateη on the detection rate.It can be clearly seen from Figure7 that after 20,000 iterations, when the learning rate η is 0.001, the learning process is prolonged, but the detection rate is stable enough. Therefore, it is necessary to appropriately increase the learning rate η to speed up the learning process and ensure stability. However, when the learning rate η reaches 0.1, the learning process is unstable, and the detection performance deteriorates.It is finally found that the training-related hyperparameters in CNN, including the learning rate, momentum coefficient, weight decay coefficient, and dropout value, can significantly change the network training results, which are extremely sensitive. When using the hyperparameter values set in Table1 to conduct experiments, the detection rate in the dataset is 75.6% without expanding the experimental data.It is finally found that the training-related hyperparameters in CNN, whether the learning rate, momentum coefficient, the weight decay coefficient, or dropout value, can significantly change the network training results, which are extremely sensitive. When conducting experiments under the hyperparameter values set in Table1, the detection rate in the dataset is 75.6% without expanding the experimental data. The convolutional layers are divided into four, five, and six layers to study the influence of the number of convolutional layers on the recognition rate. The recognition rate under different iterations is discussed in turn, as shown in Figure 8.Figure 8
Influence of the number of convolutional layers on recognition rate.As can be seen in Figure8, although the convergence speed of the four-layer network is faster, the recognition rate is lower than that of the deeper network as the number of iterations increases. However, although the abstraction ability is better, the recognition rate will decrease when the depth is deeper. Therefore, under normal circumstances, five convolutional layers can already get a good image representation.The first way to expand the experimental data is to increase the training samples. Firstly, image blocks of size 224 ∗ 224 are randomly extracted from the 256 ∗ 256 image, and each image block is smaller than the original image. Thus, the central part is included in the training set. The second method is to enhance the training data through Principal Component Analysis (PCA). A PCA transformation is performed on each Red, Green, and Blue (RGB) for denoising to ensure the richness of RGB images. Then, random scale factors are added to each feature value, and new scale factors are regenerated in each round. This operation can significantly change the salient features in the same image and reduce the chance of overfitting in the process. Before and after data expansion, the features of time series and frequency series are manually extracted and put into CNN for training in different combinations. Figure9 provides the specific effect.Figure 9
Detection rates of different maps before and after data augmentation.According to Figure9, different effects are obtained before and after data expansion when the features of manually extracted time series and frequency series are put into CNN training in different combinations. A better detection rate can be obtained when all three feature maps are entered. The results fully illustrate the necessity of comprehensive features. Figure 8 also suggests that the results are significantly improved when the experimental data are fully expanded. Because CNN has many parameters, sufficient training image data can ensure the effectiveness of training. Thus, the process of data expansion is essential to obtain robustness for more image samples and various differences.Through continuous research, it has been found that the changes in music repertoire are vibrant, but the amount of data used is far from enough. Besides, the current training data cannot achieve perfect results for the eight-layer network structure used here. Not surprisingly, more training data can gradually improve the detection achieved so far. Figure10 compares the detection rate of the algorithm reported here with the existing detection methods.Figure 10
Comparison of the MSD rates obtained by different methods.According to Figure10, the Gwardys method uses the HPSS algorithm to obtain the spectrogram, and the final detection rate is 72.2%, which is higher than that of this CNN method. Lee’s method only trains a two-layer Convolutional Deep Belief Network (CDBN). The depth of the CDBN detection model is shallower than the CNN, but the accuracy is not low, indicating that shallow networks can also produce ideal results in small datasets. Yang uses the K-Means Clustering algorithm for detection, which belongs to the category of machine learning, and the final detection rate is only 70.6%. It can be seen that the detection rate of the DL method reported here improves to a certain extent.After the above similarity detection method, this paper classifies music styles in the form of a confusion matrix based on the GTZAN dataset. It is the most commonly used public dataset in machine hearing research to evaluate music genre recognition. The results are shown in Table2.Table 2
Classification confusion matrix of music styles based on GTZAN dataset.
Prediction results of music stylesProbability (%)BluesClassicsCountry musicDiscoJazzPopBlues (actual style)83.112.10.00.00.00.0Classics (actual style)10.875.30.00.00.00.0Country music (actual style)0.00.091.40.00.00.0Disco (actual style)5.15.25.679.411.49.7Jazz (actual style)0.07.60.05.186.57.6Pop (actual style)1.00.03.015.52.182.7As can be seen from Table2, the correct classification percentage is on the diagonal of the matrix. Because the boundaries of some music styles are not clear enough, it is easy to cause misjudgment. For example, some classical music is easily mistaken for blues music; disco music is also easy to be mistaken for popular styles. As a result, the classification accuracy of different types of music is not the same.


## 4. Conclusion

This paper proposes an MSD method based on CNN. The network framework used by the method was designed in detail, and some key factors affecting its detection rate performance were studied. Using the framework of CNNs makes it possible to apply DL to small datasets. At first, the detection rate was only 67.1% when the original spectrogram was used for the experiment. The training-related hyperparameters were adjusted, and data expansion was carried out to improve the results. After these operations, the final detection rate reached about 75.6%, making a particular improvement compared with several scholars’ previous results. Finally, music similarity detection is applied for music style classification. Due to the limitation of time, space, and personal ability, the detection rate has not achieved breakthrough progress but only improved compared with other methods, indicating that the advantages of CNNs have not been fully exerted. Future research will continue to strive to make greater progress as soon as possible.



---

*Source: 1263620-2023-02-20.xml*