## 1 Introduction  
Speech recognition is a technology that allows machines to interpret and process human speech and other audio signals in order to automatically recognize and categorize them for tasks like identity verification or event flagging. Despite significant advancements, these systems still face challenges when dealing with real-world audio environments. Reverberation (an echo caused by sound reflecting off surfaces) and noise (unwanted background sounds) are two common and unavoidable issues that can degrade recognition accuracy. This is especially important because many datasets are recorded in controlled environments. Reverb blurs the boundaries between phonemes, making speech less distinct, while noise can mask important speech features, making it harder for the system to distinguish between speech and other sounds. These problems are often unavoidable because real-world environments, unlike controlled settings, contain various reflective surfaces and unpredictable background sounds, complicating the task of clear audio capture and interpretation. Speaker recognition (SR) is a biometric technology that identifies and verifies individuals based on their vocal characteristics, finding common applications in security and access control, telecommunication services, smart assistants, and forensics. SR combines principles from linguistics, signal processing, Artificial Intelligence (AI), and Machine Learning (ML) to analyze and interpret voice signals. There are two main types of speaker recognition: speaker identification, which determines the identity of a speaker from a known set, and speaker verification, which confirms if a speaker is who they claim to be. Although it comes down to classification, speaker verification is a binary problem in a one-vs.-all fashion, whereas speaker identification is usually a multi-class problem. On the processing side, the pipeline usually involves acoustic or speech feature extraction, pattern matching, and decision-making [1]. Since the genesis of SR in the 1960s and 70s, it was evident that features like formant and fundamental frequency (F0) defined someone's voice [2]. However, to account for intra-speaker variabilities, such as those emerging from age or emotions, and for text-independent tasks, more refined features such as Linear Predictive Coefficients (LPCs) started to be employed [3]. Combining the strengths of vector quantization (VQ) [4] and hidden Markov models (HMMs) [5], in the 1990s, Gaussian Mixture Models (GMMs) [6] were developed and became a gold standard, employing acoustic features like mel-frequency cepstral coefficients (MFCCs) as inputs [7]. MFCCs are derived from the cepstrum transformation, as defined by [PERSON] [8], which is based on applying a second transform to logarithmically weighed mel bands of the spectrum. The FFT spectrum of the signal is divided into mel bands (usually 13). These are isolated by triangular filters that also re-weigh the frequency according to perceptual criteria using the following function [9]:  
\[mel(f)=2595\log\biggl{(}1+\frac{f}{700}\biggr{)} \tag{1}\]  
Each mel band is then logarithmically weighed and undergoes a Discrete Cosine Transform (DCT), which is chosen in order to obtain real-valued coefficients, and MFCCs are derived [7]. \[MFCC_{i}=DCT\{\log[Mel_{i}(F(x))]\} \tag{2}\]  
The second transform dimensionally brings the signal back into the time domain, with the coefficients representing \"frequency-of-frequency\" values for each mel band, giving useful information on pitch (F0 has harmonics and can be considered to be a periodically repeating frequency), formants, and intelligibility. In more recent times, speaker and channel variabilities were taken into account with the further introduction of i-vectors [10] and ML decision models such as support vector machines (SVMs) [11]; however, MFCCs remained the standard input features.