Chris@157: Chris@157: module yetilab.stream.test.audiofile_reference; Chris@157: Chris@157: syn = load yetilab.stream.syntheticstream; Chris@182: filt = load yetilab.stream.filter; Chris@222: vec = load yetilab.vector.vector; Chris@157: Chris@184: pulseChannel rate = Chris@184: (pulseFreq = 2; Chris@184: pulseWidth = 0.01 * rate; Chris@184: generator i = Chris@184: (pulseNo = int ((i * pulseFreq) / rate); Chris@184: index = (i * pulseFreq) - (rate * pulseNo); Chris@184: if index < pulseWidth then Chris@184: s = 1.0 - abs(pulseWidth/2 - index) / (pulseWidth/2); Chris@184: if pulseNo % 2 != 0 then (-s) else s fi Chris@184: else 0 Chris@184: fi); Chris@184: syn.generated rate generator); Chris@182: Chris@182: referenceChannels rate = Chris@182: (leftovers rate n = Chris@182: (syn.generated rate \(n / 20) :. \(leftovers rate (n+1))); Chris@182: syn.sinusoid rate 600 :: pulseChannel rate :: leftovers rate 2); Chris@182: Chris@182: afReference rate channels = Chris@182: filt.multiplexed (take channels (referenceChannels rate)); Chris@157: Chris@182: { Chris@182: afReference Chris@182: } Chris@182: Chris@182: