srecord noeq AudioHaarFeature(IAudioSample sample, double start, double end) { *(IAudioSample *sample, DoubleRange r) { start = r.start; end = r.end; } double mid() { ret (start+end)/2; } double get(int channel) { double mid = mid(); ret sample.sampleSum(channel, start, mid) - sample.sampleSum(channel, mid, end); } Channels get() { ret mapChannels get(sample.channels()); } }