def walk(self, N=64, freq_base=A2, freq_max=C8,  start=0, end=None, each=True, combine=False, twin=0.020, thop=0.010, gamma=10, cof=4000):
        ''''''
        samplerate = self.audio.samplerate
        level = 6
        vpre = np.zeros((1,N))
        ncof = min(0.99, float(cof)*2/samplerate)
        b,a = sig.butter(6, ncof)
        zi = np.zeros((N,level))
        cstep = int(np.ceil(thop*samplerate))
        cwin = int(np.ceil(twin*samplerate))
        Y = np.zeros((0,N))
        if combine:
            assert 0 < thop <= twin
            assert 0 < cstep <= cwin
        for y in super(Y2, self).walk(N,freq_base,freq_max,start,end,each=False,combine=False):
            yg = self.g(np.diff(np.append(vpre,y,0),1,0), gamma)
            ygt, zi = sig.lfilter(b, a, yg.T, zi=zi)
            if not combine:
                if each:
                    for v in ygt.T: yield v
                else:
                    yield ygt.T
            else:
                Y = np.append(Y, ygt.T, 0)
                while Y.shape[0] >= cwin:
                    wf, Y = Y[:cwin], Y[cstep:]
                    yield np.sqrt(np.mean(np.square(wf), 0))
        if combine and Y.shape[0] > 0:
            yield np.sqrt(np.mean(np.square(Y), 0))
dataset/ETHPy150Open dongying/dear/dear/spectrum/auditory.py/Y2.walk/original