Example #1
0
def arraytostring(a, prec=None):
	if len(a.shape)==1:
		return ','.join(map(lambda x:float2str(x, prec), a))
	if len(a.shape)==2:
		return ';'.join([','.join(map(str, r)) for r in a])
	else:
		return repr(a.shape)+':'+arraytostring(ravel(a))
Example #2
0
def writeMDElement(f, path, data, header):
	h=repr(header)
	if data==None or type(data)!=ArrayType or len(data.shape)==0 or not any(data.shape):
		#print type(data)
		dlen=0
	else:
		dat=data
		dti=dat.dtype.str
		if len(dti)!=3:
			dti="{"+dti[0]+dat.dtype.char
		sh=dat.shape
		dat=ravel(dat).tostring()
		dlen=len(dat)
	cat=struct.pack("<IIQ", len(path), len(h), dlen)
	f.write(cat)
	f.write(str(path))
	f.write(h)
	if not dlen:
		return
	pc="<3sI"+"Q"*len(sh)
	pc=[pc, dti, len(sh)]
	pc.extend(list(sh))
	dh=apply(struct.pack, pc)
	f.write(dh)		
	f.write(dat)
Example #3
0
File: wav.py Project: jmulderr/MIEN
def array2wav(a, sampr, filename):
    wav = wave.open(filename, "w")
    wav.setparams((a.shape[1], 2, sampr, a.shape[0], "NONE", "not compressed"))
    scalefac = max(50, max(abs(ravel(a))))
    a = (a / scalefac) * 32767
    a = a.astype(Int16)
    wav.writeframes(a.tostring())
    wav.close()