Pytonorm

Hur man spelar ljud i Python

Hur man spelar ljud i Python

Hur man spelar ljud i Python

Det är en enkel uppgift att spela ljud med Python-skript, eftersom det här språket innehåller många moduler för att använda skript för att spela eller spela in ljud. Genom att använda dessa moduler kan du spela ljudfiler som mp3, wav och andra ljudfiltyper. Du måste först installera ljudmodulen innan du använder modulen i skriptet. Denna handledning visar hur man installerar olika typer av Python-moduler för att spela ljud.

Spela ljud med playound

De Spelljud modulen är den enklaste modulen att använda för att spela ljud. Den här modulen fungerar på både Python 2 och Python 3 och testas för att endast spela wav- och mp3-filer. Den innehåller bara en metod, namngiven Spelljud(), med ett argument för Linux att ta ljudfilnamnet för uppspelning.

Installation:

Kör följande pip3-kommando för att installera den här modulen i Python 3:

$ pip3 installera playound

Exempel: Spela wav- och mp3-filer med PlaySound

I följande skript tas ett wav-filnamn som inmatning först och filen spelas med Spelljud() metod. Därefter matas ett mp3-filnamn in och spelas upp med samma metod.

#!/ usr / bin / env python3
# Importera playound-modul
från playsound importera playsound
 
# Ange ett befintligt wav-filnamn
wavFile = input ("Ange ett wav-filnamn:")
# Spela wav-filen
playsound (wavFile)
 
# Ange ett befintligt mp3-filnamn
mp3File = input ("Ange ett mp3-filnamn:")
# Spela mp3-filen
playsound (mp3File)

Produktion:

Om båda filerna finns spelar ljudfilen upp.

Spela upp ljud med pydub

De pydub modulen stöder både Python 2 och Python 3. Denna modul har många andra användbara funktioner än Python-ljudmoduler. Pydub-modulen stöder olika typer av ljudfiler. Den här modulen kan användas för att dela segment av valfri ljudfil eller lägga till segment till ljudfilerna. Du kan också lägga till en enkel effekt ovanpå ljudet. Denna modul beror direkt på två andra moduler, kallade ffmpeg och libavcodec-extra. Innan du installerar pydub-modulen måste du först installera dessa moduler.

Installation:

Kör följande kommandon för att installera pydub-paketet för Python:

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

Exempel 1: Spela lokala wav- och mp3-filer

Denna modul använder form_file () metod för att spela wav-fil och form_mp3 () metod för att spela en mp3-fil. De spela() metoden används här för att spela wav- och mp3-filen:

#!/ usr / bin / env python3
från pydub importerar AudioSegment
från pydub.uppspelning importspel
# Ange ett befintligt wav-filnamn
wavFile = input ("Ange ett wav-filnamn:")
# ladda in filen i pydub
ljud = AudioSegment.from_file (wavFile)
skriva ut ("Spela wav-fil ...")
# spela upp filen
Spelljud)
# Ange ett befintligt mp3-filnamn
mp3File = input ("Ange ett mp3-filnamn:")
# ladda in filen i pydub
musik = AudioSegment.from_mp3 (mp3File)
skriva ut ("Spela mp3-fil ...")
# spela upp filen
spela musik)

Produktion:

Om både wav- och mp3-filnamn finns, spelas ljudet upp och följande utdata visas:

Exempel 2: Ladda ner och spela wav- och mp3-filer från URL

Följande exempel visar hur någon wav- eller mp3-fil kan spelas efter nedladdning av filen från en giltig URL-plats. Urllib-modulen används i skriptet för att ladda ner ljudfilen.

#!/ usr / bin / env python3
# Importera nödvändiga moduler
från pydub importerar AudioSegment
från pydub.uppspelning importspel
importera urllib
# Ställ in wav-filnamnet
filnamn = "service-bell.wav "
# Ladda ner wav-filen från url
skriv ut ("hämtar wav-fil ...")
urllib.begäran.urlretrieve ("http: // soundbible.com / grab.php?id = 2218 & type = wav ", filnamn)
# ladda in filen i pydub
ljud = AudioSegment.från_fil (filnamn)
skriva ut ("Spela wav-fil ...")
# spela upp filen
Spelljud)
# Ställ in mp3-filnamnet
filnamn = "fåglar.mp3 "
# Ladda ner en mp3-fil
skriva ut ("ladda ner mp3-fil ...")
urllib.begäran.urlretrieve ("http: // soundbible.com / grab.php?id = 2207 & type = mp3 ", filnamn)
# ladda in filen i pydub
birdsound = AudioSegment.from_mp3 (filnamn)
skriva ut ("Spela mp3-fil ...")
# Spela resultatet
spela (fågelljud)
tryck ("Färdig.")

Produktion:

Ljudfilen kommer att börja spelas efter nedladdningen och följande utdata visas:

Spela ljud med tksnack

De tksnack modulen beror på en annan modul, som heter tkinter, för att aktivera en tk objekt i skriptet.  tksnack kommandon kan användas efter initialisering av tk objekt. Du måste installera båda tkinker och tksnack paket för Python 3.

Installation:

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

Exempel: Spela wav-fil med tksnack

I följande skript initieras tkSnack-modulen med hjälp av tkinter-objektet och nästa spela() metoden används för att spela wav-filen. Här, den blockering argument anger att ljudet kommer att spelas asynkront.

#!/ usr / bin / env python3
# Importera nödvändiga moduler
importera tkinter
importera tkSnack
importera os
 
# Initiera tk-objektet för att använda tksnack
root = tkinter.Tk ()
tkSnack.initializeSnack (root)
 
# Definiera tksnack-objekt
ljud = tkSnack.Ljud()
 
# Ange ett befintligt wav-filnamn
wavFile = input ("Ange ett wav-filnamn:")
 
om os.väg.existerar (wavFile):
# Läs filen
ljud.läs (wavFile)
# Spelljud
ljud.spela (blockering = 1)
annan:
# Skriv ut meddelandet om filvägen inte finns
skriv ut ("Wav-filen finns inte.")

Produktion:

Ljudet börjar spelas om wav-filen finns och följande utdata visas:

Spela ljud med simpleaudio

De simpleaudio modulen är ett paket med Python 3 som kan spela ljud. Denna modul är huvudsakligen utformad för att spela wav-filer och NumPy-matriser. Du måste installera paketet innan du använder den här modulen. Detta ljudpaket beror direkt på ett annat paket som heter libasound2-dev. Du måste installera libasound2-dev paketet först och därefter kan du installera simpleaudio paket.

Installation:

Kör följande kommando för att installera paketen:

$ sudo apt-get install libasound2-dev
$ pip3 installera simpleeaudio

Exempel: Spela wav-fil med simpleaudio

I följande skript tas alla wav-filnamn som ingång. Om filen finns kommer skriptet att spela upp ljudfilen. I annat fall visar skriptet ett felmeddelande.

#!/ usr / bin / env python3
# Importera enkel ljudmodul
importera simpleaudio som sa
# Ange ett befintligt wav-filnamn
wavFile = input ("Ange ett wav-filnamn:")
 
# Spela upp ljudet om wav-filen finns
Prova:
# Definiera objekt att spela
w_object = sa.WaveObject.from_wave_file (wavFile)
# Definiera objekt för att styra spelet
p_object = w_object.spela()
skriva ut ("Ljud spelas upp ...")
p_object.wait_done ()
tryck ("Färdig.")
# Skriv ut felmeddelande om filen inte finns
utom FileNotFoundError:
skriva ut ("Wav-filen finns inte")

Produktion:

Ljudfilen spelas upp och följande utgång visas efter uppspelning av ljudet:

Slutsats

De grundläggande användningarna av fyra Python-moduler för att spela ljud förklaras i denna handledning med hjälp av ett antal exempel. Ljuduppgiften visas endast i denna handledning, men du kan spela in, redigera och olika ljudrelaterade uppgifter med hjälp av Python-skript.

SuperTuxKart för Linux
SuperTuxKart är en fantastisk titel som är utformad för att ge dig Mario Kart-upplevelsen gratis på ditt Linux-system. Det är ganska utmanande och rol...
Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...
0 A.D. Handledning
Av de många strategispelen där ute, 0 A.D. lyckas framstå som en omfattande titel och ett mycket djupt, taktiskt spel trots att det är öppen källkod. ...