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