public class RWStandardClassifier
extends java.lang.Object
decide how much we like this sound and return one of the following: 0 - totally uninteresting short sound
1 - passes basic loose cut - between .5 and 2 s long, Maximum comes later than minimum in time, Minimum frequency between 30 and 200 Hz, total sweep >= 23Hz
2 - passes slightly tighter cuts - as above, but sweep >= 54 Hz, Occupancy > 80% MaxWidth <= 20 fft bins (156Hz), MinFreq between 50 and 160Hz, MinPos <= 50% of sound duration, MaxPos >= 70% of sound duration
3-6 passes one of four different cuts on Canonical variable.
Code was written for 2000 Hz data with a 256 pt FFt length If the frequency is not 2000 Hz, the fft length should be scaled accordingly The following code should mitigate against changes though
Modifier and Type | Field and Description |
---|---|
static int |
MAXSOUNDTYPE |
static int |
MNSCALE |
Constructor and Description |
---|
RWStandardClassifier() |
Modifier and Type | Method and Description |
---|---|
int |
getSoundClass(RWESound aSound) |
void |
setSoundData(float sampleRate,
int fftLength,
int fftHop) |
public static final int MNSCALE
public static final int MAXSOUNDTYPE
public void setSoundData(float sampleRate, int fftLength, int fftHop)
public int getSoundClass(RWESound aSound)