Speech Emotion Recognition Using MFCC Features and Machine Learning

The system recognises one of eight emotions (neutral, calm, happy, sad, angry, fearful, disgust, surprised) from a short spoken sentence. It uses the real RAVDESS speech data (1,440 clips of 24 professional actors) and the classic ECE chain: resampling to 16 kHz, silence trimming, Mel-frequency cepstral coefficients (13 + log-energy, MATLAB mfcc defaults) and YIN pitch, clip statistics and an RBF support vector machine. It is compared with a 118-feature prosodic / spectral set with SVM and gradient boosting and with a small CNN on log-mel spectrograms. Evaluation is speaker-independent: the specification's MFCC + pitch SVM reaches 48.1 +- 5.5 % in 6-fold leave-4-actors-out cross-validation (41.2 % on the held-out actors 21-24), the CNN 55.8 +- 6.2 % (chance 12.5 %), while a random split with the actors mixed inflates the SVM to 64.6 %. Data augmentation keeps the models usable in noise; a cross-corpus test on CREMA-D shows the drop to other speakers and recordings. Praat and GNU Octave were run as cross-checks; a complete MATLAB version and a web application with microphone recording, emotion time line and five databases are included.

Category: Electronics and Communication Engineering (Speech and Audio Signal Processing, MFCC, Pitch Detection (YIN), Support Vector Machine, Gradient Boosting, Convolutional Neural Network, Data Augmentation, Noise Robustness, Praat, GNU Octave, Audacity, MATLAB, Python)

Electronics & Communication Engineering Project E08 from ProTechSC Academy, with graphical abstract, video demonstration and project guidance.