Play sound in Python
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:
Video Player
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:
Video Player
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:
Video Player
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) |
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 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 ) |
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 ) |
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 ) |
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() |
Last Updated on March 1, 2022 by admin