Improving a voice recording with heavy clipping

I’ve come up with something similar to Trebor’s plug-in.
It uses linear prediction coding instead of de-whitening in the fourier domain ( ;O, what’s this guy talking about?).
In other words, all streets lead to Rome.

The original is actually a bit more clipped. I’ve exported it to wave with a gain of 22 dB (!).
The filter has been applied after re-importing.

The code is:

(defun pre-emphase (s) (snd-biquad s 1 -0.96 0 0 0 0 0))
(defun de-emphase (s) (snd-biquad s 1 0 0 0.96 0 0 0))
;; voice model extraction
(setf lpanal-class (send class :new '(sound framesize skipsize npoles)))
(send lpanal-class :answer :isnew '(snd frame-sz skip-sz np) '(
  (setf sound (snd-copy snd))
  (setf framesize frame-sz)
  (setf skipsize skip-sz)
  (setf npoles np)))
(send lpanal-class :answer :next '() '(
  (let ((samps (snd-fetch-array sound framesize skipsize)))
    (cond ((null samps) nil)
          (t 
           (snd-lpanal samps npoles))))))
(defun make-lpanal-iterator (sound framedur skiptime npoles)
  (send lpanal-class :new sound 
     framedur skiptime npoles))
(psetq blocksize 200; in samples
       advance-by 50; in samples
       order 10); modify at will
;; analyze:
(setf obj (make-lpanal-iterator (pre-emphase s) 
   blocksize advance-by order))
;; apply filter to original:
(de-emphase (scale-db -35 
   (snd-lpreson s obj (/ advance-by  *sound-srate*))))

The values after “psetq” can all be changed.
(note that the code is only for mono files)