Next Article in Journal
Transfer Learning for Radio Frequency Machine Learning: A Taxonomy and Survey
Next Article in Special Issue
Improved Spoken Language Representation for Intent Understanding in a Task-Oriented Dialogue System
Previous Article in Journal
Handheld Magnetic-Compliant Gamma-Ray Spectrometer for Environmental Monitoring and Scrap Metal Screening
Previous Article in Special Issue
Biosignal Sensors and Deep Learning-Based Speech Recognition: A Review
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Emotional Speech Recognition Using Deep Neural Networks

1
Faculty of Computer Engineering, School of Information and Communication Technology, Hanoi University of Science and Technology, Hanoi 10000, Vietnam
2
Department of Software Engineering, Faculty of Information Technology, University of Transport and Communications, Hanoi 10000, Vietnam
3
LIG, CNRS, Grenoble INP, Inria, Université Grenoble Alpes, 38000 Grenoble, France
4
Institute of Engineering, Université Grenoble Alpes, 38000 Grenoble, France
*
Author to whom correspondence should be addressed.
Submission received: 23 October 2021 / Revised: 29 January 2022 / Accepted: 30 January 2022 / Published: 12 February 2022
(This article belongs to the Special Issue VOICE Sensors with Deep Learning)

Abstract

:
The expression of emotions in human communication plays a very important role in the information that needs to be conveyed to the partner. The forms of expression of human emotions are very rich. It could be body language, facial expressions, eye contact, laughter, and tone of voice. The languages of the world’s peoples are different, but even without understanding a language in communication, people can almost understand part of the message that the other partner wants to convey with emotional expressions as mentioned. Among the forms of human emotional expression, the expression of emotions through voice is perhaps the most studied. This article presents our research on speech emotion recognition using deep neural networks such as CNN, CRNN, and GRU. We used the Interactive Emotional Dyadic Motion Capture (IEMOCAP) corpus for the study with four emotions: anger, happiness, sadness, and neutrality. The feature parameters used for recognition include the Mel spectral coefficients and other parameters related to the spectrum and the intensity of the speech signal. The data augmentation was used by changing the voice and adding white noise. The results show that the GRU model gave the highest average recognition accuracy of 97.47%. This result is superior to existing studies on speech emotion recognition with the IEMOCAP corpus.

1. Introduction

The fact that people have emotional expressions is one of the measures showing that human civilization is the highest. It can be said that only humans have very diverse emotional expressions. The expression of emotions can be through body language, eyes, facial expressions, voice, laughter, etc. Just one of them also corresponds to many different emotional forms. In direct or indirect communication, even if there is no corresponding communication image, the human voice both carries the content to be conveyed and at the same time expresses the emotional state of the person towards the communication content. Robots can do many things better than humans, but currently, the expression of emotions of robots, especially through voices, is far behind that of humans. Therefore, the research on speech emotion recognition plays an important role in promoting advances in human–machine interaction. A significant amount of emotional data with different languages has been built and, emotion-recognition studies have been conducted. Among the emotional corpus, IEMOCAP is multimodal emotional dataset in English and has been used as data for research on emotion recognition. For emotion recognition, multimodal recognition can be combined—for example, by combining speech-signal recognition with image recognition (face recognition and body-language recognition) and natural language recognition with noting exclamation words. In the case of such a combination, a better recognition efficiency will be achieved. It can be said that human interaction is marked by affects (attitudes and emotions) [1]. It is known that attitudes are constructed for each language and culture and must be learned by children or second-language students [2]. After [3], all attitudinal expressions are constructed for a certain language and culture, and they can differ between languages. Some attitudes can be expected to have a universal value, but specific attitudes in one language may not be recognized or may be ambiguous in another language [4]. Cross-cultural studies help to better understand this issue [4,5,6]. In contrast, emotions are more universal and therefore less dependent on language and culture [4].
In our study, we limited ourselves to emotion recognition based only on speech signals, and we will present new research results on using deep neural networks for speech emotion recognition with IEMOCAP. The remainder of the article is organized as follows. An overview of relevant studies is presented in Section 2. Section 3 describes the proposed materials and methods. Results and discussions are given in Section 4, and the final section is our conclusion.

2. Related Work

The research in [7] has surveyed and evaluated quite a significant number of studies on speech emotion recognition for different corpuses including IEMOCAP [8]. IEMOCAP was a corpus collected by the Speech Analysis and Interpretation Laboratory (SAIL) at the University of Southern California (USC). IEMOCAP launched in 2008, and since then there have been many studies on emotions using this corpus. In general, for convenience of comparison, most studies performed recognition for the same four emotions even though IEMOCAP has data for nine emotions (happiness, anger, sadness, frustration, surprise, fear, excitement, other, and a neutral state). Those four emotions are anger, happiness, sadness, and neutrality. For the happiness emotion, some studies consider excitement as happiness or combine excitement and happiness into a common emotion called happiness. On the other hand, according to [8], happiness and excitement are close in the activation and valence domain. In our study, excitement is considered happiness. To be able to compare the performance of recognition systems using the IEMOCAP corpus, we used four emotions of IEMOCAP as other studies have done. The construction of a system to identify all emotions by IEMOCAP will be reserved for another study.
In Table 14 (at the end of the article for convenience), we listed emotion-recognition studies with the IEMOCAP corpus, and in the limited scope of this article, we only focus on speech emotion-recognition studies using IEMOCAP speech data. The studies were listed mainly in recent years (2019 to 2021), with the remainder being a small number of studies from 2014 to 2018. From Table 14, we gave the models, the feature parameters, and the achieved recognition accuracy for each study. For the models that were used for emotion recognition, the vast majority of IEMOCAP emotion-recognition studies have used neural-network models. The commonality of the studies listed in Table 14 is that there is no data augmentation for IEMOCAP. In [9], the authors used SVM to recognize four emotions from IEMOCAP with an average accuracy of 71.9%. The studies listed in Table 14 from 2015 to now all used neural-network models. Studies using the LSTM model [10,11,12,13,14,15,16] account for a fairly large proportion of the total number of studies. Besides, studies were using CNN in combination with LSTM [17,18,19,20]. CNN, DCNN, and multi-channel CNN models were used in [21,22,23,24]. A combination of CNN and RNN models to get the CRNN model was used in [25]. For the study in [26], the model used was based on attention-based convolutional neural networks (ACNN).
For the feature parameters that have been used for emotion recognition, some studies combine the features of speech and textual data. Those are the studies in [13,15,21,24,27,28]. There are a large number of studies that have used a spectrogram, a Mel-spectrogram, or a combination of a spectrogram and a MFCC as feature parameters [10,14,17,18,22,23,25,29,30,31,32,33,34]. MFCC or MFSC were used in [15,16,19,23,24,26,35,36]. For [11], feature parameters are log-spectra of short-time Fourier transforms. Besides the feature parameters mentioned above, several other features are used in combination such as chromagram, tonnetz, spectral contrast, pitch, spectral centroid, energy, zero-crossing rate, spectral flux, and spectral roll-off [15,16,19,23,35].
Among the studies listed in Table 14, studies [29,31,32] have higher recognition accuracies. In the following, we present more closely these three studies. The recognition accuracies for four emotions (anger, happy, neutral, and sadness) in [29,31,32] were 95.90%, 83.8%, and 81.75%, respectively. The common point of these studies is that they used CNN, and feature parameters were based on a spectrogram. The authors in [29] assumed that individuals may use different means to express emotions and then that Speech Emotion Recognition (SER) should be conditioned on the speaker identity information. So, one of the major contributions of [29] is that the authors have conditioned emotion classification to speaker identity by using a key-query-value attention called Self Speaker Attention (SSA), which allows computing both self and cross-attribute (relation between speaker identity and emotions) attention scores to focus on the emotion-relevant parts of an utterance. For feature parameters, [29] used the 3-D Log-Melspectrogram that consists of a three-channel input. The first channel is the static of the Log-Mel spectrogram from 40 filter banks; the second and third channels are deltas and delta-deltas, respectively, which can be considered as approximations of the first and second derivatives of the first channel. For evaluations, a 10-fold cross-validation technique was performed. There was no data augmentation in [29].
The main contributions of [32] are that the authors proposed an algorithm using a DCNN to extract emotional features for SER and a Correlation-based Feature Selection (CFS) algorithm, which led to improved accuracy for SER. For data, [32] used a supervised resampling filter to oversample the minority class (oversampling increases the number of samples in the minority class). The authors in [32] applied a ten-fold cross-validation technique to their evaluations. The data were randomly split into 10 equal parts for training and testing processes with a splitting ratio of 90:10. Data augmentation was not applied in [32].
For [31], the authors proposed a novel CNN architecture with special strides rather than a pooling scheme to extract the salient high-level features from spectrograms of speech signals for down-sampling the feature maps rather than the pooling layers. The research in [31] performed data pre-processing where the authors removed the noise through a novel adaptive thresholding technique followed by silent portions removal in aural data. The authors performed utterance-based experiments on SER with a five-fold cross-validation technique. The data were split by 80/20; 80% of the data were used for training and 20% for testing the model. There was also no data augmentation in [31].

3. Proposed Materials and Methods

In this section, we present the IEMOCAP corpus for experiments, data augmentation, feature parameters, and deep neural network (DNN) models for our research. The last part of the section is a brief description of the performance parameters used to evaluate the research results.
IEMOCAP is a multimodal emotional corpus. Ten actors were recorded in dyadic sessions (five sessions with two subjects each). In total, the database contained approximately twelve hours of data. With this database, the authors hoped to be able to expand and generalize their results about the relationship and interplay between speech, facial expressions, head motion, and hand gestures during an expressive speech and conversational interactions. The distribution of the sample number for nine emotions is given in Figure 1.
The sampling frequency of IEMOCAP wav files was 16,000  Hz. With a frame width of 256 samples and a frame shift of 128 samples, the average number of frames per wav file was 372 for IEMOCAP wav files. The frame shift was changed according to the sample number of the file. The smaller the number frame in the file, the smaller the frame shift. For the critical case, i.e., where the minimum frame shift was 0, the duration of the corresponding file will then be equal to 256 × 372 / Sampling   Frequency = 5.952 s. Wav files with a duration less than this value were disqualified. One such case is a wav file whose waveform is shown in Figure 2, the duration of which was 0.7642 s.
After removing corrupted files or files that are too short as mentioned above, the number of wav files of four emotions is as follows: 1075 angry files, 1014 sad files, 1007 happy files, and 1639 neutral files. By using data augmentation as we will show in the next paragraph, the number of files for each emotion were increased by four times. After data augmentation, the sum of files for four emotions was 1075 × 4 + 1014 × 4 + 1007 × 4 + 1639 × 4 = 4735 × 4 = 18,940 files.
In our experiments, the feature parameters were divided into two sets: S1 and S2. The parameter set S1 includes 128 Mel-spectral coefficients. The parameter set S2 includes set S1 plus 25 parameters as shown in Table 1. So, S2 includes 153 parameters. Librosa [37] was used to compute the set of feature parameters S1 and S2.
All 153 parameters can be classified into two groups of parameters: The first group deals with the characteristics of the speech signal spectrum, and the second group is related to the intensity or energy of the speech signal. The first group includes the parameters: Mel-spectral coefficients, spectral flatness, spectral bandwidth, spectral centroid, spectral contrast, roll-off frequency, and pitch. FRMS belongs to the second group. The emotion recognition in this case will be the Mel-spectral image recognition corresponding to the speech signal of the emotion. Therefore, for image recognition, convolution 2D calculation is more appropriate.
The Mel-spectral coefficients are typical characteristics of the different frequencies present in the signal. Spectral flatness is a measure to quantify how much noise-like a sound is. Spectral bandwidth is used to evaluate the spread of the spectrum. For a spectral centroid, each frame of a magnitude spectrogram is normalized and treated as a distribution over frequency bins, from which the mean (centroid) is extracted per frame. To compute the spectral contrast, each frame of a spectrogram is divided into sub-bands. For each sub-band, the energy contrast is estimated by comparing the mean energy in the top quantile (peak energy) to that of the bottom quantile (valley energy). High-contrast values generally correspond to clear, narrow-band signals, while low-contrast values correspond to broad-band noise. Chroma features consist of a twelve-element vector with each dimension representing the intensity associated with a particular semitone, regardless of the octave. The roll-off frequency denotes the approximate low-bass and high-treble limits in a frequency-response curve. Pitch reflects the bass or the treble of the perceived sound, and each sound is emitted with a fixed frequency. The pitch of the sound depends on these frequencies, and the higher the frequency of the sound, the higher the frequency of the perceived sound that will increase and vice versa. FRMS is a root-mean-square (RMS) value calculated for each frame.
Our contribution compared with previous studies on speech emotion recognition to the IEMOCAP corpus is the way the data were augmented. We augmented the data in two ways: changing the voice and adding noise. In this way, the data were increased by four times. Changing the voice is done by formant shifting. Female voices become closer to male voices if their formants are shifted to lower frequencies. In contrast, male voices become closer to female voices if their formants are shifted to higher frequencies. The Praat toolkits [38] were used to move the formants. To change the male voice closer to the female voice, the lift coefficient was 1.1, and to change a female voice closer to a male voice, the reduction factor was 0.909 as recommended by Praat.
Figure 3 illustrates the consequence of changing the voice by shifting the formants. Formants are the harmonic frequencies that occur in the human voice. They define timbre and change the perception of how a voice has been performed by a vocal conduit. They are characteristic of the “tone of voice “or “timbre” of each sound source and can produce interesting effects by altering them, such as making a man’s voice sound like that of a woman, and vice versa. It is well known that among the formants that can be from F 1 to F 5 , the formants F 1 and F 2 play an important part in conveying the content of the speech. Higher formants are involved in creating the tone of the voice. So, it can be seen that the shifting of formants is mainly for higher-order formants in terms of consequences.
White noise was added to the speech signal using Librosa. The white-noise amplitude was 3% of the maximum amplitude of the speech signal. Figure 4a,b illustrates the waveform and average signal-to-noise ratio before and after noise addition. The red line is S / N average. It can be seen that after adding noise, on average, the S / N ratio decreased by about 5.73   d B . The ratio S / N was calculated according to the following Formula (1):
( S N ) d B = 10 l o g 10 ( P S P N )
where P S   is the signal power, and P N is the noise power. Since the signal power is constant before and after noise addition, the noise power ratio before and after noise addition will be:
P N   a f t e r   a d d i n g   n o i s e   P N   b e f o r e   a d d i n g   n o i s e   = 10 5.73 10 3.74
This means that on average, the noise power after adding noise increased by about 3.74 times.
In our case, emotion recognition from speech signals became image recognition. Feature parameters were considered as feature images for each emotion. The number of image elements for each image was equal to the product of the number of parameters and the number of frames for a wav file. The number of Mel-spectral coefficients was taken as 128, and the average of the number of frames of the wav files was 372. The frame displacement will change appropriately depending on the size of the wav file so that the total number of frames is constant for all wav files. The reduction of the emotion-recognition problem to the image-recognition problem as mentioned leads to the selection of a model to perform the recognition. Three deep neural-network models, CNN, GRU, and CRNN, were used in our experiments. In the simplest terms, a neural network with some degree of complexity, usually with at least two layers, is qualified as a deep neural network. The emotion recognition in this case can be visualized as similar to image recognition in the following way. Assume that each wav file has n frames of the speech signal. These n frames correspond to n columns of the image. Each frame contains m feature parameters of the speech signal corresponding to that frame. Each feature parameter corresponds to a “pixel” of the image, or each column of the image has m elements on m rows, and each element is a pixel. So, the image to be recognized will have m ( rows )   ×   n ( columns ) pixels.
In a traditional CNN, the input image is passed through the network to extract feature mappings in turn, and finally, we predicted labels on the output in a way where the forward pass is pretty straightforward. Except for the first convolutional layer whose input is the image to be recognized, each layer takes the output of the previous layer to create a feature map in the output, and this feature map is then passed to the next convolutional layer. If the CNN network has L layers, we will have L connections, which are connections between one layer and its next layer. The basic equation for CNN can be expressed as follows:
Y = X W
where X is the input matrix, W is the kernel, Y is the feature map, and is convolution. Convolution consists of three operations: addition, multiplication, and shift. We know that the formula for the output signal y ( n ) for a discrete signal-processing system is as follows, where x ( n ) is the input signal and h ( n ) is the impulse response [39]:
y ( n ) = k = x ( k ) h ( n k ) = x ( n ) h ( n )
The convolution * in the Formula (4) also includes three operations: addition, multiplication, and shift, and the essence of this convolution is that the signal-processing system has performed the input-signal filtering. Thus, it can be seen that essentially there is a similarity between Formulas (3) and (4). If a CNN is used for image recognition, the convolution in Formula (3) is to filter or extract features of the image. The CNN model used in this study is inspired by [40].
Recurrent neural networks (RNNs) [41] have a feedback loop from output to input by which the network has memory properties, inferring the next, which is partly based on the previous one. However, the memory capacity of the RNN is inversely proportional to the distance [42]. Long Short-Term Memory (LSTM) is an improvement of RNN, proposed in 1997 by Hochreiter and Schmidhuber [43] to overcome the limitation of the short-term memory capacity of RNN and the vanishing gradient problem. A variant of LSTM is the Gated Recurrent Unit (GRU) [44] because both are designed similarly and, in some cases, produce equally excellent results. The GRU is shown in Figure 5.
The GRU uses and updates the gate and resets the gate to overcome the vanishing gradient problem of a standard RNN. These gates create two vectors that decide what information should be passed to the output. In that way, these gates allow training with long-term information retention without vanishing gradients or discarding information that is no longer suitable for prediction. The update gate helps the model determine the amount of past information (from previous time steps) that needs to be carried forward to the future. This gate executes the following equation at time t :
y ( t ) = σ ( W ( y ) x ( t ) + U ( y ) h ( t 1 ) )
x ( t ) is the information at time t and is fed into the network and multiplied by the weight W ( y ) . h ( t 1 ) stores the information of the previous blocks and is then multiplied by the weight U ( y ) . σ is the sigmoid function to compress the result between 0 and 1 .
Basically, the reset gate is used in the model to decide how much past information to forget. The output of this gate is represented by the following equation:
r ( t ) = σ ( W ( r ) x ( t ) + U ( r ) h ( t 1 ) )
The form of Equation (6) is similar to Equation (5) but with different weights. The output of the reset gate r ( t ) will be used to calculate h ^ ( t ) as follows (the symbol stands for Hadamard product):
h ^ ( t ) = tanh ( W x ( t ) + r ( t ) U h ( t 1 ) )
W and U are weights. The Hadamard product r ( t ) U h ( t 1 ) will determine what to remove from previous time steps. Finally, there is an update gate again. This gate will determine what to collect from the current memory contents   h ^ ( t ) and what from the previous steps h ( t 1 ) to continue giving h ( t ) .
h ( t ) = y ( t ) h ( t 1 ) + ( 1 y ( t ) ) h ^ ( t )
As such, we can see how the GRU stores and filters information using their update and reset gates. The model does not discard new input each time but keeps the relevant information and passes it down to the next time steps of the network. This eliminates the vanishing gradient issue.
The configuration of the CNN and GRU models for 128 parameters is shown in Table 2 and Table 3. The configurations of the two models remained unchanged for 153 parameters. Naturally, the input size for 153 parameters would be (372,153). For the CRNN model, CNN is followed by the RNN. In our case, the RNN consists of LSTM from 1 to 4, each of them having 128 units (Table 4). For our models, the layers of all models used Kera’s library, where the loss function was “categorical cross-entropy”.
In the following, we present in more detail the layers used in the CNN, CRNN, and GRU. For the parameter set S1, the first layer had the input image with size 372 × 128 (128 Mel-spectrum coefficients × 372 frames).
For the CNN and CRNN, after taking convolution using a moving 3 × 3 filter with padding, there were 64 feature maps with a size of 372 × 128 .
For each layer, the goal of batch normalization is to achieve a stable distribution of activation values throughout training and thereby yield a substantial speedup in training [45]. ELU speeds up learning in deep neural networks and leads to higher classification accuracies [46]. Max pooling reduces the number of model parameters, also known as down-sampling or sub-sampling, while also making the detection of features invariant to orientation changes or scale [47]. In the end, dropout is considered a method to prevent neural networks from overfitting [48].
To explain how to calculate the number of parameters given in column P a r a m   # , we take the CNN model (Table 2) as an example. The remaining cases can be calculated similarly. For convolutional layers, P a r a m   # is the number of trainable parameters. If K is the number of input pictures, M is the number of feature maps, and the number of parameters for a convolution operation is M × ( K × ( moving   filter   size ) + 1 ) . For the layer Conv2D-1, M = 64 ,   K = 1 , and moving filter size = 3 × 3 , so P a r a m   # = 64 × ( 1 × 3 × 3 + 1 ) = 640 . For the layer Conv2D-2, M = 128 ,   K = 64 , moving filter size = 3 × 3 , and P a r a m   # = 128 × ( 64 × 3 × 3 + 1 ) = 73856 .
The number of parameters for all the MaxPooling2D, Dropout, and Flatten layers was 0 for all. The reason is that these layers do not learn anything. For example, what the MaxPooling2D layer does is to reduce the complexity of the model and to extract local features by finding the maximum values for each 2 × 2 pool. For fully connected layers, the number of parameters equals the product of the number of neurons nc in the current layer and the number of neurons np on the previous layer plus one (one is the bias term). For example, for the layer Dense-1, n c = 128 , n p = 320 , so P a r a m   # = 128 × ( 320 + 1   ) = 41088 . For the layer Dense-2, n c = 4 , n p = 128 , and P a r a m   # = 4 × ( 128 + 1   ) = 516 .
For BatchNormalization layers [45], each of them has four parameters, which are γ (gamma weights), β (beta weights),   μ β   (moving mean), and σ B 2 (moving variance). The first two of them are trainable, but the last two are not. For each BatchNormalization layer, the total number of the parameters = 4 × size of the input layer. For example, the number of parameters of the BatchNormalization-1 layer = 4 × 372 = 1488 . For the BatchNormalization-2 layer, the number of parameters = 4 × 64 = 256 .
The number of non-trainable parameters comes from BatchNormalization layers, and in Table 2 the number of non-trainable parameters is ( 1488 + 2 × 256 + 3 × 512 ) / 2 = 3536 / 2 = 1768 .
The following is a brief description of the quantities such as precision , recall , f 1 - score , and AUC that are given in Tables 6–12 in Section 4. The precision is the ratio   t p / ( t p + f p ) where t p is the number of true positives and f p the number of false positives. The precision is intuitively the ability of the classifier not to label as positive a sample that is negative. The recall is the ratio t p / ( t p + f n )   where t p is the number of true positives and f n the number of false negatives. The recall is intuitively the ability of the classifier to find all the positive samples. The f 1 s c o r e can be interpreted as a harmonic mean of the precision and recall, where a f1-score reaches its best value at 1 and its worst score at 0. The relative contribution of precision and recall to the f1-score are equal. The formula for the f1-score is: fi-score = 2 × ( p r e c i s i o n × r e c a l l ) / ( p r e c i s i o n + r e c a l l ) [49]. The closer the precision, recall, and f1-score values come to 100%, the better. AUC (Area Under Curve) is the measure of the ability of a classifier to distinguish between classes and is used as a summary of the ROC (Receiver Operator Characteristic) curve. The higher the AUC, the better the performance of the model at distinguishing between the positive and negative classes. Examples of ROC curves are given in Figure 7. A higher X-axis value indicates a higher number of false positives than true negatives in a ROC curve, while a higher Y-axis value indicates a higher number of true positives than false negatives. The ideal ROC curve hugs the top-left corner, indicating a high true-positive rate and a low false-positive rate. The point corresponding to a perfect classifier would lie on the top-left corner of the ROC graph corresponding to the coordinate (0, 1) in the Cartesian plane. Here, the classifier would correctly classify all the positive and negative class points. ROC curves that fall under the area at the top-left corner indicate good performance levels, whereas ROC curves that fall in the other area at the bottom-right corner indicate poor performance levels [50,51].

4. Results and Discussion

The experiments were performed on the computer system with the following hardware configuration: Intel Core [email protected] × 12 threads processor, 32 GB RAM, 2 TB storage, and NVIDIA GeForce RTX 2080Ti 11GB RAM. The following are the software versions used: Ubuntu 19.10 operating system, Python 3.8, Keras: 2.4.3, Tensorflow 2.2.0, Tensorflow-gpu 2.3.0, Praat 6.1.16, and Librosa 0.7.2.
The data were divided into ten folds, and cross-validation was performed. One fold was extracted from ten folds to dedicate for testing. Out of the remaining nine folds, one was extracted for validation and the remaining eight for training. Extracting one fold from eight folds was done in rotation. In our case, cross-validation was chosen because it generally results in a less-biased or less-optimistic estimate of the model skill than other methods, such as a simple train/test split [50]. With 153 parameters, the average training time for one epoch of GRU, CNN, and CRNN models were 17.8 ,   30.43 ,   and   44.18 s respectively. Thus, on average in this case, the GRU model’s computational speed was the fastest, and the CRNN’s computational speed was the slowest. The computational speed of the CNN model was faster than the CRNN model but slower than the GRU model. For the GRU model and 153 parameters but without data augmentation, the average training time for one epoch was only 1.57 s. So, increasing the data by four times resulted in an increase in training time for one epoch by about 17.8/1.57 ≈ 11.34 times.
Table 5 is the average recognition accuracy for CNN, CRNN, and GRU models. Table 5 shows that the highest achieved recognition accuracy of 97.47 % was for the GRU model with 153 parameters. This recognition accuracy (in bold) was superior to that of the other recognition systems listed in Table 14. For the CNN and GRU models, the average recognition accuracy increased with increasing the number of parameters from 128 (S1 set) to 153 (S2 set), but, for the CRNN model, the average recognition accuracy decreased with increasing the number of parameters from 128 to 153. The GRU model with the property of remembering the past to contribute to future inference but avoiding the vanishing gradient appeared to be more advantageous in this case.
Table 6, Table 7 and Table 8 are the precision, recall, f1-score, and AUC for CNN, CRNN, and GRU models with 153 parameters. Table 9, Table 10 and Table 11 are the precision, recall, f1-score, and AUC for CNN, CRNN, and GRU models with 128 parameters.
Overall, the precision, recall, and f1-score values obtained were very similar to the recognition accuracy as we can see from Table 5, Table 6, Table 7, Table 8, Table 9, Table 10 and Table 11, and the AUC values were also quite close to 1. Table 6, Table 7, Table 8, Table 9, Table 10 and Table 11 show that the common point of CNN, CRNN, and GRU models were that the highest precision, recall, and f1-score were achieved with the “sadness” emotion, and the lowest recall and f1-score were for the “happiness” (“excitement”) emotion and for both sets of parameters. The lowest precision was for the emotions of “excitement” or “anger.” These highest and lowest values are bold styled in Table 6, Table 7, Table 8, Table 9, Table 10 and Table 11.
Table 12 is the recapitulation of the average values of accuracy, precision, recall, f1-score, and AUC with the highest and lowest values for the three models using 128 and 153 parameters. As we can see from Table 12, with the parameter set S1, the CRNN model (in bold) always dominated for the highest values, and the GRU model (in italics) dominated the lowest values. These two models were almost interchangeable with the parameter set S2. The GRU model (in bold) always dominated for the highest values, and the CRNN model (in italics) almost dominated the lowest values.
From Figure 6 it can be seen that the spectral centroid (“specc” in the figure labels) had the best influence on high recognition accuracy followed by spectral roll-off and spectral flatness.
Some examples of the variations in loss and accuracy according to the epoch for training and validation and confusion matrices for a fold are shown in Figure 7. Figure 7 shows that variations in validation loss match and variations in training loss. The same was true for validation accuracy and training accuracy. This means there was no overfitting [52].
The confusion matrix in Figure 7 is an example of a test fold. The sum of the elements per row is the number of test samples for each emotion. In this case, the total numbers of samples for the four emotions of anger, excitement, sadness, neutrality were 430, 403, 406, and 656, respectively. The number of samples on the main diagonal corresponds to the true positive ( t p ) case, which means that each emotion was correctly identified as that emotion. As an example (Figure 7i), for the anger emotion, the sample number for the t p of this emotion was 415. For the false-negative ( f n ) case, eight anger samples were incorrectly identified as excitement; two anger samples were incorrectly identified as sadness; and five anger samples were incorrectly identified as neutrality. For the false-positive ( f p ) case, six excitement samples, zero sadness samples, and two neutrality samples were incorrectly identified as anger. For the true-negative ( t n ) case, (387 + 1 + 9) samples of excitement, 408 samples of sadness, and (646 + 2 + 6) samples of neutrality were correctly identified as not-anger. The cases of f n ,   f p , and t n were also determined in a similar way for the remaining three emotions.
For comparison, we performed IEMOCAP’s four-emotion recognition with the same GRU model and the same S2 parameter set but without data augmentation. We only chose the GRU model for this experiment because it is the model that gives the best recognition results with data augmentation. In this case, the total number of files for each emotion was reduced by four times (anger: 1075 files, sadness: 1014 files, happiness: 1007 files, and neutrality: 1639 files, as mentioned above). The data division for training, validation, and testing was similar to the case with data augmentation. The results from Table 13 show that on average the accuracy dropped to only 75.83 % .
AUC and precision, recall, f1-score for each emotion with the GRU model using 153 parameters without data augmentation, are also given in Table 13. Again, the highest values of precision, recall, and f1-score (in bold) were for the “sadness” emotion, and the lowest values precision, recall, f1-score (in bold) were for the “excitement” or “anger”emotion. However, these values were lower than in the case of data augmentation. The same was true for the mean of AUC.

5. Conclusions

In this article, we presented the results of speech emotion recognition with the IEMOCAP corpus. Three deep neural-network models CNN, CRNN, and GRU were used for emotion recognition in our case, and, in general, the GRU model had a slight advantage over the CNN and CRNN models. Data augmentation including changing the voice also contributed to recognition performance. Besides the Mel-spectral coefficients, other spectral features of the speech signal also increased the average recognition accuracy. The results of our research demonstrate that the proposed method outperforms the state-of-the-art methods (see Table 14). For machine learning including deep learning, the more data available, the better the performance of the recognition system. If noise addition is a possible solution for different signal types, then data augmentation by changing the voice is a very specific approach to speech data. Besides choosing the appropriate models and feature parameters, data augmentation also shows its effectiveness especially in cases where the available data are not large enough. Data augmentation increases the amount of memory and the training time, but in return, the performance of the recognition system increases. For the upcoming study, we will be researching emotion recognition on data with a greater number of emotions and combined with emotional speech synthesis. Emotional speech synthesis is also the direction of research where we have achieved some initial results.

Author Contributions

Conceptualization, L.T.V., T.T.L.D. and E.C.; methodology, L.T.V. and E.C.; software, L.T.V. and T.T.L.D.; data curation, T.T.L.D.; writing—original draft preparation, L.T.V. and T.T.L.D.; writing—review and editing, L.T.V., T.L.X. and E.C.; supervision, L.T.V.; project administration, T.L.X. All authors have read and agreed to the published version of the manuscript.

Funding

This research was partially funded by the School of Information and Technology (SoICT), Hanoi University of Science and Technology (HUST) under grant number T2018-PC-210.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

We would like to thank SoICT and HUST for their support.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Scherer, K.R.; Ellgring, H. Multimodal Expression of Emotion: Affect Programs or Componential Appraisal Patterns? Emotion 2007, 7, 158–171. [Google Scholar] [CrossRef] [PubMed]
  2. Delattre, P. Les dix intonations de base du français. Fr. Rev. 1966, 40, 1–14. [Google Scholar]
  3. Mac, D.K.; Castelli, E.; Aubergé, V.; Rilliard, A. How Vietnamese attitudes can be recognized and confused: Cross-cultural perception and speech prosody analysis. In Proceedings of the 2011 International Conference on Asian Language Processing, Penang, Malaysia, 15–17 November 2011; pp. 220–223. [Google Scholar]
  4. Scherer, K.R.; Banse, R.; Wallbott, H.G. Emotion inferences from vocal expression correlate across languages and cultures. J. Cross-Cult. Psychol. 2001, 32, 76–92. [Google Scholar] [CrossRef] [Green Version]
  5. Danes, F. Involvement with language and in language. J. Pragmat. 1994, 22, 251–264. [Google Scholar] [CrossRef]
  6. Shigeno, S. Cultural similarities and differences in the recognition of audio-visual speech stimuli. In Proceedings of the 5th International Conference on Spoken Language Processing (ICSLP98), Sydney, Australia, 30 November–4 December 1998; p. 1057. [Google Scholar]
  7. Lieskovská, E.; Jakubec, M.; Jarina, R.; Chmulík, M. A Review on Speech Emotion Recognition Using Deep Learning and Attention Mechanism. Electronics 2021, 10, 1163. [Google Scholar] [CrossRef]
  8. Busso, C.; Bulut, M.; Lee, C.C.; Kazemzadeh, A.; Mower, E.; Kim, S.; Chang, J.N.; Lee, S.; Narayanan, S.S. IEMOCAP: Interactive emotional dyadic motion capture database. Lang. Resour. Eval. 2008, 42, 335–359. [Google Scholar] [CrossRef]
  9. Chen, S.; Jin, Q.; Li, X.; Yang, G.; Xu, J. Speech emotion classification using acoustic features. In Proceedings of the 9th International Symposium on Chinese Spoken Language Processing, Singapore, 12–14 September 2014; pp. 579–583. [Google Scholar]
  10. Latif, S.; Rana, R.; Khalifa, S.; Jurdak, R.; Schuller, B.W. Deep architecture enhancing robustness to noise, adversarial attacks, and cross-corpus setting for speech emotion recognition. In Proceedings of the International Speech Communication Association (INTERSPEECH), Shanghai, China, 25–29 October 2020; pp. 2327–2331. [Google Scholar]
  11. Da Silva, R.; Valter Filho, M.; Souza, M. Interaffection of Multiple Datasets with Neural Networks in Speech Emotion Recognition. In Proceedings of the 17th National Meeting on Artificial and Computational Intelligence, Porto Alegre, Brasil, 20–23 October 2020; pp. 342–353. [Google Scholar]
  12. Yu, Y.; Kim, Y.J. Attention-LSTM-attention model for speech emotion recognition and analysis of IEMOCAP database. Electronics 2020, 9, 713. [Google Scholar] [CrossRef]
  13. Krishna, D.N.; Patil, A. Multimodal Emotion Recognition Using Cross-Modal Attention and 1D Convolutional Neural Networks. In Proceedings of the International Speech Communication Association (INTERSPEECH), Shanghai, China, 25–29 October 2020; pp. 4243–4247. [Google Scholar]
  14. Lu, Z.; Cao, L.; Zhang, Y.; Chiu, C.C.; Fan, J. Speech sentiment analysis via pre-trained features from end-to-end asr models. In Proceedings of the 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Barcelona, Spain, 4–8 May 2020; pp. 7149–7153. [Google Scholar]
  15. Chen, F.; Luo, Z.; Xu, Y.; Ke, D. Complementary fusion of multi-features and multi-modalities in sentiment analysis. In Proceedings of the 3rd Workshop of Affective Content Analysis, New York, NY, USA, 7 February 2020; pp. 82–99. [Google Scholar]
  16. Li, R.; Wu, Z.; Jia, J.; Bu, Y.; Zhao, S.; Meng, H. Towards Discriminative Representation Learning for Speech Emotion Recognition. In Proceedings of the 28th International Joint Conference on Artificial Intelligence, Macao, China, 10–16 August 2019; pp. 5060–5066. [Google Scholar]
  17. Cai, R.; Guo, K.; Xu, B.; Yang, X.; Zhang, Z. Meta Multi-Task Learning for Speech Emotion Recognition. In Proceedings of the International Speech Communication Association (INTERSPEECH), Shanghai, China, 25–29 October 2020; pp. 3336–3340. [Google Scholar]
  18. Dangol, R.; Alsadoon, A.; Prasad, P.W.C.; Seher, I.; Alsadoon, O.H. Speech Emotion Recognition Using Convolutional Neural Network and Long-Short Term Memory. Multimed. Tools Appl. 2020, 79, 32917–32934. [Google Scholar] [CrossRef]
  19. Tripathi, S.; Beigi, H. Multi-modal emotion recognition on IEMOCAP with neural networks. arXiv 2008, arXiv:1804.05788. [Google Scholar]
  20. Satt, A.; Rozenberg, S.; Hoory, R. Efficient Emotion Recognition from Speech Using Deep Learning on Spectrograms. In Proceedings of the International Speech Communication Association (INTERSPEECH), Stockholm, Sweden, 20–24 August 2017; pp. 1089–1093. [Google Scholar]
  21. Zheng, S.; Du, J.; Zhou, H.; Bai, X.; Lee, C.H.; Li, S. Speech Emotion Recognition Based on Acoustic Segment Model. In Proceedings of the 2021 12th International Symposium on Chinese Spoken Language Processing (ISCSLP), Hong Kong, China, 24–26 January 2021; pp. 1–5. [Google Scholar]
  22. Tripathi, S.; Ramesh, A.; Kumar, A.; Singh, C.; Yenigalla, P. Learning Discriminative Features using Center Loss and Reconstruction as Regularizer for Speech Emotion Recognition. In Proceedings of the Workshop on Artificial Intelligence in Affective Computing, Macao, China, 10 August 2019; pp. 44–53. [Google Scholar]
  23. Issa, D.; Demirci, M.F.; Yazici, A. Speech emotion recognition with deep convolutional neural networks. Biomed. Signal Process. Control 2020, 59, 101894. [Google Scholar] [CrossRef]
  24. Tripathi, S.; Kumar, A.; Ramesh, A.; Singh, C.; Yenigalla, P. Deep learning-based emotion recognition system using speech features and transcriptions. In Proceedings of the 20th International Conference on Computational Linguistics and Intelligent Text Processing, La Rochelle, France, 7–13 March 2019. [Google Scholar]
  25. Li, X.; Song, W.; Liang, Z. Emotion Recognition from Speech Using Deep Learning on Spectrograms. J. Intell. Fuzzy Syst. 2020, 39, 2791–2796. [Google Scholar] [CrossRef]
  26. Xu, M.; Zhang, F.; Khan, S.U. Improve accuracy of speech emotion recognition with attention head fusion. In Proceedings of the 10th Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, USA, 6–8 January 2020; pp. 1058–1064. [Google Scholar]
  27. Scotti, V.; Galati, F.; Sbattella, L.; Tedesco, R. Combining Deep and Unsupervised Features for Multilingual Speech Emotion Recognition. In Proceedings of the International Conference on Pattern Recognition, Talca, Chile, 7–19 April 2022; Springer: Cham, Switzerland; pp. 114–128. [Google Scholar]
  28. Priyasad, D.; Fernando, T.; Denman, S.; Fookes, C.; Sridharan, S. Attention driven fusion for multi-modal emotion recognition. In Proceedings of the 45th IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP 2020), Barcelona, Spain, 4–8 May 2020; pp. 3227–3231. [Google Scholar]
  29. Clément Le, M.; Obin, N.; Roebel, A. Speaker Attentive Speech Emotion Recognition. In Proceedings of the International Speech Communication Association (INTERSPEECH), Brno, Czechia, 30 August–3 September 2021. [Google Scholar]
  30. Liu, S.; Zhang, M.; Fang, M.; Zhao, J.; Hou, K.; Hung, C.C. Speech emotion recognition based on transfer learning from the FaceNet framework. J. Acoust. Soc. Am. 2021, 149, 1338–1345. [Google Scholar] [CrossRef]
  31. Mustaqeem; Kwon, S. A CNN-assisted enhanced audio signal processing for speech emotion recognition. Sensors 2020, 20, 183. [Google Scholar]
  32. Farooq, M.; Hussain, F.; Baloch, N.K.; Raja, F.R.; Yu, H.; Zikria, Y.B. Impact of feature selection algorithm on speech emotion recognition using deep convolutional neural network. Sensors 2020, 20, 6008. [Google Scholar] [CrossRef]
  33. Yenigalla, P.; Kumar, A.; Tripathi, S.; Singh, C.; Kar, S.; Vepa, J. Speech Emotion Recognition Using Spectrogram & Phoneme Embedding. In Proceedings of the INTERSPEECH 2018, Hyderabad, India, 2–6 September 2018; pp. 3688–3692. [Google Scholar]
  34. Zhang, Y.; Du, J.; Wang, Z.; Zhang, J.; Tu, Y. Attention based fully convolutional network for speech emotion recognition. In Proceedings of the 2018 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC), Honolulu, HI, USA, 12–15 November 2018; pp. 1771–1775. [Google Scholar]
  35. Yeh, S.L.; Lin, Y.S.; Lee, C.C. An interaction-aware attention network for speech emotion recognition in spoken dialogs. In Proceedings of the 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Brighton, UK, 12–17 May 2019; pp. 6685–6689. [Google Scholar]
  36. Singh, C.; Kumar, A.; Nagar, A.; Tripathi, S.; Yenigalla, P. Emoception: An inception inspired efficient speech emotion recognition network. In Proceedings of the 2019 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU), Singapore, 14–18 December 2019; pp. 787–791. [Google Scholar]
  37. McFee, B.; Raffel, C.; Liang, D.; Ellis, D.P.; McVicar, M.; Battenberg, E.; Nieto, O. Librosa: Audio and music signal analysis in python. In Proceedings of the 14th Python in science conference, Austin, TX, USA, 6–12 July 2015; pp. 18–25. [Google Scholar]
  38. Boersma, P. Praat, a system for doing phonetics by computer. Glot Int. 2001, 5, 341–345. [Google Scholar]
  39. Oppenheim, A.; Schafer, R. Discrete-Time Signal Processing, 3rd ed.; Prentice-Hall Signal Processing Series; Pearson, 2009. [Google Scholar]
  40. Dao Thi Le, T.; Trinh Van, L.; Nguyen Hong, Q. Deep Convolutional Neural Networks for Emotion Recognition of Vietnamese. Int. J. Mach. Learn. Comput. 2020, 10, 692–699. [Google Scholar]
  41. Sherstinsky, A. Fundamentals of recurrent neural network (RNN) and long short-term memory (LSTM) network. Phys. D Nonlinear Phenom. 2020, 404, 132306. [Google Scholar] [CrossRef] [Green Version]
  42. Bengio, Y.; Simard, P.; Frasconi, P. Learning long-term dependencies with gradient descent is difficult. IEEE Trans. Neural Netw. 1994, 5, 157–166. [Google Scholar] [CrossRef]
  43. Hochreiter, S.; Schmidhuber, J. Long short-term memory. Neural Comput. 1997, 9, 1735–1780. [Google Scholar] [CrossRef]
  44. Cho, K.; Van Merriënboer, B.; Gulcehre, C.; Bahdanau, D.; Bougares, F.; Schwenk, H.; Bengio, Y. Learning phrase representations using RNN encoder-decoder for statistical machine translation. In Proceedings of the Conference on Empirical Methods in Natural Language Processing, Doha, Qatar, 25–29 October 2014; pp. 1724–1734. [Google Scholar]
  45. Ioffe, S.; Szegedy, C. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Proceedings of the 32nd International Conference on International Conference on Machine Learning, Lille, France, 6–11 July 2015; pp. 448–456. [Google Scholar]
  46. Clevert, D.A.; Unterthiner, T.; Hochreiter, S. Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs). In Proceedings of the 4th International Conference on Learning Representations, San Juan, Puerto Rico, 2–4 May 2016. [Google Scholar]
  47. Zeiler, M.D.; Fergus, R. Stochastic Pooling for Regularization of Deep Convolutional Neural Networks. In Proceedings of the 1st International Conference on Learning Representations, ICLR 2013, Scottsdale, AZ, USA, 2–4 May 2013. [Google Scholar]
  48. Srivastava, N.; Hinton, G.; Krizhevsky, A.; Sutskever, I.; Salakhutdinov, R. Dropout: A Simple Way to Prevent Neural Networks from Overfitting. J. Mach. Learn. Res. 2014, 15, 1929–1958. [Google Scholar]
  49. Pedregosa, F.; Varoquaux, G.; Gramfort, A.; Michel, V.; Thirion, B.; Grisel, O.; Blondel, M.; Prettenhofer, P.; Weiss, R.; Dubourg, V.; et al. Scikit-learn: Machine learning in Python. J. Mach. Learn. Res. 2011, 12, 2825–2830. [Google Scholar]
  50. James, G.; Witten, D.; Hastie, T.; Tibshirani, R. An Introduction to Statistical Learning: With Applications in R, 7th ed.; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
  51. Bhandari, A. AUC-ROC Curve in Machine Learning Clearly Explained, 16 June 2020. Available online: https://www.analyticsvidhya.com/blog/2020/06/auc-roc-curve-machine-learning/ (accessed on 22 October 2021).
  52. Jobs Admin. How to Treat Overfitting in Convolutional Neural Networks, 7 September 2020. Available online: https://www.analyticsvidhya.com/blog/2020/09/overfitting-in-cnn-show-to-treat-overfitting-in-convolutional-neural-networks (accessed on 19 October 2021).
Figure 1. Distribution of sample number for 9 emotions.
Figure 1. Distribution of sample number for 9 emotions.
Sensors 22 01414 g001
Figure 2. The waveform of a disqualified wav file.
Figure 2. The waveform of a disqualified wav file.
Sensors 22 01414 g002
Figure 3. Illustration of the formant translation in two cases: (a) consequence of changing female voice closer to a male voice and (b) consequence of changing male voice closer to female voice.
Figure 3. Illustration of the formant translation in two cases: (a) consequence of changing female voice closer to a male voice and (b) consequence of changing male voice closer to female voice.
Sensors 22 01414 g003
Figure 4. Illustration of waveform and average signal/noise ratio before and after white noise addition. (a) Before adding noise. (b) After adding noise.
Figure 4. Illustration of waveform and average signal/noise ratio before and after white noise addition. (a) Before adding noise. (b) After adding noise.
Sensors 22 01414 g004
Figure 5. Gated Recurrent Unit.
Figure 5. Gated Recurrent Unit.
Sensors 22 01414 g005
Figure 6. Correlation between 25 parameters and accuracy recognition. specc: spectral centroid, specr: spectral rolloff, specf: spectral flatness, specb: spectral bandwidth, spec0-6: spectral contrast, chro0-11: chroma, frms: root-mean-square (RMS) value calculated for each frame.
Figure 6. Correlation between 25 parameters and accuracy recognition. specc: spectral centroid, specr: spectral rolloff, specf: spectral flatness, specb: spectral bandwidth, spec0-6: spectral contrast, chro0-11: chroma, frms: root-mean-square (RMS) value calculated for each frame.
Sensors 22 01414 g006
Figure 7. (a,d,g) Examples of loss and accuracy variations according to the epoch for training and validation for a fold; (b,e,h) ROC (class 0: anger, class 1: exc, class 2: sad, class 3: neu.); and (c,f,i) confusion matrix.
Figure 7. (a,d,g) Examples of loss and accuracy variations according to the epoch for training and validation for a fold; (b,e,h) ROC (class 0: anger, class 1: exc, class 2: sad, class 3: neu.); and (c,f,i) confusion matrix.
Sensors 22 01414 g007
Table 1. 25 parameters belonging to set S2.
Table 1. 25 parameters belonging to set S2.
ParametersParam #
Spectral Flatness1
Spectral Bandwidth1
Spectral Centroid1
Spectral Contrast7
Chroma12
Pitch1
Spectral RollOff1
FRMS1
Table 2. Configuration of the CNN model with five convolutional layers for 128 parameters.
Table 2. Configuration of the CNN model with five convolutional layers for 128 parameters.
Model: “sequential”
Layer (Type)Output ShapeParam #
BatchNormalization-1(None, 372, 128, 1)1488
Conv2D-1(None, 372, 128, 64)640
BatchNormalization-2(None, 372, 128, 64)256
ELU-1(None, 372, 128, 64)0
MaxPooling2D-1(None, 186, 64, 64)0
Dropout-1(None, 186, 64, 64)0
Conv2D-2(None, 186, 64, 128)73856
BatchNormalization-3(None, 186, 64, 128)512
ELU-2(None, 186, 64, 128)0
MaxPooling2D-2(None, 93, 32, 128)0
Dropout-2(None, 93, 32, 128)0
Conv2D-3(None, 93, 32, 128)147584
BatchNormalization-4(None, 93, 32, 128)512
ELU-3(None, 93, 32, 128)0
MaxPooling2D-3(None, 46, 16, 128)0
Dropout-3(None, 46, 16, 128)0
Conv2D-4(None, 46, 16, 128)147584
BatchNormalization-5(None, 46, 16, 128)512
ELU-4(None, 46, 16, 128)0
MaxPooling2D-4(None, 15, 5, 128)0
Dropout-4(None, 15, 5, 128)0
Conv2D-5(None, 15, 5, 64)73792
BatchNormalization-6(None, 15, 5, 64)256
ELU-5(None, 15, 5, 64)0
MaxPooling2D-5(None, 5, 1, 64)0
Dropout-5(None, 5, 1, 64)0
Flatten(None, 320)0
Dense-1(None, 128)41088
ELU-6(None, 128)0
Dropout-6(None, 128)0
Dense-2(None, 4)516
Total params: 488596
Trainable params: 486828
Non-trainable params: 1768
Table 3. Configuration of the GRU model with 128 parameters.
Table 3. Configuration of the GRU model with 128 parameters.
Model: “sequential”
Layer (Type)Output ShapeParam #
BatchNormalization(None, 372, 128)1488
GRU-1(None, 372, 256)296448
Dropout-1(None, 372, 256)0
GRU-2(None, 512)1182720
Dropout-2(None, 512)0
Dense-1(None, 128)65664
Activation(None, 128)0
Dropout-3(None, 128)0
Dense-2(None, 4)516
Total params: 1546836
Trainable params: 1546092
Non-trainable params: 744
Table 4. Configuration of the CRNN model for 128 parameters.
Table 4. Configuration of the CRNN model for 128 parameters.
Layer (Type)Output ShapeParam #Connected to
Input Layer(None, 128, 372, 1)0
Conv2D-1(None, 128, 372, 64)640Input Layer
Conv2D-2(None, 128, 372, 128)73856Conv2D-1
Conv2D-3(None, 128, 372, 256)295168Conv2D-2
BatchNormalization-3 (BN3)(None, 128, 372, 256)1024Conv2D-3
MaxPooling2D-3 (MP3)(None, 64, 186, 256)0BN3
Conv2D-4(None, 64, 186, 256)590080MP3
Conv2D-5(None, 64, 186, 512)1180160Conv2D-4
BatchNormalization-5(BN5)(None, 64, 186, 512)2048Conv2D-5
MaxPooling2D-5 (MP5)(None, 32, 93, 512)0BN5
Conv2D-6(None, 32, 93, 512)2359808MP5
Conv2D-7(None, 32, 93, 512)2359808Conv2D-6
BatchNormalization-7(BN7)(None, 32, 93, 512)2048Conv2D-7
Reshape(None, 32, 47616)0BN7
Dense (Fc9)(None, 32, 128)6094976Reshape
LSTM1(None, 32, 128)131584Fc9
LSTM2(None, 32, 128)131584Fc9
Add(None, 32, 128)0 LSTM1
LSTM2
LSTM3(None, 32, 128)131584Add
LSTM4(None, 32, 128)131584Add
Concatenate(None, 32, 256) 0 LSTM3
LSTM4
Dropout1(None, 32, 256)0Concatenate
Flatten(None, 8192)0Dropout1
Dense1(None, 512)4194816Flatten
Dropout2(None, 512)0Dense1
Dense2(None, 4)2052Dropout2
Total params: 17682820
Trainable params: 17680260
Non-trainable params: 2560
Table 5. Average recognition accuracy for CNN, CRNN, and GRU models.
Table 5. Average recognition accuracy for CNN, CRNN, and GRU models.
FoldsCNNCRNNGRU
S1S2S1S2S1S2
096.7896.8396.9494.7295.0497.57
196.5797.0496.4697.2094.3096.83
296.7397.6396.0996.3196.2097.84
396.2596.8398.1095.4695.2596.94
496.5797.4795.4698.3195.7397.57
595.6296.9997.6895.8395.3697.52
695.7396.5298.0596.4196.4197.94
796.5796.0998.9498.4295.4697.73
896.1597.2096.8997.9496.0497.31
Accuracy Average (%)96.3396.9697.1896.7395.5397.47
Table 6. Precision, recall, f1-score, and AUC for CNN model with 153 parameters.
Table 6. Precision, recall, f1-score, and AUC for CNN model with 153 parameters.
FoldsPrecisionRecallf1-scoreAUC
ANGEXCSADNEUANGEXCSADNEUANGEXCSADNEU
096.0997.3998.5495.9597.2192.5699.7597.4196.6594.9199.1496.670.997
196.5397.9199.2695.5496.9892.8099.7598.0296.7595.2999.5196.760.997
297.2597.4698.7897.2598.8495.2999.7596.9598.0496.3699.2697.100.998
396.9897.1299.2795.1097.2192.06100.097.5697.1094.5299.6396.310.997
497.2498.6999.0295.9898.1493.3099.7598.1797.6995.9299.3997.060.997
595.5098.4098.3196.3998.6091.32100.097.5697.0394.7299.1596.970.997
696.7495.4498.5495.7696.5193.5599.5196.4996.6294.4999.0296.130.997
796.2996.7899.0293.8496.5189.5899.7597.5696.4093.0499.3995.670.996
897.2497.1598.3196.5298.3793.05100.097.2697.8095.0699.1596.890.995
Average (%)96.6597.3798.7895.8197.6092.6199.8197.4497.1294.9299.2996.620.997
97.1596.8796.99
Table 7. Precision, recall, f1-score, and AUC for CRNN model with 153 parameters.
Table 7. Precision, recall, f1-score, and AUC for CRNN model with 153 parameters.
FoldsPrecisionRecallf1-scoreAUC
ANGEXCSADNEUANGEXCSADNEUANGEXCSADNEU
096.1993.8395.5193.8293.9590.5799.5194.8295.0692.1797.4794.310.995
196.5196.9899.0296.6796.5195.7899.2697.2696.5196.3899.1496.960.999
297.3897.1497.3494.5395.1292.8099.2697.4196.2494.9298.2995.950.996
395.3397.0598.0593.1294.8889.8399.2696.9595.1093.3098.6595.000.996
499.5397.7598.3097.8898.1497.0299.7598.3298.8397.3899.0298.100.999
596.4496.5898.3093.5594.4291.0799.7597.2695.4293.7499.0295.370.994
696.6995.9098.7895.1095.1292.8099.5197.5695.9094.3399.1496.310.997
798.8397.7799.2798.0297.9197.77100.098.1798.3697.7799.6398.100.999
897.4897.9599.0297.5898.8494.7999.5198.3298.1596.3499.2697.950.998
Average (%)97.1596.7798.1895.5996.193.699.5397.3496.6295.1598.8596.450.997
96.9296.6496.77
Table 8. Precision, recall, f1-score, and AUC for GRU model with 153 parameters.
Table 8. Precision, recall, f1-score, and AUC for GRU model with 153 parameters.
FoldsPrecisionRecallf1-scoreAUC
ANGEXCSADNEUANGEXCSADNEUANGEXCSADNEU
097.4297.69100.096.1696.5194.5499.0199.2496.9696.0999.5097.670.995
198.1094.5898.2996.5195.8195.2999.2696.9596.9494.9398.7796.730.999
298.1196.5198.7897.8896.5196.03100.098.4897.3096.2799.3998.180.996
396.9094.5399.0297.1594.6594.2999.2698.6395.7694.4199.1497.880.996
499.2794.6699.5197.1495.3596.7799.5198.3297.2795.7199.5197.730.999
596.9696.2499.7597.2996.5195.2999.5198.3296.7495.7699.6397.800.994
698.3595.8999.5098.0296.7498.5198.7797.8797.5497.1899.1397.940.997
798.3595.5899.5197.5796.7496.5399.7597.8797.5496.0599.6397.720.999
898.8196.4699.2695.6996.5194.5499.5198.1797.6595.4999.3896.910.998
Average (%)98.0395.7999.2997.0596.1595.7599.498.2197.0895.7799.3497.620.997
97.5497.3897.45
Table 9. Precision, recall, f1-score, and AUC for CNN model with 128 parameters.
Table 9. Precision, recall, f1-score, and AUC for CNN model with 128 parameters.
FoldsPrecisionRecallf1-scoreAUC
ANGEXCSADNEUANGEXCSADNEUANGEXCSADNEU
096.1596.1697.8396.9198.693.3100.095.7397.3694.7198.9096.320.998
195.6698.4097.1395.7897.4491.56100.096.9596.5494.8698.5496.360.997
296.3695.6598.7896.3398.3792.80100.096.0497.3594.2199.3996.180.997
396.9995.4097.3695.5897.4492.5699.7595.5897.2293.9598.5495.580.997
496.5395.9198.3095.9196.9893.0599.7596.4996.7594.4699.0296.200.997
593.7496.7797.3695.1597.4489.08100.095.7395.5592.7698.6695.440.996
697.3896.5197.8393.0195.1289.33100.097.4196.2492.7898.9095.160.995
797.1896.3998.7894.9496.2892.899.5197.2696.7394.5699.1496.080.998
896.9697.6098.0693.6996.2890.8299.5197.2696.6294.0998.7895.440.995
Average (%)96.3396.5397.9495.2697.1191.7099.8496.4996.7194.0498.8795.860.997
96.5296.2996.37
Table 10. Precision, recall, f1-score, and AUC for CRNN model with 128 parameters.
Table 10. Precision, recall, f1-score, and AUC for CRNN model with 128 parameters.
FoldsPrecisionRecallf1-scoreAUC
ANGEXCSADNEUANGEXCSADNEUANGEXCSADNEU
097.1897.6997.8295.8196.2894.2999.2697.5696.7395.9698.5396.680.998
197.1697.1297.8294.8495.5892.0699.2698.0296.3794.5298.5396.400.997
296.2496.9296.6395.1995.3593.5598.7796.4995.7995.297.6995.840.998
397.4597.9799.0298.0397.6796.0399.5198.7897.5696.9999.2698.410.999
494.8793.5297.8195.5794.6593.0599.0195.2794.7693.2898.4195.420.995
598.1298.7198.0696.5697.2195.0499.5198.4897.6696.8498.7897.510.999
698.5897.9999.0297.1496.9897.0299.7598.3297.7797.5199.3997.730.999
798.84100.099.0298.3499.0797.27100.099.2498.9598.6299.5198.791.000
897.6798.1598.7794.5797.6792.3198.5298.1797.6795.1498.6496.340.996
Average (%)97.3597.5698.2296.2396.7294.5199.2997.8197.0396.0198.7597.010.998
97.3497.0897.2
Table 11. Precision, recall, f1-score, and AUC for GRU model with 128 parameters.
Table 11. Precision, recall, f1-score, and AUC for GRU model with 128 parameters.
FoldsPrecisionRecallf1-scoreAUC
ANGEXCSADNEUANGEXCSADNEUANGEXCSADNEU
094.7893.4798.5393.9897.2188.8398.7795.1295.9891.0998.6594.550.994
195.0991.8498.7892.4794.6586.6099.7595.4394.8789.1499.2693.920.993
297.2094.1898.5495.3196.9892.3199.5196.0497.0993.2399.0295.670.996
395.4094.1698.2893.9396.5188.0998.7796.6595.9591.0398.5395.270.991
494.9794.2999.2694.8996.5190.0799.5196.3495.7392.1399.3895.610.994
595.1894.0198.5394.3196.5189.5898.7796.0495.8491.7498.6595.170.995
696.0895.3199.2695.5396.9890.8299.2697.7196.5393.0199.2696.610.996
794.1292.7399.7595.4096.7491.8198.7794.8295.4192.2799.2695.110.994
896.5494.7898.5494.9097.4490.0799.7596.4996.9992.3799.1495.690.992
Average (%)95.4893.8698.8394.5296.6189.8099.2196.0796.0491.7899.0295.290.994
95.6795.4295.53
Table 12. Recapitulation of the average values of accuracy, precision, recall, f1-score, and AUC for 3 models with 128 (S1 set) and 153 (S2 set) feature parameters.
Table 12. Recapitulation of the average values of accuracy, precision, recall, f1-score, and AUC for 3 models with 128 (S1 set) and 153 (S2 set) feature parameters.
AccuracyPrecisionRecallf1-scoreAUC
HighestLowestHighestLowestHighestLowestHighestLowestHighestLowest
S1
Model
97.18 CRNN95.53 GRU97.34
CRNN
95.67
GRU
97.08
CRNN
95.42
GRU
97.2
CRNN
95.53
GRU
0.998
CRNN
0.994
GRU
S2
Model
97.47 GRU96.96 CNN97.54
GRU
96.92
CRNN
97.38
GRU
96.64
CRNN
97.45
GRU
96.77
CRNN
0.9973
models
Table 13. Accuracy, AUC and precision, recall, f1-score for each emotion for GRU model using 153 parameters without data augmentation.
Table 13. Accuracy, AUC and precision, recall, f1-score for each emotion for GRU model using 153 parameters without data augmentation.
FoldsAccuracyPrecisionRecallf1-scoreAUC
ANGEXCSADNEUANGEXCSADNEUANGEXCSADNEU
073.6870.8763.5178.2976.3367.5946.5399.0278.6669.1953.7187.4577.480.919
176.8480.2170.1592.3169.7171.346.5394.1288.4175.4955.9593.277.960.926
276.217862.292.2372.6372.2250.593.1484.157555.7492.6877.970.916
376.4275.9361.3691.4375.2975.9353.4794.1279.8875.9357.1492.7577.510.918
475.7978.4372.9292.3167.4274.0734.6594.1290.8576.1946.9893.277.40.921
576.2183.3360.7191.5971.1369.4450.596.0884.1575.7655.1493.7877.090.936
677.8978.562.0796.047577.7853.4795.182.3278.1457.4595.5778.490.927
775.7980.6559.391.5172.1169.4450.595.183.5474.6354.5593.2777.40.923
873.6869.1758.4687.2773.8976.8537.6294.1281.172.8145.7890.5777.330.913
Average (%)75.8377.2363.4190.3372.6172.7447.0994.9983.6774.7953.692.577.630.922
75.974.6274.63
Table 14. Summary of research results on speech emotion recognition with IEMOCAP and for four emotions.
Table 14. Summary of research results on speech emotion recognition with IEMOCAP and for four emotions.
Ref.YearModelParametersAverage Accuracy (%)
[21]2021Acoustic Segment Model (ASM), DNNLatent Semantic Analysis (LSA) with HMM for ASM73.90
[27]2021PATHOSnet (Parallel, Audio-Textual, Hybrid Organisation for emotionS network)Linguistic features + spectrogram80.40
[29]2021SSA-CRNN-r (Self Speaker Attentive Convolutional Neural Network-regularization)3-D Log-Mel spectrograms (with delta and delta-deltas)95.90
[30]2021FaceNetSpectrogram68.96
[25]2020CRNN deep learning model based on Focal LossSpectrogram69.33
[31]2020Deep stride convolutional neural network (DSCNN)Spectrogram81.75
[28]2020Combination of DCNN with a SincNet layer, RNNCombined acoustic and textual data80.51
[10]2020Hybrid architecture: DenseBlock + LSTMSpectrogram64.10
[32]2020DCNNSpectrogram83.80
[26]2020Attention-based Convolutional Neural Networks (ACNN)MFCC76.18
[11]2020LSTMLog-spectra of short-time Fourier transforms (STFTs)58.80
[22]2020CNNSpectrograms and MFCC (Mel-Frequency Spectral Coefficients)74.30
[17]2020Meta Multi-task Learning (MMTL), Meta Learner (CNN+LSTM) + Transfer Learner (Fully Connected Layer)Spectrogram76.64
[12]2020LSTMMelSpectrogram73.00
[13]20201D convolutions + Bi-LSTMBoth audio and text information72.82
[18]2020CNN, LSTM3D log-Mel spectrograms80.80
[23]2020DCNNMFCC, chromagram, Mel-scale spectrogram, tonnetz, spectral contrast64.30
[14]2020Bidirectional LSTMSpectrogram71.70
[35]2019Interaction-Aware Attention Network (IAAN)MFCC, pitch66.30
[15]2019DFF-ATMF (Deep Feature Fusion-Audio and Text Modality Fusion), LSTMMFCC, spectral centroid, chroma stft, spectral contrast (Audio modality + text modality)81.37
[24]2019CNNText & MFCC76.10
[36]2019Emoception Network drawinginspiration from Inception NetworkMFSC (Mel-Frequency Spectral Coefficients)75.90
[16]2019Multi-head Self-attention+ Global Context-aware Attention Long Short-Term Memory recurrent neutral network (GCA-LSTM)MFCC, F0, energy79.20
[19]2018LSTM, CNNMFCC, zero-crossing rate, short-term energy, short-term entropy of energy, spectral centroid and spread, spectral entropy, spectral flux, spectral rolloff62.72
[33]2018Multi-channel CNNPhoneme & Spectrogram73.90
[34]2018Fully convolutional network (FCN) + Attention layerSpectrogram70.40
[20]2017CNN, Combined CNN, and LSTMSpectrogram68.00
[9]2014SVMLow-level acoustic features and derivation, cepstral-based features, GMM supervectors71.90
Our Research2021GRU, CRNN, CNN153 parameters97.47
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Trinh Van, L.; Dao Thi Le, T.; Le Xuan, T.; Castelli, E. Emotional Speech Recognition Using Deep Neural Networks. Sensors 2022, 22, 1414. https://0-doi-org.brum.beds.ac.uk/10.3390/s22041414

AMA Style

Trinh Van L, Dao Thi Le T, Le Xuan T, Castelli E. Emotional Speech Recognition Using Deep Neural Networks. Sensors. 2022; 22(4):1414. https://0-doi-org.brum.beds.ac.uk/10.3390/s22041414

Chicago/Turabian Style

Trinh Van, Loan, Thuy Dao Thi Le, Thanh Le Xuan, and Eric Castelli. 2022. "Emotional Speech Recognition Using Deep Neural Networks" Sensors 22, no. 4: 1414. https://0-doi-org.brum.beds.ac.uk/10.3390/s22041414

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop