Exemplo n.º 1
0
	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")
Exemplo n.º 2
0
	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")
Exemplo n.º 3
0
 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")