Play sound in Python
Last Updated :
28 Nov, 2022
In this article, we will see how to play sound in Python using some of the most popular audio libraries. We will learn about the various methods for playing sound.
Method 1: Using playsound module
Run the following command to install the packages:
pip install playsound
- The playsound module contains only a single function named playsound().
- It requires one argument: the path to the file with the sound we have to play. It can be a local file, or a URL.
- There’s an optional second argument, block, which is set to True by default. We can set it to False for making the function run asynchronously.
- It works with both WAV and MP3 files.
Example: For WAV format
Python3
from playsound import playsound
playsound( '/path/note.wav' )
print ( 'playing sound using playsound' )
|
Output:
Example: For mp3 format
Python3
from playsound import playsound
playsound( '/path/note.mp3' )
print ( 'playing sound using playsound' )
|
Output:
Method 2: Using pydub module
Run the following commands to install the packages:
sudo apt-get install ffmpeg libavcodec-extra
pip install pydub
Note: You can open WAV files with python. For opening mp3, you’ll need ffmpeg or libav.
This module uses the from_wav() method for playing wav file and from_mp3() method for playing an mp3 file. The play() method is used to play the wav and mp3 file:
Example 1: For WAV format
Python3
from pydub import AudioSegment
from pydub.playback import play
song = AudioSegment.from_wav( "note.wav" )
print ( 'playing sound using pydub' )
play(song)
|
Output:
Example 2: For mp3 format
Python3
from pydub import AudioSegment
from pydub.playback import play
song = AudioSegment.from_mp3( "note.mp3" )
print ( 'playing sound using pydub' )
play(song)
|
Output:
Method 3: Using tksnack module
The tksnack module depends upon a module named tkinter to activate a tk object in the python script. You must install tkinter and tksnack packages for Python. Run the following commands to install the packages:
sudo apt-get install python3-tk
sudo apt-get install python3-tksnack
The play() method is used to play the audio files. The blocking argument states that the sound will play asynchronously.
Example:
Python3
from Tkinter import *
import tkSnack
root = Tk()
tkSnack.initializeSnack(root)
snd = tkSnack.Sound()
snd.read( 'note.wav' )
print ( 'playing sound using tkSnack' )
snd.play(blocking = 1 )
|
Output:
Method 4: Using Native Player
In this method, we play sounds natively on our system. This method plays the audio file with an external player installed on your terminal.
Example 1: For Mac OS X
Python3
import os
file = "note.wav"
print ( 'playing sound using native player' )
os.system( "afplay " + file )
|
Output:
Example 2: For Linux
Python3
import os
file = "note.mp3"
print ( 'playing sound using native player' )
os.system( "mpg123 " + file )
|
Output:
Method 5: Using simpleaudio module
This is mainly designed to play WAV files and NumPy arrays. Run the following command to install the packages:
$ sudo apt-get install libasound2-dev
$ pip3 install simpleaudio
The play() method is used to play the audio files.
Example:
Python3
import simpleaudio as sa
wave_object = sa.WaveObject.from_wave_file('note.wav)
print ( 'playing sound using simpleaudio' )
play_object = wave_object.play()
play_object.wait_done()
|
Output:
Share your thoughts in the comments
Please Login to comment...