Forums
Low latency audio capture and output - Printable Version

+- Forums (http://mitov.com/forum)
+-- Forum: VCL Components (/forum-6.html)
+--- Forum: AudioLab (/forum-14.html)
+--- Thread: Low latency audio capture and output (/thread-3088.html)



Low latency audio capture and output - Mike Warren - 03-12-2015 06:47 AM

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?


RE: Low latency audio capture and output - Dave - 03-15-2015 08:18 AM

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

Regards,
Dave


RE: Low latency audio capture and output - Mike Warren - 03-15-2015 08:30 AM

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.


RE: Low latency audio capture and output - Dave - 03-15-2015 11:29 PM

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