'Raises error'

@convert_error(IOError, error)
def __init__(self, fileobj):

    iff = IFFFile(fileobj)
    try:
        common_chunk = iff[u'COMM']
    except KeyError as e:
        raise error(str(e))
    data = common_chunk.read()
    if (len(data) < 18):
        raise error
    info = struct.unpack('>hLh10s', data[:18])
    (channels, frame_count, sample_size, sample_rate) = info
    self.sample_rate = int(read_float(sample_rate))
    self.sample_size = sample_size
    self.channels = channels
    self.bitrate = ((channels * sample_size) * self.sample_rate)
    self.length = (frame_count / float(self.sample_rate))
