Go Back   Velocity Reviews > Newsgroups > Python
User Name
Password
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

Python - How to play sound in Python?

 
Thread Tools Search this Thread
Old 10-23-2004, 05:15 PM   #1
Default How to play sound in Python?


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).

===========================
file='tada.wav'
if platform.startswith('win'):
from winsound import PlaySound, SND_FILENAME, SND_ASYNC
PlaySound(file, SND_FILENAME|SND_ASYNC)
elif platform.find('linux')>-1:
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')
try:
from ossaudiodev import AFMT_S16_NE
except ImportError:
if byteorder == "little":
AFMT_S16_NE = ossaudiodev.AFMT_S16_LE
else:
AFMT_S16_NE = ossaudiodev.AFMT_S16_BE
dsp.setparameters(AFMT_S16_NE, nc, fr)
data = s.readframes(nf)
s.close()
dsp.write(data)
dsp.close()
===============================

Bill


Bill Dandreta
  Reply With Quote
Old 10-23-2004, 06:17 PM   #2
Dmitry Borisov
 
Posts: n/a
Default Re: How to play sound in Python?

"Bill Dandreta" <> wrote in message
news:Msved.21689$...
> 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.


Take a look: http://pymedia.org/
Dmitry/


  Reply With Quote
Old 10-24-2004, 01:39 AM   #3
bearophile
 
Posts: n/a
Default Re: How to play sound in Python?

Bill Dandreta:
>The winsound module lets you play .wav files under windows.


Thank you.
You can also create "on the fly" memory-mapped wav files (with wave
and mmap modules, I think), and play them.

How to use the flag SND_PURGE for WAVs loaded from filename or memory
mapped?

Bear hugs,
Bearophile
  Reply With Quote
Old 11-11-2004, 09:36 PM   #4
Johannes Nix
 
Posts: n/a
Default Re: How to play sound in Python?


just a quick note....

Bill Dandreta <> writes:

> 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.


I remember that somebody has implemented Python bindings for the
portaudio library, which is a cross-platform library for real-time
audio.


Johannes
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump