Forums

Full Version: Low latency audio capture and output
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I need to capture microphone audio, mix a reverb signal, plus the audio from a playing video, and output the mixed signal in real time for a karaoke application.

I've done this fine in the past using DirectShow on WinXP, but Windows 7 and later no longer has the ability to feed the live mic input to the output via hardware.

Any capturing I do with DirectShow or WaveIn has an unacceptable delay, no matter how low I set the buffers. There is also no way to control the render buffers, as far as I can find, and I think this is where most of the delay comes from.

So it looks like I'll need to use Kernel streaming or ASIO. I have no idea how, or even if I can extract the audio from a playing video file to mix with the captured signal.

Is this something AudioLab could be used for? If so, is there any documentation that can help me get started?

Dave

Hi! There's an AudioLab ASIO component, i don't have experience with it but perhaps you can check it out.

Regards,
Dave
Thanks for your reply, Dave.

I saw the ASIO component, but I can't find any examples or documentation that can enable me to learn if (and how) I might be able to use it for my specific needs.

I imagine DirectShow will still be needed for the video file playback, but I need to extract the audio stream and mix it into the ASIO stream.

Dave

Ok a simple example, if you don't have ASIO4ALL yet you may want to get and install it. Allows you to use ASIO on all (or most) audio devices.

Start a new application, place an ASIO component and a Scope component on the form. Something like this:

[Image: 2na21ar.png]

Now rightclick the ASIO component, click 'Select audio device'. Select your ASIO device then click on the buttons where the 2 green arrows on the right point to in the pic below. This will (re)populate the list of in- and outputs of the device.

[Image: 2s92d78.png]

Connect the Scope to output-pin0 of the ASIO component. Depending on the device selected and whether there's an audio source active on that soundsource you ought to see the Scope do what it does best.

Hope this gets you started.

Regards,
Dave
Reference URL's