Mercurial > hg > may
view yetilab/stream/test/audiofile_reference.yeti @ 254:5eb57c649de0 sparse
Using hashes is simpler, but turns out to be mostly no faster and sometimes much slower. Not one to merge back.
author | Chris Cannam |
---|---|
date | Tue, 21 May 2013 17:40:33 +0100 |
parents | 8e04d298741b |
children | 2ebda6646c40 |
line wrap: on
line source
module yetilab.stream.test.audiofile_reference; syn = load yetilab.stream.syntheticstream; filt = load yetilab.stream.filter; vec = load yetilab.vector.vector; //!!! docs from turbot pulseChannel rate = (pulseFreq = 2; pulseWidth = 0.01 * rate; generator i = (pulseNo = int ((i * pulseFreq) / rate); index = (i * pulseFreq) - (rate * pulseNo); if index < pulseWidth then s = 1.0 - abs(pulseWidth/2 - index) / (pulseWidth/2); if pulseNo % 2 != 0 then (-s) else s fi else 0 fi); syn.generated rate generator); referenceChannels rate = (leftovers rate n = (syn.generated rate \(n / 20) :. \(leftovers rate (n+1))); syn.sinusoid rate 600 :: pulseChannel rate :: leftovers rate 2); afReference rate channels = filt.withDuration (2 * rate) (filt.multiplexed (take channels (referenceChannels rate))); { afReference }