anchor.diff:        (with-open-file (out-stream wav-name
   				  :direction :output
   				  :if-exists :append
  -				  :element-type (list 'signed-byte (streaminfo-bitspersample streaminfo)))
  +				  :element-type (list 'signed-byte bps))
   		      (file-position out-stream
  -				     (/ (ash 44 3) (streaminfo-bitspersample streaminfo)))
  +				     (/ (ash 44 3) bps))
   
  -		      (let ((buf (make-array (* (streaminfo-minblocksize streaminfo)
  -						(streaminfo-channels streaminfo))
  +		      (let ((buf (make-array (* blocksize channels)
   					     :element-type '(signed-byte 32))))
   
  -			(loop for i below (streaminfo-totalsamples streaminfo)
  -			      by (streaminfo-minblocksize streaminfo) do
  +			(loop for i below totalsamples
  +			      by blocksize do
   			      (write-sequence (mixchannels buf (frame-decode (frame-reader stream streaminfo)))
   					      out-stream)))))
       (close stream)))
  
positive.code: 			(write-byte 0 out-stream)
  
  			(write-sequence (integer-to-array
  					 (streaminfo-channels streaminfo)
  					 buf2) out-stream)
  			
  			(write-sequence (integer-to-array
  					 (streaminfo-samplerate streaminfo)
  					 buf4) out-stream)
  
  			(write-sequence (integer-to-array
  					 (ash
  					  (* (streaminfo-samplerate streaminfo)
  					     (streaminfo-channels streaminfo)
  					     (streaminfo-bitspersample streaminfo)) -3)
  					 buf4) out-stream)
  
  			(write-sequence (integer-to-array
  					 (ash
  					  (* (streaminfo-channels streaminfo)
  					     (streaminfo-bitspersample streaminfo)) -3)
  					 buf2) out-stream)
  
  			(write-sequence (integer-to-array
  					 (streaminfo-bitspersample streaminfo)
  					 buf2) out-stream)
  
  			;; Subchunk 2
  			(write-sequence +wav-subchunk2-id+ out-stream)
  
negative.code: (defparameter +wave+ (babel:string-to-octets "WAVE"))
  (defconstant +header-size+ (* 8 44))
  
  (defun integer-to-array (val array)
    (declare (optimize (speed 3))
  	   (type (unsigned-byte 32) val)
  	   (type (simple-array (unsigned-byte 8)) array))
    (loop for i below (length array)
  	for pos from 0 by 8 do
  	(setf (aref array i)
  	      (ldb (byte 8 pos) val)))
    array)
  
  (defun mixchannels (out buffers)
  