Board index » delphi » Recording Duplex audio - in and out of card - possible?

Recording Duplex audio - in and out of card - possible?


2005-09-29 09:08:54 PM
delphi177
Hi guys,
Question #2 ;-)
Is it possible in Windows to record data at both the input and output
buffers on a soundcard?
I need a Windows recorder type app that records duplex audio - both line in
and line out at the same time.
e.g. if I set the recording bus to "line in" can I record that data as well
as the data currently going to line out (from a different app)?
Hope that makes sense.
Thanks,
Dean
 
 

Re:Recording Duplex audio - in and out of card - possible?

Hi!
Quote
Is it possible in Windows to record data at both the input and output
buffers on a soundcard?

I need a Windows recorder type app that records duplex audio - both line
in and line out at the same time.

e.g. if I set the recording bus to "line in" can I record that data as
well as the data currently going to line out (from a different app)?
I think not. You could record a mix of both but not each one
separately.
Best Regards!
Atmapuri
 

Re:Recording Duplex audio - in and out of card - possible?

Actually a mix of both would do - if that is possible, that'll probably be
enough.
Is that simple enough to do?
Thanks,
Dean
"Atmapuri" <XXXX@XXXXX.COM>writes
Quote
Hi!

>Is it possible in Windows to record data at both the input and output
>buffers on a soundcard?
>
>I need a Windows recorder type app that records duplex audio - both line
>in and line out at the same time.
>
>e.g. if I set the recording bus to "line in" can I record that data as
>well as the data currently going to line out (from a different app)?

I think not. You could record a mix of both but not each one
separately.

Best Regards!
Atmapuri


 

Re:Recording Duplex audio - in and out of card - possible?

Hi!
Quote
Actually a mix of both would do - if that is possible, that'll probably be
enough.

Is that simple enough to do?
Yes. You record as you would with any recording program,
and select "Record Master" as the source. This is not availble with
all sound cards. (especially not the older ones).
Regards!
Atmapuri.
 

Re:Recording Duplex audio - in and out of card - possible?

Atmapuri writes:
Quote
Hi!


>Actually a mix of both would do - if that is possible, that'll probably be
>enough.
>
>Is that simple enough to do?


Yes. You record as you would with any recording program,
and select "Record Master" as the source. This is not availble with
all sound cards. (especially not the older ones).

Regards!
Atmapuri.


Ofcourse you can record both the input stage and the output stage!
It just takes some extra work (and carefull buffering).
The easiest way to do this is using Steinberg's ASIO API and use an ASIO
enabled card (most are), but you can also do it with standard ACM.
(which in de win32 mmsystem hlp and the msdn btw contains an example
that does almost just that (an intermediate file afer decompression of
PCM and a second file after recompreession. It is easy to adapt to
Delphi and also easy to work with the code on a buffer by buffer base to
do it in realtime.
Similar code is used to 'save' a back-up of intermediate stages in sound
processing (it is almost necessary to do that, unless you are able to
save just control parameters, which is not always he case.
To sum up:
Yes, it is possible, it is not even difficult and it happens in most
audio processing software.
 

Re:Recording Duplex audio - in and out of card - possible?

Hi!
Quote
Yes, it is possible, it is not even difficult and it happens in most audio
processing software.
Yes. Newer sound card and a correct recording source
setting in the Microsoft Mixer :) No programming required.
Best Regards!
Atmapuri
 

Re:Recording Duplex audio - in and out of card - possible?

Hi Thaddy thanks.
I can not find the example in Win32 mmsystem help - can you point me to a
link?
Quote
It just takes some extra work (and carefull buffering).
I'm not sure why you say "careful" buffering? I just want the data as it's
being played. Are you suggesting that I need to "intercept" the data, copy
it and then send it back to the soundcard?
Thanks,
Dean
"Thaddy" <XXXX@XXXXX.COM>writes
Quote
Atmapuri writes:
>Hi!
>
>
>>Actually a mix of both would do - if that is possible, that'll probably be
>>enough.
>>
>>Is that simple enough to do?
>
>
>Yes. You record as you would with any recording program,
>and select "Record Master" as the source. This is not availble with
>all sound cards. (especially not the older ones).
>
>Regards!
>Atmapuri.
>
>
Ofcourse you can record both the input stage and the output stage!
It just takes some extra work (and carefull buffering).
The easiest way to do this is using Steinberg's ASIO API and use an ASIO
enabled card (most are), but you can also do it with standard ACM. (which
in de win32 mmsystem hlp and the msdn btw contains an example that does
almost just that (an intermediate file afer decompression of PCM and a
second file after recompreession. It is easy to adapt to Delphi and also
easy to work with the code on a buffer by buffer base to do it in
realtime.
Similar code is used to 'save' a back-up of intermediate stages in sound
processing (it is almost necessary to do that, unless you are able to save
just control parameters, which is not always he case.
To sum up:
Yes, it is possible, it is not even difficult and it happens in most audio
processing software.
 

Re:Recording Duplex audio - in and out of card - possible?

Suppose you wanted to add compression or reverb to an audio file and you
would want to compare the signals: in that case you would want both
signals at hand. So, simply get at the buffer before processing and
after processing. Something along those lines. Real time means:fast
enough not to notice. ASIO or DirectX obtain typically a 2 - 5 msec
processing delay with good soundcards (even humble AC'97 ones if you use
ASIO4All) which is not noticable (2 msecs is he same as within a
distance of about 2 - 2.5 meters from the source, i.e. speakers, singer
or instruments, depending on the room size and height.) So, yes, get at
the buffers before or after processing. A computer can do a lot of extra
work in two msec. Even 10-20 msecs is acceptable for most applications.