Input Audio Data from Sound Card


I use commonly available components (tried AudioIO, Audio, WaveAudio) bridging Delphi to the Windows Multimedia-API to stream data from the sound card to my program, which is to do some real time data conversion and plotting.
So far so good.

The data stream I receive is not consistent, i.e. I see jumps in the datastream like some samples getting lost. This problem occurs more frequent when I load the CPU with additional programs eating up CPU-time.

Even though my GHz Pentium offers enough computational power to perform all tasks in time, Windows obviously doesn't empty the Audio buffer with highest priority and sometimes comes too late => lost samples.
When I run my prog with higher priority things get better but not perfect.
On the other hand, when I use the commercial software CoolEdit to record the sound data, I get a perfect Audio stream no matter what I do besides on my PC at the same time (unfortunately not realtime into my program).

How can I solve this? I want Windows to interact with the sound card at highest priority. Do I need to modify the 3rd party sound components or am I using them in a wrong way? All of the above mentioned components show the same behavior.



Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!