How to play sound in Python?
wjdandreta at att.net
Sat Oct 23 18:15:40 CEST 2004
I posted a message ("Help with my 1st Tkinter program") a few days ago
complaining that Python did not have any built in basic cross platform
sound capability. I was wrong (at least partly). Python comes with some
sound playing ability for some platforms.
Since no one responded to my post, I assume the capability is not well
known so I will post a code snippet from my practice program that
demonstrates how I play a sound file with Python on both Windows and
Linux. It may save someone else some time.
The winsound module lets you play .wav files under windows. The
ossaudiodev module in combination with the wave module lets you play
.wav files under Linux (and some other nix's as well).
from winsound import PlaySound, SND_FILENAME, SND_ASYNC
from wave import open as waveOpen
from ossaudiodev import open as ossOpen
s = waveOpen('tada.wav','rb')
(nc,sw,fr,nf,comptype, compname) = s.getparams( )
dsp = ossOpen('/dev/dsp','w')
from ossaudiodev import AFMT_S16_NE
if byteorder == "little":
AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
AFMT_S16_NE = ossaudiodev.AFMT_S16_BE
dsp.setparameters(AFMT_S16_NE, nc, fr)
data = s.readframes(nf)
More information about the Python-list