How to use MFCC (or any other tool/method/algorithm) for speech verification I have an original speech .wav file and a few recorded samples of the same file. Each recorded version has some differences wrt the original file. For example, The source speech file has the following MFCC (computed using standard_mfcc.cpp from essentia library) values:
metadata:
    version:
        essentia: &quot;2.1-beta6-dev&quot;

lowlevel:
    mfcc:
        max: [-815.906616211, 261.080718994, 55.8852043152, 58.5018157959, 97.9889144897, 22.7372055054, 7.1145324707, 42.8783988953, 5.8247795105, 12.6973991394, 41.5943908691, 13.7462425232, 21.8554534912]
        mean: [-1094.59521484, 94.8362884521, -64.420249939, -14.4568548203, 18.2156829834, -33.5658378601, -22.6203632355, -0.735072553158, -24.6681880951, -15.3760185242, 4.62109327316, -9.22693252563, -5.10794448853]
        min: [-1264.91162109, -9.69033813477, -207.295608521, -90.1357574463, -26.3243675232, -98.8004074097, -81.369758606, -44.3498458862, -73.2340698242, -59.4465103149, -45.6098747253, -38.3572883606, -30.6068172455]
        var: [23133.2421875, 9150.67089844, 3670.29907227, 766.523193359, 540.077148438, 836.65435791, 640.330993652, 188.692565918, 372.184112549, 317.102050781, 196.87197876, 93.9122772217, 86.7228469849]

And a recorded (and possibly attenuated) has the following values:
metadata:
    version:
        essentia: &quot;2.1-beta6-dev&quot;

lowlevel:
    mfcc:
        max: [-1007.13189697, 167.29095459, 48.0226707458, 46.847869873, 64.3429641724, 24.0410232544, 12.3777160645, 24.6854515076, 5.59940719604, 16.611164093, 32.369430542, 13.1455497742, 16.1519126892]
        mean: [-1196.24389648, 38.9406547546, -22.5868453979, -0.782599449158, 10.1974363327, -13.4281816483, -13.1851472855, -10.4098329544, -18.1054363251, -4.89717817307, 5.46759843826, -4.75768613815, -4.09277105331]
        min: [-1264.91162109, -12.7568664551, -97.3894882202, -63.6558418274, -49.6770133972, -70.0298690796, -74.5334091187, -68.8318328857, -63.4356994629, -43.8183059692, -36.5579185486, -32.2571372986, -31.0356960297]
        var: [4940.57275391, 2740.14135742, 694.35736084, 336.185546875, 274.917053223, 243.030929565, 388.90625, 407.297821045, 279.655334473, 121.326026917, 107.581237793, 49.6084022522, 42.7065734863]

Now I need to compare the above 2 files and verify if speech exists in the recorded file using a C++ program. By plain manual analysis, by considering the mean values of either files above, other than the fact that there are no zero values, there doesn't seem to have any direct relation between them. Can MFCC be used in any way to verify speech (from a source)? Can any other tool/method/algorithm (LPC?) be used to achieve this effectively? Spectral or temporal domain, doesn't matter (temporal method would be ideal, but doesn't really matter if results are accurate enough). Nor does the presence of any problems (gaps, noise etc.).
This is not an easy task since its a classification problem. A while back at work I used time-frequency-domain transformations like STFT (Short Time Fourier Transformation), IWT (Integral Wavelet Transformation), DWT (Discrete Wavelet Transformation) STCEP (Short Time Cepstrum), WVD (Wigner Ville Distribution) to create images/matrices from voice recordings which were then classified using a convolutional neural network as classifier. This is a common approach for this task. You could try that or you could try setting certain limits, e.g. if in a certain frequency range a certain energy is exceeded for a certain time, the file is classified as a speech file.