Python

Cara Memainkan Suara di Python

Cara Memainkan Suara di Python

Cara Memainkan Suara di Python

Ini adalah tugas yang mudah untuk memainkan suara menggunakan skrip Python, kerana bahasa ini mengandungi banyak modul untuk menggunakan skrip untuk memainkan atau merakam suara. Dengan menggunakan modul ini, anda dapat memainkan fail audio seperti mp3, wav, dan jenis fail audio yang lain. Anda mesti memasang modul suara terlebih dahulu sebelum menggunakan modul dalam skrip. Tutorial ini akan menunjukkan cara memasang pelbagai jenis modul Python untuk memainkan suara.

Mainkan Bunyi Menggunakan permainan

The memainkan bunyi modul adalah modul paling mudah digunakan untuk memainkan suara. Modul ini berfungsi pada Python 2 dan Python 3, dan diuji untuk memainkan fail wav dan mp3 sahaja. Ia mengandungi hanya satu kaedah, yang dinamakan memainkan bunyi(), dengan satu argumen agar Linux mengambil nama fail audio untuk dimainkan.

Pemasangan:

Jalankan arahan pip3 berikut untuk memasang modul ini di Python 3:

$ pip3 memasang permainan

Contoh: Memainkan Fail wav dan mp3 Menggunakan permainan

Dalam skrip berikut, nama fail wav akan diambil sebagai input terlebih dahulu dan fail akan dimainkan menggunakan memainkan bunyi() kaedah. Seterusnya, nama fail mp3 akan dimasukkan dan dimainkan melalui kaedah yang sama.

#!/ usr / bin / env python3
# Modul main balik import
dari playound import playound
 
# Masukkan nama fail wav yang ada
wavFile = input ("Masukkan nama fail wav:")
# Mainkan fail wav
permainan (wavFile)
 
# Masukkan nama fail mp3 yang ada
mp3File = input ("Masukkan nama fail mp3:")
# Mainkan fail mp3
permainan (MP3File)

Pengeluaran:

Sekiranya kedua-dua fail ada, fail suara akan mula dimainkan.

Mainkan Bunyi Menggunakan pydub

The pydub modul menyokong kedua-dua Python 2 dan Python 3. Modul ini mempunyai banyak ciri berguna selain modul bunyi Python. Modul pydub menyokong pelbagai jenis fail audio. Modul ini dapat digunakan untuk membagi segmen file audio apa pun atau menambahkan segmen ke file audio. Anda juga boleh menambahkan kesan sederhana di atas suara. Modul ini secara langsung bergantung pada dua modul lain, yang dipanggil ffmpeg dan libavcodec-tambahan. Sebelum memasang modul pydub, anda mesti memasang modul ini terlebih dahulu.

Pemasangan:

Jalankan arahan berikut untuk memasang pydub pakej Python:

$ sudo apt-get install ffmpeg libavcodec-extra
$ pip3 memasang pydub

Contoh-1: Mainkan Fail wav dan mp3 tempatan

Modul ini menggunakan form_file () kaedah untuk memainkan fail wav dan borang_mp3 () kaedah untuk memainkan fail mp3. The bermain () kaedah digunakan di sini untuk memainkan fail wav dan mp3:

#!/ usr / bin / env python3
dari pydub import AudioSegment
dari pydub.main balik main balik
# Masukkan nama fail wav yang ada
wavFile = input ("Masukkan nama fail wav:")
# muatkan fail ke pydub
bunyi = AudioSegment.dari_file (wavFile)
cetak ("Memainkan fail wav ...")
# mainkan fail
memainkan bunyi)
# Masukkan nama fail mp3 yang ada
mp3File = input ("Masukkan nama fail mp3:")
# muatkan fail ke pydub
muzik = Bahagian Audio.dari_mp3 (mp3File)
cetak ("Memainkan fail mp3 ...")
# mainkan fail
bermain muzik)

Pengeluaran:

Sekiranya kedua-dua nama fail wav dan mp3 ada, maka suara akan dimainkan, dan output berikut akan muncul:

Contoh-2: Muat turun dan Mainkan fail wav dan mp3 dari URL

Contoh berikut menunjukkan bagaimana fail wav atau mp3 dapat dimainkan setelah memuat turun fail dari lokasi URL yang sah. Modul urllib digunakan dalam skrip untuk memuat turun fail suara.

#!/ usr / bin / env python3
# Import modul yang diperlukan
dari pydub importSegment Audio
dari pydub.main balik main balik
mengimport urllib
# Tetapkan nama fail wav
nama fail = "loceng perkhidmatan.wav "
# Muat turun fail wav dari url
cetak ("memuat turun fail wav ...")
urib.permintaan.urlretrieve ("http: // berbunyi.com / ambil.php?id = 2218 & type = wav ", nama fail)
# muatkan fail ke pydub
bunyi = AudioSegment.from_file (nama fail)
cetak ("Memainkan fail wav ...")
# mainkan fail
memainkan bunyi)
# Tetapkan nama fail mp3
nama fail = "burung.mp3 "
# Muat turun fail mp3
cetak ("memuat turun fail mp3 ...")
urib.permintaan.urlretrieve ("http: // berbunyi.com / ambil.php?id = 2207 & type = mp3 ", nama fail)
# muatkan fail ke pydub
birdound = Bahagian Audio.dari_mp3 (nama fail)
cetak ("Memainkan fail mp3 ...")
# Main hasilnya
bermain (bunyi burung)
cetak ("Selesai.")

Pengeluaran:

Fail suara akan mula dimainkan setelah selesai memuat turun, dan output berikut akan muncul:

Mainkan suara menggunakan tksnack

The tksnack modul bergantung pada modul lain, bernama tkinter, untuk mengaktifkan a tk objek dalam skrip.  tksnack arahan boleh digunakan setelah memulakan tk objek. Anda mesti memasang kedua-duanya tkinker dan tksnack pakej untuk Python 3.

Pemasangan:

$ sudo apt-get install python3-tk
$ sudo apt-get install python3-tksnack

Contoh: Mainkan fail wav Menggunakan tksnack

Dalam skrip berikut, modul tkSnack diinisialisasi dengan menggunakan objek tkinter, dan yang berikutnya bermain () kaedah digunakan untuk memainkan fail wav. Di sini, menyekat hujah menyatakan bahawa bunyi akan dimainkan secara tidak segerak.

#!/ usr / bin / env python3
# Modul keperluan keperluan
import tkinter
import tkSnack
import os
 
# Permulaan objek tk untuk menggunakan tksnack
akar = tkinter.Tk ()
tkSnack.inisialisasiSnack (root)
 
#Tentukan objek tksnack
bunyi = tkSnack.Bunyi ()
 
# Masukkan nama fail wav yang ada
wavFile = input ("Masukkan nama fail wav:")
 
sekiranya os.jalan.wujud (wavFile):
# Baca failnya
suara.baca (wavFile)
# Memainkan bunyi
suara.main (menyekat = 1)
lain:
# Cetak mesej jika jalan fail tidak ada
cetak ("Fail Wav tidak wujud.")

Pengeluaran:

Suara akan mula dimainkan jika fail wav ada, dan output berikut akan muncul:

Mainkan Bunyi Menggunakan simpleaudio

The simpleaudio modul adalah pakej Python 3 yang dapat memainkan suara audio. Modul ini direka terutamanya untuk memainkan fail wav dan tatasusunan NumPy. Anda perlu memasang pakej sebelum menggunakan modul ini. Pakej suara ini secara langsung bergantung pada pakej lain yang dipanggil libasound2-dev. Anda perlu memasang libasound2-dev pakej terlebih dahulu, dan selepas itu, anda boleh memasang simpleaudio pakej.

Pemasangan:

Jalankan arahan berikut untuk memasang pakej:

$ sudo apt-get install libasound2-dev
$ pip3 pasang simpleaudio

Contoh: Mainkan fail wav Menggunakan simpleaudio

Dalam skrip berikut, nama fail wav akan diambil sebagai input. Sekiranya fail itu ada, maka skrip akan memainkan fail suara; jika tidak, skrip akan memaparkan mesej ralat.

#!/ usr / bin / env python3
# Import modul suara simpleaudio
import simpleaudio sebagai sa
# Masukkan nama fail wav yang ada
wavFile = input ("Masukkan nama fail wav:")
 
# Mainkan suara jika fail wav ada
cuba:
# Tentukan objek untuk dimainkan
w_objek = sa.Objektif Gelombang.dari_wave_file (wavFile)
# Tentukan objek untuk mengawal permainan
p_object = w_object.bermain ()
cetak ("Suara sedang dimainkan ...")
p_objek.tunggu_ selesai ()
cetak ("Selesai.")
# Cetak mesej ralat jika fail tidak ada
kecuali FileNotFoundError:
cetak ("Fail Wav tidak wujud")

Pengeluaran:

Fail suara akan dimainkan, dan output berikut akan muncul setelah memainkan suara:

Kesimpulannya

Penggunaan asas empat modul Python untuk memainkan suara dijelaskan dalam tutorial ini dengan menggunakan sebilangan contoh. Tugas bermain suara ditunjukkan dalam tutorial ini sahaja, tetapi anda dapat merakam, mengedit, dan tugas yang berkaitan dengan suara dengan menggunakan skrip Python.

Cara Memasang dan Menggunakan MEGA Cloud Drive Sync pada Linux Mint
MEGA adalah aplikasi pelbagai platform yang menyegerakkan fail dan folder kami antara komputer tempatan dan pelayan awan MEGA dalam talian. Semua peru...
How to Change Hostname on Linux Mint 20
Hostname enables us to identify a device over the network. The hostname is set on your device during the installation process, or we can change it any...
Task Manager Equivalent in Linux Mint A Task Manager seperti Function
Pengguna Linux baru, yang berasal dari Windows, mengetahui pentingnya pengurus tugas. Dengan menggunakan task manager, kita dapat melihat proses yang ...