Hi, 

> I am running OpenBSD 4.1 with a SoundBlaster PCI 128 audio card.
> This card uses the "eap" driver.

I am not sure if this card supports full duplex. Check

audioctl properties

for the term "full_duplex". You will need this feature. 

> Does anyone have a recommended way and/or application that
> could directly play out the raw audio that is coming into card?
> Is this possible?

I tried some time ago with audacity, but it didn't work. You can code this for 
yourself directly in C, it's not difficult, ~100 lines of code max. 
Fortunately, I did this in the last weeks for an audio measurement 
application. Ehm, anyone concerned about a little advertise for a 
BSD-like-licensed app? No? 

You can get it here: http://esweep.berlios.de
Sorry for the german-only (and bad, but I'm working on it) manual, that was 
the intended audience. It is a module for Tcl and works very well. I 
developed an spectrum analyzer within a few hours (well, it's not real time, 
because the module does not contain any displaying options - until now). Just 
compile it, and copy the resulting library wherever you want. Then, you need 
this Tcl-code: 

#!/usr/local/bin/tclsh8.4
# load module
load <PATH_TO_LIBRARY>/esweep.so esweep

# samplerate
set samplerate 44100

# buffer size
set size 16384

# prepare in-/ouput buffers
set au_in [esweep_create "audio" $samplerate $size]
set au_out [esweep_create "audio" $samplerate $size]

# open soundcard
set au_handle [esweep_audioOpen "/dev/sound" $samplerate]

# forever
while {1} {
        # record and play
        esweep_audioMeasure $au_in $au_out $au_handle
        # switch buffers
        set tmp $au_in
        set au_in $au_out
        set au_out $tmp
}

That's all. Twelve lines of raw code (comments end empty lines skipped). 
Enjoy. 

Bye,
Jochen

P.S.: maybe anyone likes to make a port of this? I don't think I can do this 
in an acceptable time. 

Reply via email to