I want to stream sound from the microphone,perform some processing on it(though i have done nothing in this code here) and play it back.The lower the phase lag the better it serves me(less than a millisecond(For when i'm using 1000 HZ audio)is needed).(Initial phase i haven't taken care of that much though it can be reduced)To achieve that i tried the following code, but if you run it u may see that the phase lag is increasing as time goes on!!! and that should be also because of 600 additional data in 13 line is introduced! But if i don't do that the buffer runs out of data. So what do you suggest?
clcclear allclose allao = analogoutput('winsound');addchannel(ao,1:2);data=wavrecord(11025,11025,1);set(ao,'SampleRate',11025);set(ao,'SamplesOutputFcnCount',1);putdata(ao,[data data]);start(ao)for i=1:100000 clear data data=wavrecord(5512,11025,1); data=[data;data(4912:5512)]; putdata(ao,[data data])end
Best Answer