i am looking for discrimination of speech from animal sound if you take a 150ms frame of speech and bird as shown below, what feature can i extract from them so that i can effectively state the difference

1st is speech 2nd is animal(bird)

zero crossings ? cross correlation of successive frames seems high in bird sound ? isn't it any other feature from your side ?

enter image description here

one more example in above fig black-speeches,yellow siren,red bird,safron heavy wind the spikes are foot steps

above figure shows the difference in formant positions on spectrogram in bird sounds the formants are differently spaced and less formants

will anything could be extracted from this analysis

the reason is i am looking for unsupervised(with out any training or SVM) speech discrimination form animal sounds because both are voice but computers cant classify the difference unless they are trained by any nueral network which need huge memroy and training database

  • $\begingroup$ Can you explain what you will be expecting as input to your system and what it should produce as output. e.g. the input is a signal containing bird sound and human speech, the ouput is a record of all the time periods containing human speech. $\endgroup$
    – PAK-9
    Commented Oct 9, 2013 at 17:23
  • $\begingroup$ essentially i am trying to implement a speech only detector and encode speech only frames this is intended for a forest kind of environment $\endgroup$
    – kakeh
    Commented Oct 9, 2013 at 18:17
  • $\begingroup$ @Shyam You're going to have a problem without any given training data. You haven't though, provided any details of the types of birds, nor, have you provided any details to the frequency ranges that these birds are emitting at. This would probably be a good idea, especially since these could potentially be good characteristics for building a recogniser. $\endgroup$
    – Phorce
    Commented Jun 7, 2014 at 20:34

1 Answer 1


The essence of your problem is one of Voice Activity Detection (VAD). This is a well researched topic and you should investigate the available algorithms - there are many papers available online, here for example

You should apply a VAD algorithm to the signal and replace non-speech areas with silence, you can then look at the specific edge cases which are concerning you, such as animal sounds have being incorrectly considered speech.

For the case of animal sounds you may want to investigate Formant Detection (for example this paper) since as you pointed out there is a distinction between them. You may also want to consider developing a heuristic based on your own empirical data about the differences. You can take many signal features such as the fundamental frequency, the signal power/amplitude, peakedness etc... and weight these appropriately to give you a confidence rating about the likelyhood of it being animal rather than human speech. This is a fuzzy approach, you would need to iterate a lot on the weightings and metrics.

  • $\begingroup$ Note that I intentionally did not mention cross/auto correlation as I don't think it would give you good results in this situation $\endgroup$
    – PAK-9
    Commented Oct 10, 2013 at 16:00
  • $\begingroup$ i have checked for formants only few birds make a constant fundamental frequency for a period of time and its only valid for few birds and some other birds exhibit some other properties which can be valid human properties ...if that is so there is no limit for such type of sounds the first paper you shown needs training which is only environment and speech dependent if i train a system with English it cannot identify Japanese then ? how can we overcome such type of situations most implementations train the system with huge amount of speeches doesn't it seem hectic ? $\endgroup$
    – kakeh
    Commented Oct 11, 2013 at 10:15
  • 1
    $\begingroup$ I'm not sure you can avoid some degree of training and/or empirical tweaking - there is a reason that the most effective VAD approaches have a training step. $\endgroup$
    – PAK-9
    Commented Oct 11, 2013 at 11:55
  • $\begingroup$ will there be universal speech detectors? i mean can any trained system detect any kind or any language of human speech ? $\endgroup$
    – kakeh
    Commented Oct 11, 2013 at 12:17
  • 1
    $\begingroup$ Considering the degree to which parrots can mimic humans, I don't think you can ever differentiate all birds from all humans. $\endgroup$
    – MSalters
    Commented Oct 13, 2013 at 23:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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