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 module from playsound import playsound # for playing note.wav file playsound( '/path/note.wav' ) print ( 'playing sound using playsound' ) |
Output:
Example: For mp3 format
Python3
# import required module from playsound import playsound # for playing note.mp3 file 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
# import required modules from pydub import AudioSegment from pydub.playback import play # for playing wav file song = AudioSegment.from_wav( "note.wav" ) print ( 'playing sound using pydub' ) play(song) |
Output:
Example 2: For mp3 format
Python3
# import required module from pydub import AudioSegment from pydub.playback import play # for playing mp3 file 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
# import required modules from Tkinter import * import tkSnack # initialize tk object to use tksnack root = Tk() tkSnack.initializeSnack(root) # play sound 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 required module import os # play sound file = "note.wav" print ( 'playing sound using native player' ) os.system( "afplay " + file ) |
Output:
Example 2: For Linux
Python3
# import required module import os # play sound 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 required module import simpleaudio as sa # define an object to play wave_object = sa.WaveObject.from_wave_file('note.wav) print ( 'playing sound using simpleaudio' ) # define an object to control the play play_object = wave_object.play() play_object.wait_done() |
Output: