Hi,
Trying to understand gsl wavelet, but comparison with snd transform options 
doesn't show the same results.  I believe my confusion may be about
transform->float-vector vs. gsl_wavelet_transform_forward.  Maybe they're not 
supposed to return the same data?  Wondering if I have it all wrong here?
regards,
Jim

;snd transform options:
;type-wavelet
;size - 4096
;window - blackman2
;wavelet - daub4
;display: single transform, normalize, selection

(begin
(open-sound "oboe.snd")
(make-selection  22050 26145 0 0)
;transform options
(set! *transform-type* wavelet-transform)
(set! *transform-size* 4096)
(set! *fft-window* blackman2-window)
(set! *wavelet-type* 1) ;daub4
;transform display options
(set! *transform-graph-type* graph-once) ;single transform
(set! *transform-normalization* 1) ;normalize true
(set! *show-selection-transform* #t) ;selection true
(set! (transform-graph?) #t) ;show 'f' window
)

;snd transform->float-vector
(let* ((data (channel->float-vector 22050 26136 0 0))
       (myvals (transform->float-vector 0 0 data))
     )
   (do ((i 0 (+ i 1)))
     ((= i 10))
       (format #t "~A " (float-vector-ref myvals i))
))

;compare with gsl
(let* ((mysize 4096)
       (data (channel->float-vector 22050 26145 0 0))
       (w (gsl_wavelet_alloc gsl_wavelet_daubechies 4))
       (work (gsl_wavelet_workspace_alloc mysize))
      )
      (gsl_wavelet_transform_forward w (wrap-double* data) 1 mysize work)
      (do ((i 0 (+ i 1)))
          ((= i 10))
           (format #t "~A " (float-vector-ref data i))
      )
     (gsl_wavelet_free w)
     (gsl_wavelet_workspace_free work)
     )
_______________________________________________
Cmdist mailing list
[email protected]
https://cm-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to