Python

Kako predvajati zvok v Pythonu

Kako predvajati zvok v Pythonu

Kako predvajati zvok v Pythonu

Predvajanje zvoka s skriptom Python je enostavna naloga, ker ta jezik vsebuje veliko modulov za uporabo skripta za predvajanje ali snemanje zvoka. Z uporabo teh modulov lahko predvajate zvočne datoteke, kot so mp3, wav in druge vrste zvočnih datotek. Pred uporabo modula v skriptu morate najprej namestiti zvočni modul. Ta vadnica bo pokazala, kako namestiti različne vrste modulov Python za predvajanje zvoka.

Predvajaj zvok s pomočjo playounda

The playound modul je najpreprostejši modul za predvajanje zvoka. Ta modul deluje tako na Python 2 kot na Python 3 in je preizkušen za predvajanje samo datotek wav in mp3. Vsebuje samo eno metodo z imenom playound (), z enim argumentom, da Linux vzame ime zvočne datoteke za predvajanje.

Namestitev:

Zaženite naslednji ukaz pip3, da namestite ta modul v Python 3:

$ pip3 namesti playound

Primer: predvajanje datotek wav in mp3 z uporabo playounda

V naslednjem skriptu bo kot vhod najprej uporabljeno ime datoteke wav, datoteka pa se bo predvajala s pomočjo datoteke playound () metoda. Nato bo vneseno ime datoteke mp3 in predvajano po isti metodi.

#!/ usr / bin / env python3
# Uvozi modul playound
iz playounda uvozi
 
# Vnesite obstoječe ime datoteke wav
wavFile = input ("Vnesite ime datoteke wav:")
# Predvajajte datoteko wav
playsound (wavFile)
 
# Vnesite obstoječe ime datoteke mp3
mp3File = input ("Vnesite ime datoteke mp3:")
# Predvajajte datoteko mp3
playsound (mp3File)

Izhod:

Če obstajata obe datoteki, se bo začela predvajati zvočna datoteka.

Predvajaj zvok s pomočjo pyduba

The pydub modul podpira Python 2 in Python 3. Ta modul ima številne uporabne funkcije, razen zvočnih modulov Python. Modul pydub podpira različne vrste zvočnih datotek. Ta modul se lahko uporablja za delitev segmentov katere koli zvočne datoteke ali dodajanje segmentov zvočnim datotekam. Poleg zvoka lahko dodate tudi preprost učinek. Ta modul je neposredno odvisen od dveh modulov, imenovanih ffmpeg in libavcodec-extra. Pred namestitvijo modula pydub morate najprej namestiti te module.

Namestitev:

Za namestitev paketa pydub Pythona zaženite naslednje ukaze:

$ sudo apt-get namestite ffmpeg libavcodec-extra
$ pip3 namestite pydub

Primer-1: predvajanje lokalnih datotek wav in mp3

Ta modul uporablja form_file () način predvajanja wav datotek in form_mp3 () način predvajanja datoteke mp3. The predvajaj () Za predvajanje datoteke wav in mp3 se tukaj uporablja metoda:

#!/ usr / bin / env python3
iz pydub import AudioSegment
iz pyduba.predvajanje uvoz predvajanje
# Vnesite obstoječe ime datoteke wav
wavFile = input ("Vnesite ime datoteke wav:")
# datoteko naložite v pydub
zvok = AudioSegment.from_file (wavFile)
print ("Predvajanje wav datoteke ...")
# predvajanje datoteke
predvajanje (zvok)
# Vnesite obstoječe ime datoteke mp3
mp3File = input ("Vnesite ime datoteke mp3:")
# datoteko naložite v pydub
glasba = AudioSegment.from_mp3 (mp3File)
print ("Predvajanje datoteke mp3 ...")
# predvajanje datoteke
Predvajaj glasbo)

Izhod:

Če obstajata tako datoteki wav kot mp3, se bo predvajal zvok in prikazal se bo naslednji izhod:

Primer-2: Prenesite in predvajajte datoteke wav in mp3 z URL-ja

Naslednji primer prikazuje, kako je mogoče katero koli datoteko wav ali mp3 predvajati po prenosu datoteke z veljavnega mesta URL. Modul urllib se v skriptu uporablja za prenos zvočne datoteke.

#!/ usr / bin / env python3
# Uvozite potrebne module
iz pydub import AudioSegment
iz pyduba.predvajanje uvoz predvajanje
uvozni urllib
# Nastavite ime datoteke wav
filename = "zvonec storitve.wav "
# Prenesite datoteko wav iz url
tiskanje ("prenos datoteke wav ...")
urllib.prošnja.urlretrieve ("http: // soundbible.com / grab.php?id = 2218 & type = wav ", ime datoteke)
# datoteko naložite v pydub
zvok = AudioSegment.from_file (ime datoteke)
print ("Predvajanje wav datoteke ...")
# predvajanje datoteke
predvajanje (zvok)
# Nastavite ime datoteke mp3
filename = "ptice.mp3 "
# Prenesite datoteko mp3
natisni ("prenos datoteke mp3 ...")
urllib.prošnja.urlretrieve ("http: // soundbible.com / grab.php?id = 2207 & type = mp3 ", ime datoteke)
# datoteko naložite v pydub
birdsound = AudioSegment.from_mp3 (ime datoteke)
print ("Predvajanje datoteke mp3 ...")
# Predvajaj rezultat
igra (ptičji zvok)
print ("Končano.")

Izhod:

Zvočna datoteka se bo začela predvajati po končanem prenosu in prikazal se bo naslednji izhod:

Predvajaj zvok s pomočjo tksnack

The tksnack modul je odvisen od drugega modula, imenovanega tkinter, ki aktivira a tk predmet v skriptu.  tksnack ukaze lahko uporabite po inicializaciji tk predmet. Namestiti morate oba tkinker in tksnack paketi za Python 3.

Namestitev:

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

Primer: predvajanje datoteke wav z uporabo tksnack

V naslednjem skriptu se modul tkSnack inicializira z uporabo predmeta tkinter in naslednjega predvajaj () metoda se uporablja za predvajanje datoteke wav. Tukaj blokiranje argument določa, da se bo zvok predvajal asinhrono.

#!/ usr / bin / env python3
# Uvozite nujne module
uvoz tkinter
uvozi tkSnack
uvoz os
 
# Inicializirajte objekt tk, da uporabite tksnack
root = tkinter.Tk ()
tkSnack.initializeSnack (root)
 
#Define tksnack object
zvok = tkSnack.Zvok ()
 
# Vnesite obstoječe ime datoteke wav
wavFile = input ("Vnesite ime datoteke wav:")
 
če os.pot.obstaja (wavFile):
# Preberite datoteko
zvok.branje (wavFile)
# Predvajaj zvok
zvok.igra (blokiranje = 1)
sicer:
# Natisnite sporočilo, če pot do datoteke ne obstaja
print ("Wav datoteka ne obstaja.")

Izhod:

Zvok se bo začel predvajati, če obstaja datoteka wav, in prikazal se bo naslednji izhod:

Predvajajte zvok z uporabo simpleaudio

The simpleaudio module je paket Python 3, ki lahko predvaja zvočne zvoke. Ta modul je v glavnem namenjen predvajanju wav datotek in nizov NumPy. Pred uporabo tega modula boste morali namestiti paket. Ta zvočni paket je neposredno odvisen od drugega imenovanega paketa libasound2-dev. Namestiti boste morali libasound2-dev najprej paket, po tem pa lahko namestite simpleaudio paket.

Namestitev:

Za namestitev paketov zaženite naslednji ukaz:

$ sudo apt-get namestite libasound2-dev
$ pip3 namestite simpleaudio

Primer: predvajanje datoteke wav z uporabo simpleaudio

V naslednjem skriptu bo za vhod vzeto katero koli ime datoteke wav. Če datoteka obstaja, bo skript predvajal zvočno datoteko; v nasprotnem primeru bo skript prikazal sporočilo o napaki.

#!/ usr / bin / env python3
# Uvozi zvočni modul simpleaudio
uvozi simpleaudio kot sa
# Vnesite obstoječe ime datoteke wav
wavFile = input ("Vnesite ime datoteke wav:")
 
# Predvajajte zvok, če obstaja datoteka wav
poskusite:
# Določite objekt za predvajanje
w_object = sa.WaveObject.from_wave_file (wavFile)
# Določite objekt za nadzor predvajanja
p_object = w_object.predvajaj ()
print ("Zvok se predvaja ...")
p_object.wait_done ()
print ("Končano.")
# Natisnite sporočilo o napaki, če datoteka ne obstaja
razen FileNotFoundError:
print ("Wav datoteka ne obstaja")

Izhod:

Zvočna datoteka se bo predvajala in po predvajanju zvoka se bo prikazal naslednji izhod:

Zaključek

Osnovne uporabe štirih modulov Python za predvajanje zvoka so razložene v tej vadnici na številnih primerih. Naloga za predvajanje zvoka je prikazana samo v tej vadnici, vendar lahko s pomočjo skripta Python snemate, urejate in spreminjate različne naloge, povezane z zvokom.

Kako namestiti in igrati Doom v Linuxu
Uvod v Doom Serija Doom je nastala v devetdesetih letih po izidu prvotnega Dooma. Bil je takojšen hit in od takrat naprej je serija iger prejela števi...
Vulkan za uporabnike Linuxa
Z vsako novo generacijo grafičnih kart vidimo, da razvijalci iger premikajo meje grafične zvestobe in se približujejo fotorealizmu. A kljub vsem kredi...
OpenTTD vs Simutrans
Ustvarjanje lastne simulacije prevoza je lahko zabavno, sproščujoče in izjemno vabljivo. Zato morate preizkusiti čim več iger, da boste našli tisto, k...