¿Has mirado pymedia? Parece tan fácil como esto para reproducir un archivo WAV:
import time, wave, pymedia.audio.sound as sound
f= wave.open('YOUR FILE NAME', 'rb')
sampleRate= f.getframerate()
channels= f.getnchannels()
format= sound.AFMT_S16_LE
snd= sound.Output(sampleRate, channels, format)
s= f.readframes(300000)
snd.play(s)
while snd.isPlaying(): time.sleep(0.05)
Ref: http://pymedia.org/tut/play_wav.html
Por supuesto, se puede echar un vistazo a la wiki del pitón bajo audio (http://wiki.python.org/moin/Audio/) para otras bibliotecas como https://docs.python.org/library/wave.html o de nuevo en la wiki de Python en Game Libraries (http://wiki.python.org/moin/PythonGameLibraries) que lo señalará con enlaces a OpenAL o Pygame que tiene módulos de sonido.
Y finalmente, aunque no conozco las limitaciones de pyaudio, su mensaje de error suena más como que la biblioteca no puede encontrar el dispositivo de salida predeterminado más de lo que el dispositivo está siendo utilizado por otro proceso. Tal vez eche un vistazo a qué dispositivo de salida devuelve el get_default_output_device_info
de pyaudio y compárelo con cualquiera que sea su configuración predeterminada en Ubuntu.