„Python“

Kaip atkurti garsą „Python“

Kaip atkurti garsą „Python“

Kaip atkurti garsą „Python“

Lengva užduotis atkurti garsą naudojant „Python“ scenarijų, nes šioje kalboje yra daug modulių, kuriuos galima naudoti scenarijaus atkūrimui ar garso įrašymui. Naudodamiesi šiais moduliais, galite atkurti garso failus, tokius kaip mp3, wav ir kitus garso failų tipus. Prieš naudodami modulį scenarijuje, pirmiausia turite įdiegti garso modulį. Ši pamoka parodys, kaip įdiegti skirtingų tipų „Python“ modulius, kad būtų galima atkurti garsą.

Leiskite garsą naudodami grojimo garsą

The Paleisti garsą modulis yra paprasčiausias modulis, naudojamas grojant garsą. Šis modulis veikia tiek „Python 2“, tiek „Python 3“ ir yra išbandytas, kad būtų galima leisti tik wav ir mp3 failus. Jame yra tik vienas metodas, pavadintas Paleisti garsą(), su vienu argumentu, kad „Linux“ imtų garso failo pavadinimą groti.

Diegimas:

Paleiskite šią komandą pip3, kad įdiegtumėte šį modulį „Python 3“:

$ pip3 įdiegti grojimo garsą

Pavyzdys: WAV ir MP3 failų grojimas naudojant grojimo garsą

Šiame scenarijuje pirmiausia įvestas wav failo vardas ir failas bus grojamas naudojant Paleisti garsą() metodas. Tada MP3 failo vardas bus įvestas ir grojamas tuo pačiu metodu.

#!/ usr / bin / env python3
# Importuoti grojimo garso modulį
iš grojimo garso importo grojimo
 
# Įveskite esamą WAV failo pavadinimą
wavFile = input ("Įveskite WAV failo pavadinimą:")
# Paleiskite WAV failą
grojaraštis (wavFile)
 
# Įveskite esamą mp3 failo pavadinimą
mp3File = input ("Įveskite mp3 failo pavadinimą:")
# Paleiskite mp3 failą
grojaraštis (mp3File)

Išvestis:

Jei egzistuoja abu failai, garso failas bus paleistas.

Leiskite garsą naudodami „pydub“

The pydub modulis palaiko tiek „Python 2“, tiek „Python 3“. Šis modulis turi daug naudingų funkcijų, išskyrus „Python“ garso modulius. „Pydub“ modulis palaiko įvairių tipų garso failus. Šis modulis gali būti naudojamas padalinti bet kokio garso failo segmentus arba pridėti segmentus prie garso failų. Garso viršuje taip pat galite pridėti paprastą efektą. Šis modulis tiesiogiai priklauso nuo dviejų kitų vadinamųjų modulių ffmpeg ir libavcodec-extra. Prieš įdiegdami „pydub“ modulį, pirmiausia turite įdiegti šiuos modulius.

Diegimas:

Norėdami įdiegti „Python“ paketą „Pydub“, paleiskite šias komandas:

$ sudo apt-get install ffmpeg libavcodec-extra
$ pip3 įdiekite „pydub“

1 pavyzdys: leiskite vietinius WAV ir MP3 failus

Šis modulis naudoja form_file () būdas atkurti WAV failą ir form_mp3 () būdas atkurti mp3 failą. The žaisti() metodas čia naudojamas norint atkurti WAV ir MP3 failus:

#!/ usr / bin / env python3
iš „pydub“ importo „AudioSegment“
iš pydub.atkūrimo importo atkūrimas
# Įveskite esamą WAV failo pavadinimą
wavFile = input ("Įveskite WAV failo pavadinimą:")
# įkelkite failą į „pydub“
garsas = garso segmentas.from_file (wavFile)
spausdinti („Leidžiamas WAV failas ...“)
# paleisti failą
Paleisti garsą)
# Įveskite esamą mp3 failo pavadinimą
mp3File = input ("Įveskite mp3 failo pavadinimą:")
# įkelkite failą į „pydub“
muzika = AudioSegment.from_mp3 (mp3File)
spausdinti ("Leidžiamas mp3 failas ...")
# paleisti failą
groti muzika)

Išvestis:

Jei egzistuoja ir wav, ir mp3 failų pavadinimai, garsas gros ir pasirodys toks išvestis:

2 pavyzdys: atsisiųskite ir paleiskite wav ir mp3 failus iš URL

Šis pavyzdys parodo, kaip galima atkurti bet kokį WAV ar MP3 failą, atsisiuntus failą iš galiojančios URL vietos. Urllib modulis naudojamas scenarijuje norint atsisiųsti garso failą.

#!/ usr / bin / env python3
# Importuokite būtinus modulius
iš „pydub“ importo „AudioSegment“
iš pydubo.atkūrimo importo atkūrimas
importuoti urllib
# Nustatykite WAV failo pavadinimą
failo pavadinimas = "tarnybinis varpas.wav "
# Atsisiųskite WAV failą iš URL
spausdinti ("atsisiunčiamas WAV failas ...")
urllib.prašymą.urlretrieve ("http: // garsus.com / grab.php?id = 2218 & type = wav ", failo pavadinimas)
# įkelkite failą į „pydub“
garsas = garso segmentas.from_file (failo pavadinimas)
spausdinti („Leidžiamas WAV failas ...“)
# paleisti failą
Paleisti garsą)
# Nustatykite mp3 failo pavadinimą
filename = "paukščiai.mp3 "
# Atsisiųskite mp3 failą
spausdinti ("atsisiunčiamas mp3 failas ...")
urllib.prašymą.urlretrieve ("http: // garsus.com / grab.php?id = 2207 & type = mp3 ", failo pavadinimas)
# įkelkite failą į „pydub“
birdound = Garso segmentas.from_mp3 (failo pavadinimas)
spausdinti ("Leidžiamas mp3 failas ...")
# Atkurkite rezultatą
žaisti (paukščių gaudymas)
spausdinti ("Baigta.")

Išvestis:

Garso failas bus paleistas baigus atsisiųsti ir pasirodys tokia išvestis:

Leiskite garsą naudodami „tksnack“

The tksnack modulis priklauso nuo kito modulio, pavadinto tkinter, kad suaktyvintumėte a tk objektas scenarijuje.  tksnack komandas galima naudoti inicializavus tk objektas. Turite įdiegti abu tkinkeris ir tksnack „Python 3“ paketai.

Diegimas:

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

Pavyzdys: Leiskite „wav“ failą naudodami „tksnack“

Šiame scenarijuje „tkSnack“ modulis inicijuojamas naudojant objektą „tkinter“ ir kitą žaisti() metodas naudojamas atkuriant WAV failą. Čia, blokavimas argumentas nurodo, kad garsas gros asinchroniškai.

#!/ usr / bin / env python3
# Importuoti būtinus modulius
importuoti tkinterį
importuoti tkSnack
importuoti os
 
# Inicializuokite „tk“ objektą, kad galėtumėte naudoti „tksnack“
šaknis = tkinter.Tk ()
tkSnack.initizeSnack (šaknis)
 
#Define tksnack object
garsas = tkKandis.Garsas ()
 
# Įveskite esamą WAV failo pavadinimą
wavFile = input ("Įveskite WAV failo pavadinimą:")
 
jei os.kelias.egzistuoja (wavFile):
# Perskaitykite failą
garsas.skaityti (wavFile)
# Paleisti garsą
garsas.žaisti (blokavimas = 1)
Kitas:
# Spausdinkite pranešimą, jei failo kelio nėra
spausdinti ("WAV failo nėra.")

Išvestis:

Garsas pradės groti, jei yra WAV failas, ir pasirodys tokia išvestis:

Leiskite garsą naudodamiesi „simpleeaudio“

The simpleaudio modulis yra „Python 3“ paketas, galintis atkurti garso garsus. Šis modulis daugiausia skirtas atkurti wav failus ir „NumPy“ masyvus. Prieš naudodami šį modulį turėsite įdiegti paketą. Šis garso paketas tiesiogiai priklauso nuo kito paketo, vadinamo libasound2-dev. Turėsite įdiegti libasound2-dev Pirmiausia paketą, o po to galite įdiegti simpleaudio pakuotė.

Diegimas:

Norėdami įdiegti paketus, paleiskite šią komandą:

$ sudo apt-get install libasound2-dev
$ pip3 įdiekite simpleaudio

Pavyzdys: Leiskite „wav“ failą naudodami „simpleeaudio“

Šiame scenarijuje bet koks WAV failo vardas bus laikomas įvestimi. Jei failas egzistuoja, scenarijus atkuria garso failą; priešingu atveju scenarijus parodys klaidos pranešimą.

#!/ usr / bin / env python3
# Importuokite „simpleeaudio“ garso modulį
importuoti paprastą garsą kaip sa
# Įveskite esamą WAV failo pavadinimą
wavFile = input ("Įveskite WAV failo pavadinimą:")
 
# Paleiskite garsą, jei yra WAV failas
bandyti:
# Apibrėžkite objektą, kurį norite žaisti
w_object = sa.„WaveObject“.from_wave_file (wavFile)
# Apibrėžkite objektą, kad valdytumėte žaidimą
p_object = w_object.žaisti()
spausdinti („Skamba garsas ...“)
p_object.wait_done ()
spausdinti ("Baigta.")
# Spausdinimo klaidos pranešimas, jei failo nėra
išskyrus „FileNotFoundError“:
spausdinti („WAV failo nėra“)

Išvestis:

Garso failas bus paleistas, o paleidus garsą pasirodys tokia išvestis:

Išvada

Pagrindiniai keturių „Python“ modulių naudojimo būdai garsui atkurti paaiškinami šioje pamokoje naudojant keletą pavyzdžių. Garso grojimo užduotis rodoma tik šioje mokymo programoje, tačiau galite įrašyti, redaguoti ir įvairias su garsu susijusias užduotis naudodami „Python“ scenarijų.

„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...
„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...