I am to classify few recorded phone calls as either containing speech or not by sampling lets say first 10 seconds.
The files contain either silence, dialtone or ringtones, or real human voice.
I have tried implementing butter-worth filter 100hz-400hz, then calculating Short time energy, Zero crossing rate, then calculating variance of the resultant array. But the results aren't good, calls with ringtones are confused with human voice.
I am implementing this in matlab or python (scipy & numpy)