I'm trying to implement the VAD algorithm in this paper:
I'm polling a microphone on an Android phone, and getting short's which I want to perform operations on. The audio data is 16bit PCM data.
I've gotten the basics of the algorithm done, but there are two issues I don't really understand yet.
1) Step 3-1- of the above algorithm says to
"compute frame energy".
I'm not entirely sure what this means. Should I take the PCM data and convert it to Db's? Should I generate this off of the magnitude values derived from an FFT?
2) In section 2 (1) of the paper, There is an equation for Spectral Flatness given:
SPM = 10log10(Gm/Am) or Spectral Flatness Measure = 10*Log10(GeometricMean/ArithmeticMean)
There is a brief description underneath which reads:
"Where Am and Gm are the geometric means of speech spectrum respectively".
I understand what the general terms of this equation are, however I don't understand what I should be summing to generate the
Am terms. At first I thought it was the energy values computed in part 1) of my question, however rereading it seems to instead relate to the energy present only in the speech spectrum portion of a given frame. If thats the case what range should I use and how do I generate the value to sum/multiply?