Mercurial > hg > may
view yetilab/feature/features.yeti @ 218:a7f4eb1cdd72 matrix_opaque_immutable
More block -> vector
author | Chris Cannam |
---|---|
date | Sat, 11 May 2013 12:04:05 +0100 |
parents | 26111c11d8e4 |
children | ff97765b1d1b |
line wrap: on
line source
module yetilab.feature.features; vec = load yetilab.block.vector; cplx = load yetilab.block.complex; fr = load yetilab.stream.framer; magdiff frame1 frame2 = sum (map2 do a b: abs(a - b) done (vec.data frame1) (block.data frame2)); emptyFrameFor frames = vec.zeros if empty? frames then 0 else vec.length (head frames) fi; features featureFunc frames = (featuresOf prev frames = case frames of frame::rest: featureFunc prev frame :. \(featuresOf frame rest); _: []; esac; featuresOf (emptyFrameFor frames) frames); specdiff frames = features magdiff (map cplx.magnitudes frames); specdiffOfFile parameters filename = specdiff (fr.frequencyDomainFramesOfFile parameters filename); { specdiff, specdiffOfFile, }