delay with stream live real-time audio through MATLAB

8 views (last 30 days)
Hello,
I'm working on stream live real-time audio using 'audioDeviceReader() and audioDeviceWriter()'.
I want to delay the output signal from the speaker for 1s or less. I tried using some methods including pause() function.
However, the problem is that the output audio signal became not clear and discrete...
Ex: if I say 'hello' in the mic, I hear my voice from the speaker after 1s

Accepted Answer

Walter Roberson
Walter Roberson on 10 Feb 2019
Configure the audioDeviceWriter with a buffer large enough to hold at least 2 seconds. Queue zeros equal to the length of your pause. Now cycle stepping reading from the audioDeviceReader and immediately sending to the audioDeviceWriter. All output will get delayed by the length of the data queued ahead of it.

More Answers (0)

Categories

Find more on Audio I/O and Waveform Generation in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!