I'm currently trying to find audio features to train a neural network that distinguishes people, and I came across MFCC which is used a lot for speech verification. As far as I understand the frequency cepstral coeffients are measured on the mel scale which is logarithmically and not linear because of the human hearing being logarithmical.

So human perception says that the difference between $100\textrm{ Hz}$ and $200\textrm{ Hz}$ is higher than between $10100\textrm{ Hz}$ and $10200\textrm{ Hz}$.

  • How does this this "less perceived difference" help me to distinguish people?

Well, I don't know whether it'll actually help you – you just said it would!

Now, in any case, using an algorithm to extract features from a signal that mimics or resembles human perception should inherently give those feature vectors a higher "mathematical" resemblance when a human would find the original signals similar, too.

This is obviously what you want in speech recognition – after all, the computer is supposed to do something that is very human.

Now, the question is whether that helps in identifying speakers.

In my first, intuitive, reaction to that, I'd say, no, applying what is used for speech recognition to speaker identification might be a bad idea: A good speech recognizer should be as invariant as possible to the speaker – and thus, "lose" the information of who spoke somewhere on the way.

In reality, something less than that extreme is true: You still want to analyze speech (as opposed, to let's say, interpret engine sounds) – but under a different aspect. So, using the same basic steps to extract feature vectors sounds pretty clever. You might want to tweak parameters; for example, though not overly important for speech recognition, higher-frequency sound might be helpful in telling high-pitched female teens from smokey-voiced old men.

  • $\begingroup$ So if I understand correctly you say that human perception is not very useful for speaker identification? About your last sentence: I've tried to use just the fft amplitude of 8 persons with each 3 samples to see if it is enough and it shows minor differences, which is encouraging, but it has too much false positives. Do you think training a Neural Network sounds like a,i,au,s and verify by using 10ms overlapping parts of the samples will work? So instead of verifying persons I get the deviation of the trained vowels and such of a sample which can be compared to an earlier enrolled sample $\endgroup$ – Gert Kommer Mar 22 '17 at 11:52
  • $\begingroup$ Don't ask a bunch of new questions in a comment, that's what questions on here are for :) So, I said that using the complete speech recognition "machinery" is probably a bad idea, because at the end of that, an "anonymous" piece of text drops out. But that the beginning of that machinery is obviously pretty suitable to extract "speech-like features" from audio, and that using it as a basis of a speaker classificator does sound reasonable. $\endgroup$ – Marcus Müller Mar 22 '17 at 11:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.