def read(self, data) : assert data.shape[1] == self.channels if data.dtype==np.float64 : return _lib.sf_readf_double(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_double)), data.shape[0]) elif data.dtype==np.float32 : return _lib.sf_readf_float(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_float)), data.shape[0]) elif data.dtype==np.int16 : return _lib.sf_readf_short(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_short)), data.shape[0]) elif data.dtype==np.int32 : return _lib.sf_readf_int(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_int)), data.shape[0]) else: raise TypeError("Please choose a correct dtype")
def read(self, data) : channels, frames = data.shape assert channels == self.channels, \ "Buffer has room for %i channels, wave file has %i channels"%( channels, self.channels) assert data.strides[0]*channels == data.strides[1], \ "Buffer storage be column-major order. Consider using buffer(size)" if data.dtype==np.float64 : return _lib.sf_readf_double(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_double)), frames) elif data.dtype==np.float32 : return _lib.sf_readf_float(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_float)), frames) elif data.dtype==np.int16 : return _lib.sf_readf_short(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_short)), frames) elif data.dtype==np.int32 : return _lib.sf_readf_int(self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_int)), frames) else: raise TypeError("Please choose a correct dtype")
def read(self, data): assert data.shape[1] == self.channels if data.dtype == np.float64: return _lib.sf_readf_double( self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_double)), data.shape[0]) elif data.dtype == np.float32: return _lib.sf_readf_float( self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_float)), data.shape[0]) elif data.dtype == np.int16: return _lib.sf_readf_short( self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_short)), data.shape[0]) elif data.dtype == np.int32: return _lib.sf_readf_int( self._sndfile, data.ctypes.data_as(ctypes.POINTER(ctypes.c_int)), data.shape[0]) else: raise TypeError("Please choose a correct dtype")