def createtemparf(filename, datatype=0): root, ext = os.path.splitext(filename) arffile = arf.open_file(tempfile.mktemp()) if ext == '.lbl': lbl_rec = lbl.read(filename) print(lbl_rec) dset = arf.create_dataset(arffile, os.path.split(filename)[-1], lbl_rec, units=['','s','s'], datatype=2002) dset.attrs['units'] = 's' elif ext == '.wav': wavfile = ewave.open(filename) arf.create_dataset(arffile, os.path.split(filename)[-1], wavfile.read(), sampling_rate=wavfile.sampling_rate, datatype=1) elif ext =='.pcm': from arfx import pcmio pcmfile = pcmio.open(filename) arf.create_dataset(arffile, os.path.split(filename)[-1], pcmfile.read(), sampling_rate=pcmfile.sampling_rate, datatype=datatype) elif ext == '.pcm_seq2': from arfx import io pcmseqfile = io.open(filename) dataset_basename = os.path.split(filename)[-1] for i in xrange(pcmseqfile.nentries): dataset_name = '_'.join([dataset_basename, str(i)]) arf.create_dataset(arffile, dataset_name, pcmseqfile.read(), sampling_rate=pcmseqfile.sampling_rate, timestamp=pcmseqfile.timestamp, datatype=datatype) #try block added because pcmseqfile.nentries doesn't seem to always be accurate try: pcmseqfile.entry += 1 except ValueError: continue return arffile['/']
def createtemparf(filename, datatype=0): root, ext = os.path.splitext(filename) arffile = arf.open_file(tempfile.mktemp()) if ext == '.lbl': lbl_rec = lbl.read(filename) print(lbl_rec) dset = arf.create_dataset(arffile, os.path.split(filename)[-1], lbl_rec, units=['','s','s'], datatype=2002) dset.attrs['units'] = 's' elif ext == '.wav': wavfile = ewave.open(filename) arf.create_dataset(arffile, os.path.split(filename)[-1], wavfile.read(), sampling_rate=wavfile.sampling_rate, datatype=1) elif ext =='.pcm': from arfx import pcmio pcmfile = pcmio.open(filename) arf.create_dataset(arffile, os.path.split(filename)[-1], pcmfile.read(), sampling_rate=pcmfile.sampling_rate, datatype=datatype) return arffile['/']