Python isn’t necessarily for multimedia programming, so only recently I looked up ways to add audio in a Python script. Turns out there are several ways to do that. They’re all really simple.
Methods to add sound:
1.
import winsound
fname = “soundfile.wav”
winsound.PlaySound(fname, winsound.SND_FILENAME)
2.
import pygame
pygame.init()
s = pygame.mixer.Sound(“soundfile.wav”)
# Start playback
s.play()
# Stop playback
s.stop()
3.
from pydub import AudioSegment
from pydub.playback import play
fname = “soundfile.wav”
mysong = AudioSegment.from_wav(fname)
play(mysong)
4.
from playsound import playsound
# wav works on all platforms. mp3 works on OS X. Other filetype/OS combos may work but have not been tested.
playsound(“soundfile.wav”)
In all of the above methods, you can specify the full path to the “soundfile.wav” as in “c:\\myfolder\\soundfile.wav” (Yes, just like in C/C++, you need to add double slashes)
I found #1 method to be the easiest as on my Windows OS, it doesn’t require any special library installation.
In an earlier blog of mine, I showed the code to draw “dots” on screen randomly. So, here if I just add a popping sound to the dots appearing, it makes it so much better 🙂
The only code I added to that code shown in that blog is this:
import winsoundÂ
fname = “pop1.wav”
And in my draw_random_dots() function, I added this line:
winsound.PlaySound(fname, winsound.SND_FILENAME)
That’s it. The satisfying result is this: