
Cara Memutar Suara dengan Python
Ini adalah tugas yang mudah untuk memutar suara menggunakan skrip Python, karena bahasa ini berisi banyak modul untuk menggunakan skrip untuk memutar atau merekam suara. Dengan menggunakan modul ini, Anda dapat memutar file audio seperti mp3, wav, dan jenis file audio lainnya. Anda harus menginstal modul suara terlebih dahulu sebelum menggunakan modul di skrip. Tutorial ini akan menunjukkan cara memasang berbagai jenis modul Python untuk memutar suara.
Putar Suara Menggunakan Playsound
Itu playsoundmodule adalah modul paling sederhana yang digunakan untuk memutar suara. Modul ini bekerja pada Python 2 dan Python 3, dan diuji untuk memutar file wav dan mp3 saja. Ini hanya berisi satu metode, bernamaplaysound(), dengan satu argumen agar Linux mengambil nama file audio untuk diputar.
Instalasi:
Jalankan perintah pip3 berikut untuk menginstal modul ini dengan Python 3:
$ pip3 install playsound
Contoh: Memutar File wav dan mp3 Menggunakan playsound
Dalam skrip berikut, nama file wav akan diambil sebagai input terlebih dahulu dan file akan diputar menggunakan: playsound()metode. Selanjutnya, nama file mp3 akan dimasukkan dan diputar melalui metode yang sama.
#!/usr/bin/env python3
# Import playsound module
from playsound import playsound
# Input an existing wav filename
wavFile = input("Enter a wav filename: ")
# Play the wav file
playsound(wavFile)
# Input an existing mp3 filename
mp3File = input("Enter a mp3 filename: ")
# Play the mp3 file
playsound(mp3File)
Keluaran:
Jika kedua file ada, maka file suara akan mulai diputar.
Putar Suara Menggunakan pydub
Itu pydubmodule mendukung Python 2 dan Python 3. Modul ini memiliki banyak fitur berguna selain modul suara Python. Modul pydub mendukung berbagai jenis file audio. Modul ini dapat digunakan untuk membagi segmen file audio apa pun atau menambahkan segmen ke file audio. Anda juga dapat menambahkan efek sederhana di atas suara. Modul ini secara langsung bergantung pada dua modul lain, yang disebutffmpeg dan libavcodec-extra. Sebelum menginstal modul pydub, Anda harus menginstal modul ini terlebih dahulu.
Instalasi:
Jalankan perintah berikut untuk menginstal paket pydub dari Python:
$ sudo apt-get install ffmpeg libavcodec-extra
$ pip3 install pydub
Contoh-1: Mainkan File wav dan mp3 Lokal
Modul ini menggunakan form_file() metode untuk memutar file wav dan form_mp3()metode untuk memutar file mp3. Ituplay() metode yang digunakan di sini untuk memutar file wav dan mp3:
#!/usr/bin/env python3
from pydub import AudioSegment
from pydub.playback import play
# Input an existing wav filename
wavFile = input("Enter a wav filename: ")
# load the file into pydub
sound = AudioSegment.from_file(wavFile)
print("Playing wav file...")
# play the file
play(sound)
# Input an existing mp3 filename
mp3File = input("Enter a mp3 filename: ")
# load the file into pydub
music = AudioSegment.from_mp3(mp3File)
print("Playing mp3 file...")
# play the file
play(music)
Keluaran:
Jika nama file wav dan mp3 ada, maka suara akan diputar, dan output berikut akan muncul:
Contoh-2: Download dan Putar File wav dan mp3 dari URL
Contoh berikut menunjukkan bagaimana file wav atau mp3 dapat diputar setelah mengdownload file dari lokasi URL yang valid. Modul urllib digunakan dalam skrip untuk mengdownload file suara.
#!/usr/bin/env python3
# Import necessary modules
from pydub import AudioSegment
from pydub.playback import play
import urllib
# Set the wav filename
filename = "service-bell.wav"
# Download the wav file from url
print("downloading wav file....")
urllib.request.urlretrieve("http://soundbible.com/grab.php?id=2218&type=wav", filename)
# load the file into pydub
sound = AudioSegment.from_file(filename)
print("Playing wav file...")
# play the file
play(sound)
# Set the mp3 filename
filename = "birds.mp3"
# Download an mp3 file
print("downloading mp3 file....")
urllib.request.urlretrieve("http://soundbible.com/grab.php?id=2207&type=mp3", filename)
# load the file into pydub
birdsound = AudioSegment.from_mp3(filename)
print("Playing mp3 file...")
# Play the result
play(birdsound)
print("Finished.")
Keluaran:
File suara akan mulai diputar setelah menyelesaikan downloadan, dan output berikut akan muncul:
Putar suara menggunakan tksnack
Itu tksnack modul tergantung pada modul lain, bernama tkinter, untuk mengaktifkan a tk objek dalam naskah. tksnack perintah dapat digunakan setelah menginisialisasi tkobyek. Anda harus menginstal keduanyatkinker dan tksnack paket untuk Python 3.
Instalasi:
$ sudo apt-get install python3-tk
$ sudo apt-get install python3-tksnack
Contoh: Memutar File wav Menggunakan tksnack
Dalam skrip berikut, modul tkSnack diinisialisasi dengan menggunakan objek tkinter, dan selanjutnya play() metode yang digunakan untuk memutar file wav. Di sini,blocking argumen menentukan bahwa suara akan diputar secara tidak sinkron.
#!/usr/bin/env python3
# Import necessasry modules
import tkinter
import tkSnack
import os
# Initialize tk object to use tksnack
root = tkinter.Tk()
tkSnack.initializeSnack(root)
#Define tksnack object
sound = tkSnack.Sound()
# Input an existing wav filename
wavFile = input("Enter a wav filename: ")
if os.path.exists(wavFile):
# Read the file
sound.read(wavFile)
# Play sound
sound.play(blocking=1)
else:
# Print the message if the file path does not exist
print ("Wav file does not exist.")
Keluaran:
Suara akan mulai diputar jika file wav ada, dan output berikut akan muncul:
Putar Suara Menggunakan simpleaudio
Itu simpleaudiomodule adalah paket Python 3 yang dapat memutar suara audio. Modul ini terutama dirancang untuk memutar file wav dan array NumPy. Anda perlu menginstal paket sebelum menggunakan modul ini. Paket suara ini secara langsung tergantung pada paket lain yang disebutlibasound2-dev. Anda harus menginstallibasound2-dev paket terlebih dahulu, dan setelah itu, Anda dapat menginstal simpleaudio kemasan.
Instalasi:
Jalankan perintah berikut untuk menginstal paket:
$ sudo apt-get install libasound2-dev
$ pip3 install simpleaudio
Contoh: Memutar File wav Menggunakan simpleaudio
Dalam skrip berikut, nama file wav apa pun akan diambil sebagai input. Jika file tersebut ada, maka skrip akan memutar file suara; jika tidak, skrip akan menampilkan pesan error.
#!/usr/bin/env python3
# Import simpleaudio sound module
import simpleaudio as sa
# Input an existing wav file name
wavFile = input("Enter a wav filename: ")
# Play the sound if the wav file exists
try:
# Define object to play
w_object = sa.WaveObject.from_wave_file(wavFile)
# Define object to control the play
p_object = w_object.play()
print("Sound is playing...")
p_object.wait_done()
print("Finished.")
# Print error message if the file does not exist
except FileNotFoundError:
print("Wav File does not exists")
Keluaran:
File suara akan diputar, dan output berikut akan muncul setelah memutar suara:
Kesimpulan
Penggunaan dasar empat modul Python untuk memutar suara dijelaskan dalam tutorial ini dengan menggunakan sejumlah contoh. Tugas pemutaran suara hanya ditampilkan dalam tutorial ini, tetapi Anda dapat merekam, mengedit, dan berbagai tugas terkait suara dengan menggunakan skrip Python.