Play sound in Python - GeeksforGeeks

13 Jan, 2021
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
# import required modulefrom playsound import playsound  # for playing note.wav fileplaysound('/path/note.wav')print('playing sound using  playsound')
Output:
Example: For mp3 format
Python3
# import required modulefrom playsound import playsound  # for playing note.mp3 fileplaysound('/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
# import required modulesfrom pydub import AudioSegmentfrom pydub.playback import play  # for playing wav filesong = AudioSegment.from_wav("note.wav")print('playing sound using  pydub')play(song)
Output:
Example 2: For mp3 format
Python3
# import required modulefrom pydub import AudioSegmentfrom pydub.playback import play  # for playing mp3 filesong = 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 tkinker 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
# import required modulesfrom Tkinter import *import tkSnack  # initialize tk object to use tksnackroot = Tk()tkSnack.initializeSnack(root)  # play soundsnd = 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 required moduleimport os  # play soundfile = "note.wav"print('playing sound using native player')os.system("afplay " + file)
Output:
Example 2: For Linux
Python3
# import required moduleimport os  # play soundfile = "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 required moduleimport simpleaudio as sa  # define an object to playwave_object = sa.WaveObject.from_wave_file('note.wav)print('playing sound using simpleaudio')  # define an object to control the playplay_object = wave_object.play()play_object.wait_done()
Output:
Picked
python-utility
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
How to Install PIP on Windows ?
How to drop one or multiple columns in Pandas Dataframe
How To Convert Python Dictionary To JSON?
Check if element exists in list in Python
Python | Pandas dataframe.groupby()
Python | Get unique values from a list
Defaultdict in Python
Python | os.path.join() method
Python Classes and Objects
Create a directory in Python