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:
Last Updated :
28 Nov, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...