private boolean decode() throws IOException {
	float[][] inb = in.decode();
	if(inb == null) {
	    buf = new byte[0];
	    return(false);
	}
	buf = new byte[2 * chn * inb[0].length];
	int p = 0;
	for(int i = 0; i < inb[0].length; i++) {
	    for(int c = 0; c < chn; c++) {
		int s = (int)(inb[c][i] * 32767);
		buf[p++] = (byte)s;
		buf[p++] = (byte)(s >> 8);
	    }
	}
	bufp = 0;
	return(true);
    }