annotate arrows/audiorec.m @ 61:eff6bddf82e3 tip

Finally implemented perceptual brightness thing.
author samer
date Sun, 11 Oct 2015 10:20:42 +0100
parents beb8a3f4a345
children
rev   line source
samer@0 1 function a=audiorec(ch,rate,N,M,varargin)
samer@0 2 if nargin<4, M=N; end
samer@37 3 opts=options('buffer',1,'queue',4,'dspargs',{},varargin{:});
samer@0 4
samer@0 5 a=asysobj(@(sz)dsp.AudioRecorder('OutputDataType','double','NumChannels',ch,'SampleRate',rate, ...
samer@0 6 'SamplesPerFrame',M,'BufferSizeSource','Property', ...
samer@0 7 'BufferSize', opts.buffer*M, ...
samer@0 8 'QueueDuration',opts.queue*M/rate, ...
samer@0 9 opts.dspargs{:}), ...
samer@0 10 0,1,@(sz){[M,ch]});
samer@0 11
samer@0 12 if N>M
samer@0 13 OL=M+1:N;
samer@0 14 a=a*loop(@upd,@(sz)zeros(N-M,ch));
samer@0 15 elseif N<M
samer@0 16 BLOCK=M-N+1:M;
samer@0 17 a=a*arr(@(x)x(BLOCK,:));
samer@0 18 end
samer@0 19
samer@0 20 function [y,s]=upd(x,s)
samer@0 21 y=[s;x];
samer@0 22 s=y(OL,:);
samer@0 23 end
samer@0 24 end
samer@0 25