I got it working! There was another thread http://tinyurl.com/pebqc on this group where someone had the same problem. I changed my code to the following:
from twisted.internet.task import LoopingCall from twisted.internet import reactor import os, sys, wave, audioop """ While playing the contents of test1.wav, talk into the mic and have the audio recorded into /tmp/out.wav """ def playnlisten_out(): audio = wavin.readframes(1024) stereoaudio = audioop.tostereo(audio, 2, 1, 1) dspout.write(stereoaudio) def playnlisten_in(): audio = dspin.read(640) wavout.write(audio) def both(): playnlisten_out() playnlisten_in() dspout = ossaudiodev.open('/dev/dsp', 'w') # 2 file handles dspin = ossaudiodev.open('/dev/dsp', 'r') wavin = wave.open("test1.wav", "r") wavout = wave.open("/tmp/out.wav", "w") both_loop = LoopingCall(both) both_loop.start(0.02) reactor.run() and it worked as expected. I did not need to mess around with /dev/mixer. -- http://mail.python.org/mailman/listinfo/python-list