How to generate and play audio in real time with dsp toolbox
조회 수: 10 (최근 30일)
이전 댓글 표시
Hi everybody,
I am writing an application which must simultaneously analyse video frames and generate & play an audio stream. I am trying to use a dsp.AudioPlayer object to do this but I'm having lag issues. Without code writing to the dsp.AudioPlayer object I'm achieving 30-40 fps, with audio output I get less than 1. After profiling I can see most of the time is going into a for loop which pushes samples from a buffer to the audio object with the step function.
obj.hap = dsp.AudioPlayer;
sc_samples = 0:(1/obj.sc_sample_rate):path.tof; % Time samples
sc_voltage = interp1(path.pixelt, real(path.direct), sc_samples, 'linear');
% Sound wave stored in sc_voltage, with time base sc_samples
% sample rate is 8000hz
tic
for samp = 1:length(sc_samples)
step(obj.hap, sc_voltage(samp));
end
time = toc
Is there any way to copy the whole buffer at once? Would this boost performance? I am aware of sound outputs in the data acquisition toolbox but this isn't compatible with 64 bit versions of Matlab.
Thanks for your help
댓글 수: 0
답변 (2개)
yeshwanth manhcuri
2013년 5월 21일
try with wavread and wavwrite functions....audio player will show some time lag/..............
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Code Generation and Deployment에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!