def feed(self, buf, nframes): self._buf += buf self._nframes += nframes i = 0 n = self.wmin/2 while i+self.wmax < self._nframes: (dmax, mmax) = wavcorr.autocorrs16(self.wmin, self.wmax, self._buf, i) pitch = self.framerate/dmax mag = wavcorr.calcmags16(self._buf, i, dmax) yield (n, mmax, pitch, mag, self._buf[i*2:(i+n)*2]) i += n self._buf = self._buf[i*2:] self._nframes -= i return
def feed(self, buf, nframes): self._buf += buf bufmax = len(self._buf) / 2 - self.wmax * 2 step = self.wmin / 2 i = 0 while i < bufmax: r = wavcorr.autocorrs16(self.wmin, self.wmax, self.threshold_sim, self.maxitems, self._buf, i) r = [(w, sim, wavcorr.calcmags16(self._buf, i, w)) for (w, sim) in r] yield (step, r, self._buf[i * 2:(i + step) * 2]) i += step self._buf = self._buf[i * 2:] return
def load(self, buf, nframes): #print 'detection: %s samples...' % len(wav) i = 0 while i + self.wmax < nframes: (dmax, mmax) = wavcorr.autocorrs16(self.wmin, self.wmax, buf, i) t = self._offset + i if self.threshold < mmax: pitch = self.framerate / dmax self.segments.append(pitch) else: self.segments.append(0) i += self.step self._offset += nframes return
def load(self, buf, nframes): #print 'detection: %s samples...' % len(wav) i = 0 while i+self.wmax < nframes: (dmax, mmax) = wavcorr.autocorrs16(self.wmin, self.wmax, buf, i) t = self._offset + i if self.threshold < mmax: pitch = self.framerate/dmax self.segments.append(pitch) else: self.segments.append(0) i += self.step self._offset += nframes return
def feed(self, buf, nframes): self._buf += buf self._nframes += nframes i = 0 n = self.wmin / 2 while i + self.wmax < self._nframes: (dmax, mmax) = wavcorr.autocorrs16(self.wmin, self.wmax, self._buf, i) pitch = self.framerate / dmax mag = wavcorr.calcmags16(self._buf, i, dmax) yield (n, mmax, pitch, mag, self._buf[i * 2:(i + n) * 2]) i += n self._buf = self._buf[i * 2:] self._nframes -= i return
def load(self, wav): #print 'detection: %s samples...' % len(wav) i = 0 buf = wav.readraw() while i < len(wav): (dmax, mmax) = wavcorr.autocorrs16(self.wmin, self.wmax, buf, i) if self.threshold < mmax: pitch = self.framerate/dmax if self._segment is None: self._segment = self.Segment() self.segments.append(self._segment) self._segment.add(self._offset+i, pitch) i += self.wmin/2 else: if self._segment is not None: self._segment.add(self._offset+i, None) self._segment.finish() self._segment = None i += self.wmin/2 self._offset += len(wav) if self._segment is not None: self._segment.add(self._offset, None) self._segment.finish() return