# File lib/icanhasaudio/wav/file.rb, line 14
      def write_header size, known_length, channels, samplerate
        if known_length != 0 && known_length * bits / 8 * channels < size
          size = known_length * bits / 8 * channels + 44
        end

        bytespersec = channels * samplerate * bits / 8
        align = channels * bits / 8

        header = [
          'RIFF',
          u32(size - 8),
          'WAVE',
          'fmt ',
          u32(16),
          u16(1),
          u16(channels),
          u32(samplerate),
          u32(bytespersec),
          u16(align),
          u16(bits),
          'data',
          u32(size - 44),
        ].join
        @io.write header
      end