Mercurial > hg > may
view yetilab/feature/features.yeti @ 219:ff97765b1d1b matrix_opaque_immutable
More block -> vector
author | Chris Cannam |
---|---|
date | Sat, 11 May 2013 12:07:21 +0100 |
parents | a7f4eb1cdd72 |
children | 77c6a81c577f |
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.list frame1) (vec.list 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, }