func comb(b audio.Buffer, delay int) (avg, n float64) { length := b.Len() var ( i int done int ) for i = length; (i - delay) > 0; i-- { delayed := i - delay if delayed < 0 { break } done++ avg += (float64(b.At(delayed)) + 1.0) / 2.0 } if done == 0 { //fmt.Println(avg, done, avg / float64(done)) return 0, 0 } return avg, float64(done) }